我有WMV(v9(WMV3),960x720、30.000030 fps,平面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"
(我已经在Internet上的某个地方找到了此文件,并进行了一些修改-成功更改了组件,刷新率和输出格式(从VOB到裸MPG)),但是质量仍然很差。
我必须使用什么参数来保存尽可能多的质量?压缩率根本不重要,即使文件大小增加也是可以接受的。
我实际上需要的另一件事(我选择不将其包含在问题标题中,以避免过于具体,但我希望您在回答中考虑到它)将纯净的静音添加为音轨-声音中没有声音原始,但电视机对此有所抱怨,我想摆脱这种抱怨。我已经使用Audacity生成了一个等长(精确到秒)的静音OGG Vorbis文件,但是我无法将其与视频合并:
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文件生成的文件)。
我正在Windows 7上使用Zeranoe FFMPEG构建。
Philips 42PFL3606H/58
,我正在使用H.264进行编码ffmpeg -i "in.wmv" -sws_flags lanczos+accurate_rnd -c:v libx264 -crf 20 -preset slow -profile:v baseline -level 3.0 -pix_fmt yuv420p -tune fastdecode -x264-params keyint=240:min-keyint=20 "out.mp4"
-配置文件是我所知道的最低配置文件,并且甚至进行了更多调整以使播放结果文件更容易。