Ubuntu – Использование FFmpeg и x264
Самый простой способ получения высококачественного видео - использовать при кодировании предустановки libx264 которые идут вместе с FFmpeg.
Перед использованием этих настроек рекомендую прочитать инструкцию по кодированию FFmpeg и x264 (на английском) дабы иметь более чёткое представление об используемых опциях. Вы можете добавлять свои опции такие как разрешение фрэйма (например: -s 640x480) или модифицировать мои примеры для своих нужд. Текущий список различный предустановок, например losless и ipod, можно посмотреть в директории /usr/share/ffmpeg.
One-pass CRF (Один проход Постоянный битрейт) используя настройку для HQ (высокого качества). Неплохо для общего кодирования. Для изменения качества модифицируйте -crf. Чем меньше число тем выше качество и тем больше размер итогового файла. Разумный интервал от 18 до 28.
ffmpeg -i input.avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -crf 22 -threads 0 output.mp4
Two-Pass encode (Кодирование в два прохода) использует быстрый первый проход и HQ настройку. Данный метод используется когда важен конечный битрейт и/или конечный размер файла. Часто используется для мобильных устройств таких как iPod из-за некоторых ограничений по битрейту у него.
ffmpeg -y -i input.avi -pass 1 -vcodec libx264 -vpre fastfirstpass -b 512k -bt 512k -threads 0 -f mp4 -an /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -b 512k -bt 512k -threads 0 -f mp4 output.mp4
Two-pass iPod 640x480 используя быстрый первый проход, HQ и ipod640 настройки.
ffmpeg -i input.avi -pass 1 -an -vcodec libx264 -vpre fastfirstpass -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 -f rawvideo -y /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 output.mp4