У меня есть файл 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)), но качество все еще слишком плохое.
Какие параметры я должен использовать, чтобы сохранить как можно больше качества? Степень сжатия вообще не имеет значения, даже увеличение размера файла допустимо.
Еще одна вещь, которая мне действительно нужна (я решил не включать ее в заголовок вопроса, чтобы не сделать ее слишком конкретной, но я был бы признателен за то, что это было учтено в ответах), добавляет чистую тишину в качестве звуковой дорожки - в Оригинальный, но телевизор жалуется на это, и я хотел бы избавиться от этой жалобы. Я создал файл молчания 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
выдает ошибки "переполнение буфера" и "слишком большой пакет". (in.mpg - это файлы, созданные одним и тем же двоичным файлом FFMPEG и одним и тем же исходным WMV-файлом с использованием первых двух рассматриваемых команд).
Я использую Zeranoe FFMPEG на Windows 7.