-
Notifications
You must be signed in to change notification settings - Fork 0
ffmpeg
The purpose of this page is to explain the general use of using Fffmpeg as a HandBrake alternative for video transcoding as it has better support for Hardware Acceleration especially for QSV.
Note: You will have to install drivers and prerequisites for some Hardware Acceleration, and ensure that your GPU/iGPU supports encode of the relevent codec
Set to true to use ffmpeg instead of Handbreak Default value is False
These are arguments that will be passed in before the -i "file_name" use them to control things like:
These are arguments that will be passed in after the -i "file_name" and before the output file, use them to control things like:
- subtitle/audio tracks to include in the final output file
- encoded format of the final output file
Use ffmpeg -h for a full list of arguments but some common ones used are:
-
-cthis is used to select the codec of the output file's audio, video or subtitles (or data), useffmpeg -encodersto get a full list of options-
-c:vused to choose the codec of the output file video, some commonly used optons are:- CPU-Only:
libx265,libx264,libsvtav1(SVT) - Nvidia Nvenc Encoder:
h264_nvenc,hevc_nvenc,av1_nvenc - AMD AMF Encoder:
h264_amf,hevc_amf,av1_amf - Intel Quicksync Encoder:
h264_qsv,hevc_qsv,av1_qsv
- CPU-Only:
-
-c:aused to used to choose the codec of the output file audio usecopyto copy it from the source file, -
-c:sused to used to choose the codec of the output file subtitles usecopyto copy it from the source file,
-
-
-mapthis is used to define what tracks are included in the output file, either audio, video or subtitles (or data), it works numerically in the format: "-map input_file_index:track_type:track_index" but can also be handled via metadata using anmin place oftrack_index, Note: the first parameter defines the file used, this is primarily if you were processing more then one file at once but it should always be set to0as ARM transcodes files one at a time-
-map 0:amaps all audio tracks from the source to the destination -
-map 0:a:m:language:engwill map all audio tracks of a certain language (English demonstrated here) -
-map 0:a:0maps just the first audio track, if you want specific numeric audio tracks you can use more then one statement -
-map 0:smaps all subtitle tracks from the source to the destination -
-map 0:s:m:language:engwill map all subtitle tracks of a certain language (English demonstrated here)
-
Specifies the command used to call FFmpeg.
Specifies the path to the FFmpeg binary.
This can be the same as FFMPEG_CLI.
See HANDBRAKE_LOCAL for more details.
Getting Started
-
Docker
-
Manual Install
- See Alternate Installations
-
Automatic script install
Web Page Overview
Configuration
-
Configuration Files
-
Alternate Installations
- Ubuntu
-
Ubuntu 20.04 (install script)(Run the Debian script) - Ubuntu 25.04
- Debian
- Open Media Vault
- TrueNAS
- macOS with UTM (Docker)
Hardware Configuration
Troubleshooting
ARM Status
Contributing to ARM
How ARM Works