Обновить

Комментарии 7

Для ещё большего ускорения можно, наверно, попытаться использовать возможности видеокарты, например, для GeForce так можно узнать возможные параметры: ffmpeg.exe -h encoder=h264_nvenc Я применяю вот такие обычно: -acodec aac -ab 128K -filter:v fps=25 -c:v h264_nvenc -rc:v vbr -qmin:v 10 -qmax:v 28 -preset p4 -tune hq -cq 18 -b:v 2000k -maxrate:v 5000k -bf:v 4 -rc-lookahead 5 Или для h265: -acodec aac -ab 128K -filter:v fps=25 -c:v hevc_nvenc -rc:v vbr -qmin:v 10 -qmax:v 28 -preset p4 -tune hq -cq 18 -b:v 1600k -maxrate:v 4000k -rc-lookahead 5 На современных чипах с Intel якобы тоже можно использовать графическое ускорение встроенной видеокарты, у меня старый процессор и вот такое включение не работает: -init_hw_device d3d11va=intel:1 Не утверждаю, что использую лучшие для какой-то цели настройки, привёл для примера.

Извиняюсь если не прав, но очень смахивает на генерацию текста, поскольку это выглядит как очередной мануал по пользованию ffmpeg.

Я давеча окунулся в эту кроличью нору и должен сказать, что она куда глубже и вонючее, чем кажется на первый взгляд, и чем выглядит в заметке. Начиная с того, что борешься не только с многообразием ключей самого ffmpeg, но еще и плейером и графическим бэкэндом ОС.

предположим, что вы записываете экрах через gamebar, который может вести запись до 4х часов, но особо не жмет. И для будущего архива получасовую запись звонка хочется уменьшить.

Создаём простой .bat файл такого вида

@echo off
@mkdir new
@mkdir old
@ffprobe -i %1 -show_entries format=duration -v quiet -of csv="p=0" -sexagesimal
@ffmpeg   -v quiet -stats -i %1  -vf  "scale=-1:'min(1080,ih)'"  -c:v libx264    %1.1080.mkv

@move %1 old\
@move %1.1080.mkv new\

Скрипт покажет длительность видео в привычных часах-минутах, и в процессе масштабирования (если у вас экран 1920x1200 замените 1080 на 1200, чтобы жало шрифты в вашем скринкате более читаемо) будет показывать скорость кодирования.

Запускать в каталоге с файлом 1080.bat имя файла.

Новый вариант в new. исходник в old.

Спасибо за статью, всё изложено понятно и по делу. Пример с реальным уменьшением размера видео особенно полезен — сразу видно, что FFmpeg действительно решает задачу.

Чтобы не тыкаться в многообразие ключей ффпега лучше HandBrake или аналоги юзать, быстрее все сделать можно будет и без заучивания ключей

Если под виндой, то можно и staxrip заюзать, намного больше можно докрутить :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации