Как создать видеофайл MPEG2 с максимально возможным качеством с помощью FFMPEG?
У меня есть файл WMV (v9 (WMV3), 960x720, 30.000030 кадров в секунду, плоский 4:2:0 YUV, созданный PowerPoint 2010), и мне нужно преобразовать его в MPEG2 - единственный формат, который мой телевизор может считывать с USB-накопителя (я также пробовал MP4/h.264, AVI/XVID - ничего, кроме MPEG2, не работает).
Я справился с работой с помощью простого
ffmpeg -i "in.wmv" -c:v mpeg2video "out.mpg"
Но качество результата ужасное (вводятся четко видимые визуальные искажения), и воспроизведение не является плавным (слишком медленный в некоторые моменты).
Я также пробовал
ffmpeg -i "in.wmv" -c:v mpeg2video -pix_fmt yuv420p -me_method epzs -threads 4 -r 30.000030 -g 45 -bf 2 -trellis 2 -cmp 2 -subcmp 2 -s 960x720 -b 2500k -bt 300k -async 1 -y "out.mpg"
(Я нашел это где-то в Интернете и немного изменил - изменил разрешение, частоту обновления и формат вывода (от VOB до простого MPG)) успешно, но качество все еще слишком плохое.
Какие параметры я должен использовать, чтобы сохранить как можно больше качества? Степень сжатия не имеет никакого значения, даже увеличение размера файла допустимо.
Другая вещь, которая мне действительно нужна (я выбрал не включить его в название вопроса, чтобы не делать его слишком конкретным, но я был бы признателен, если бы это было учтено в ответах) - это добавление чистой тишины в качестве звуковой дорожки - в оригинале нет звука, но телевизор жалуется на это, и я хотел бы избавиться от этой жалобы. Я сгенерировал файл silence OGG Vorbis одинаковой длины (с точностью до секунды), используя Audacity, но мне не удается объединить его с видео:
ffmpeg -i in.mpg -i silence.ogg -c:v copy -c:a libmp3lame out.mpg
И даже голый
ffmpeg -i in.mpg -c:v copy -out.mpg
Дает "недостаточный поток буфера" и "пакет слишком большие" ошибки. (в.mpg - это файлы, созданные одним и тем же двоичным файлом FFMPEG и одним и тем же исходным файлом WMV с использованием первых двух команд в вопросе).
Я использую сборку Zeranoe FFMPEG в Windows 7.