Команды для проведения транскодинга видео-файлов при помощи ffmpeg.
Транскодинг на процессоре
ffmpeg -i i.mkv -map 0 -c:v libx264 -crf 18 -c:a aac -ac 2 -b:a 128k -c:s copy o.mkv-map 0- маппинг всех каналов видео-контейнера (видео/аудио/субтитры) в процесс транскодинга-c:{v,a,s}- указание кодека для видео/аудио/субтитров-c:v libx264- транскодирование видео в кодек h264-c:s copy- пропуск транскодинга субтитров-ac 2- кодирование с использованием двух звуковых каналов (стерео)-b:a 128k- общий битрейт аудио 128k
Транскодинг на GPU (VA-API)
VA-API транскодинг доступен видеокартам Intel и AMD.
ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device /dev/dri/renderD128 -i i.mkv -map 0 -vf 'scale_vaapi=w=-1:h=-1:format=nv12' -c:v h264_vaapi -crf 18 -c:a aac -ac 2 -b:a 128k -c:s copy o.mkv- параметры
-hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device /dev/dri/renderD128нужны для указания аппаратного ускорения кодирования - при кодировании с использованием VA-API в H264 параметру передается кодек
h264_vaapi