Skip to main content

FFmpeg presets

Some presets of FFmpeg args are provided by default to make the configuration easier. All presets can be seen in this file.

Hwaccel Presets

It is highly recommended to use hwaccel presets in the config. These presets not only replace the longer args, but they also give Frigate hints of what hardware is available and allows Frigate to make other optimizations using the GPU such as when encoding the birdseye restream or when scaling a stream that has a size different than the native stream size.

See the hwaccel docs for more info on how to setup hwaccel for your GPU / iGPU.

PresetUsageOther Notes
preset-rpi-64-h26464 bit Rpi with h264 stream
preset-rpi-64-h26564 bit Rpi with h265 stream
preset-vaapiIntel & AMD VAAPICheck hwaccel docs to ensure correct driver is chosen
preset-intel-qsv-h264Intel QSV with h264 streamIf issues occur recommend using vaapi preset instead
preset-intel-qsv-h265Intel QSV with h265 streamIf issues occur recommend using vaapi preset instead
preset-nvidiaNvidia GPU
preset-jetson-h264Nvidia Jetson with h264 stream
preset-jetson-h265Nvidia Jetson with h265 stream
preset-rk-h264Rockchip MPP with h264 streamUse image with *-rk suffix and privileged mode
preset-rk-h265Rockchip MPP with h265 streamUse image with *-rk suffix and privileged mode

Input Args Presets

Input args presets help make the config more readable and handle use cases for different types of streams to ensure maximum compatibility.

See the camera specific docs for more info on non-standard cameras and recommendations for using them in Frigate.

PresetUsageOther Notes
preset-http-jpeg-genericHTTP Live JpegRecommend restreaming live jpeg instead
preset-http-mjpeg-genericHTTP Mjpeg StreamRecommend restreaming mjpeg stream instead
preset-http-reolinkReolink HTTP-FLV StreamOnly for reolink http, not when restreaming as rtsp
preset-rtmp-genericRTMP Stream
preset-rtsp-genericRTSP StreamThis is the default when nothing is specified
preset-rtsp-restreamRTSP Stream from restreamUse for rtsp restream as source for frigate
preset-rtsp-restream-low-latencyRTSP Stream from restreamUse for rtsp restream as source for frigate to lower latency, may cause issues with some cameras
preset-rtsp-udpRTSP Stream via UDPUse when camera is UDP only
preset-rtsp-blue-irisBlue Iris RTSP StreamUse when consuming a stream from Blue Iris
warning

It is important to be mindful of input args when using restream because you can have a mix of protocols. http and rtmp presets cannot be used with rtsp streams. For example, when using a reolink cam with the rtsp restream as a source for record the preset-http-reolink will cause a crash. In this case presets will need to be set at the stream level. See the example below.

go2rtc:
streams:
reolink_cam: http://192.168.0.139/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=password

cameras:
reolink_cam:
ffmpeg:
inputs:
- path: http://192.168.0.139/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=password
input_args: preset-http-reolink
roles:
- detect
- path: rtsp://127.0.0.1:8554/reolink_cam
input_args: preset-rtsp-generic
roles:
- record

Output Args Presets

Output args presets help make the config more readable and handle use cases for different types of streams to ensure consistent recordings.

PresetUsageOther Notes
preset-record-genericRecord WITHOUT audioThis is the default when nothing is specified
preset-record-generic-audio-copyRecord WITH original audioUse this to enable audio in recordings
preset-record-generic-audio-aacRecord WITH transcoded aac audioUse this to transcode to aac audio. If your source is already aac, use preset-record-generic-audio-copy instead to avoid re-encoding
preset-record-mjpegRecord an mjpeg streamRecommend restreaming mjpeg stream instead
preset-record-jpegRecord live jpegRecommend restreaming live jpeg instead
preset-record-ubiquitiRecord ubiquiti stream with audioRecordings with ubiquiti non-standard audio