Быстрое перекодирование видео (ffmpeg+CUDA)

Оцените материал
(42 голосов)

Для перекодирования видеофайлов в наиболее популярные форматы можно использовать ресурсы, встроенные в современные видеокарты (CUDA).

В данной статье пойдёт речь об использовании видеокарт производства компании NVIDIA. Кодирование каких форматов поддерживают разные модели данных видеокарт можно узнать на сайте производителя.

Наиболее простым вариантом использования видеокарты будет работа с приложение ffmpeg (через командрую строку).

Скасчать программу можно с официального сайта проекта ffmpeg.

Примеры использования.

h265/HEVC 10-bit используя GPU:

ffmpeg -i "input.mkv" -pix_fmt p010le -c:v hevc_nvenc -preset slow "output.mkv"

h264 8-bit используя GPU:

ffmpeg -i "input.mkv" -c:v h264_nvenc -preset slow "output.mkv"

Допорлнитель номжно выполнить обрезку видео добавив парметр -filter:v "crop=1440:1080:240:0"

В данном примере crop=ширина:высота:отступ справа:отступ сверху

 Так же можно изменить разрешение выходного видео параметром -filter:v "scale=720:544"

Если требуется одновременно выполнить обрезку видео и изменить его разрешение, то папаметр будет выглядеть так: -filter:v "crop=1440:1080:240:0,scale=720:544"

Чтобы убрать черезстрочную гребёнку (интерлейс) нужно добавитьт параметр -deinterlace

 Параметры битрейда можно задать параметром -rc vbr_hq -b:v 5M -maxrate:v 10M

Пример пакетной обработки файлов:

Для данного варианту нужно положить все видео файлы и файл программы ffmpeg.exe в одну папку.

Затем нужно создать файл с расширением .bat и следующим содержимым

for %%a in ("*.avi") do ffmpeg.exe -i "%%a" -c:v h264_nvenc -preset slow "%%~na.mp4"

В содержимом нужно указать требуемые входные и выходные форматы и другие, требуемые параметры.

Пакетная обработка запускается данным файлом .bat

Дополнительно:

-an (кодировать без аудио)

-c:a ac3 (кодировать аудиопоток в формат ac3)

-ac 2 (выходной аудио поток в формате stereo)

-ss 00:00:45 (начальный тайминг кодирования)

-t 40 (продолжительность кодированного ролика)

-s 640x480 (разрешение выходного файла)

ffmpeg -i video.mp4 -i image.png -map 1 -map 0 -c copy -disposition:0 attached_pic out.mp4 (добавить постер в видео)


 Для Графических карт производства Intel нужно использовать кодеки h264_qsv и hevc_qsv (соответственно), а для карт AMD h264_amf и hevc_amf

Другие материалы в этой категории: « Загрузочный CD диск FreeDOS 1.1
Добавить комментарий


Яндекс.Метрика

По всем вопросам, связанным с сайтом просьба обращаться на e-mail: pontin@mail.ru