我喜欢mencoder
转换视频文件,因为它显示了转换结束还剩多少时间(与 相反ffmpeg
)。
mencoder file.wmv -ofps 23.976 -ovc lavc -oac copy -o file.avi
问题是生成的文件与输入文件的质量不同。有了ffmpeg
就有sameq
选择。是否有类似的选择可以mencoder
达到相同的质量?
这只是我的感觉还是当我达到相同的质量时,mencoder 比 ffmpeg 更快?
谢谢
答案1
好吧,首先要做的事情是……
ffmpeg 的 Sameq 选项并不意味着相同的质量,并且在许多情况下不会执行任何相关操作。
这是来自 ffmpeg 手册页:
-sameq
Use same quantizer as source (implies VBR).
这实际上来自 ffmpeg 在线文档
‘-same_quant’
Use same quantizer as source (implies VBR).
Note that this is NOT SAME QUALITY. Do not use this option unless you know you need it.
你可以在这里查看http://ffmpeg.org/ffmpeg.html,搜索same_quant(与sameq相同)。
好吧,现在已经不碍事了
我不知道你到底想通过转换实现什么目标,但有两种可能性,我将列举并尝试提供帮助:
你只是想改变容器而不是视频的编解码器。容器是一些数据,用于告诉尝试播放视频的软件如何组织内容,它包含有关 FPS、视频编解码器、音频编解码器以及数据存储方式的信息。如果您的视频是水,则容器可以是玻璃瓶、卡通瓶或塑料瓶。在这种情况下,容器是 wmv、avi、mp4、mov 等。容器很重要,因为并非所有容器都支持所有编解码器,也不是所有软件都支持所有容器。请记住,您仍然可以正确获取容器,但如果内部视频的编解码器错误,您仍然不走运。因此,如果您只想更改容器,可以使用:
mencoder file.wmv -ofps 23.976 -ovc copy -oac copy -o file.avi
你正在尝试改变编解码器。编解码器是实际上说明视频编码方式的算法或规范集,不同的编解码器具有不同的质量输出、大小、参数等。现在事情变得有点棘手,在更改容器时,您实际上可以复制视频而不是复制视频。失去任何质量(因为你只改变了容器)当改变编解码器时,你肯定会失去一些质量,但大多数时候,如果两个编解码器都很好并且配置了正确的参数,那么在一次转换后你不会注意到太多(这是固有的)编解码器压缩视频的方式)。
我只能猜测 ffmpeg 和 mencoder 之间的质量不同,但必须发生以下两件事之一:
- 您只需要更改容器,ffmpeg 就会检测到这一点并仅复制视频。 (如果是这种情况,请在 mencoder 上使用 -ovc copy)
您需要更改编解码器,并且 ffmpeg 正在选择更好的编解码器/参数来重新压缩视频。在这种情况下,尝试检查 ffmpeg 正在使用的编解码器(如果您不能将它们发布在这里,我会看一下)或尝试使用 mencoder 使用不同的代码(现在您没有指定任何内容),例如:
mencoder file.wmv -ofps 23.976 -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o file.avi
这将使用 ISO 标准 MPEG-4(DivX 5、XVID 兼容),当然您可能仍然需要更改重新转换所使用的比特率,查看源比特率将是一个很好的指标。
mencoder还支持很多不同的库,有些是多编解码器,例如lavc,其他则不是,请尝试
mencoder -ovc help
要获取支持的编解码器列表,在我的中我得到了:
MEncoder SVN-r33094-4.5.3 (C) 2000-2011 MPlayer Team
Available codecs:
copy - frame copy, without re-encoding. Doesn't work with filters.
frameno - special audio-only file for 3-pass encoding, see DOCS.
raw - uncompressed video. Use fourcc option to set format explicitly.
nuv - nuppel video
lavc - libavcodec codecs - best quality!
libdv - DV encoding with libdv v0.9.5
xvid - XviD encoding
x264 - H.264 encoding
所以我可以这样做:
mencoder file.wmv -ofps 23.976 -ovc xvid -oac copy -o file.avi
或者
mencoder file.wmv -ofps 23.976 -ovc x264 -oac copy -o file.avi
对于较小的文件大小和较长的压缩时间
答案2
我认为你没有回答他的问题,特别是在谈到 ffmpeg 时。
这将使 mencoder 生成一个漂亮的 divx 编码,其比特率、质量和文件大小与源大致相同。
n=文件名=脚本的位置参数
您可以将其用作Nautilus脚本,右键单击文件图标进行转换。您可以根据自己的喜好调整输出参数。
#!/bin/bash -x
if [ ! -t 1 ]; then gnome-terminal -x "$0" "$@"; exit; fi
n="$@"
bitrate=`mediainfo --Inform="Video;%BitRate%" "$n"`<br>
nice mencoder -ovc xvid -xvidencopts max_key_interval=50:bitrate=$bitrate -mc 0 -vf harddup -oac mp3lame -lameopts cbr:aq=0:br=64 -o "${n%.*}.new.avi" "$n"