如何使用ffmpeg重新编码(限制为x264)

时间:2012-05-25 14:59:14

标签: ffmpeg fedora x264 re-encoding

到目前为止,我使用这个脚本重新编码我的盒子(电视解码器):

^_^ ( ~ ) -> cat ~/++/src/convert.sh 
#! /bin/bash

name=$(path -r "$1") # it gives the file name without the extension

[ "$1" = *.mp4 ] && ffmpeg -i "$name".mp4 -vcodec copy -acodec copy "$name".mkv
x264 --preset veryfast --tune animation --crf 18 --vf resize:720,576,16:15 -o "$name".tmp.mkv "$name".mkv
mkvmerge -o "$name [freeplayer sd]".mkv "$name".tmp.mkv --no-video "$1"
rm -rf "$name".tmp.mkv
[ "$1" = *.mp4 ] && rm -rf "$name".mkv
exit 0

#EOF

适用于我的ubuntu和archlinux笔记本电脑。但它并没有在我的桌面上运行fedora。 谷歌称,由rpmfusion支持的x264软件包并不支持lavf和ffms2。 而且我无法解除它,因为smplayer(我喜欢的女巫)需要它。

好的,所以我必须编译它。谷歌然后说“你必须建立ffmpeg,ffms2 tnen x264,以确保正确引用标志。”好吧,没有用(ffms2找不到LIBAV - 即使我在告诉哪里 - 而且x264没有用lavf配置......)

我的问题是:我可以单独使用ffmpeg来执行我的脚本所做的事情。 我有ffmpeg版本0.8.11,x264 0.116.2048 59cb2eb和gcc:4.6.1 20110804(Red Hat 4.6.1-7)

编辑:好的,我发现:ffmpeg -i输入文件-acodec copy -vcodec libx264 -preset veryfast -tune animation [我没有的部分]输出

1 个答案:

答案 0 :(得分:1)

我自己找到了。

ffmpeg -i input -s 720x576 -aspect 4:3 -vcodec libx264 -preset veryfast -tune animation -crf 18 -acodec copy -scodec copy output

我的脚本变为:

#! /bin/bash
#
name=$(path -r "$1") # it gives the file name without the extension

ffmpeg -i "$1" -s 720x576 -aspect 4:3 -vcodec libx264 -preset veryfast -tune animation -crf 18 -acodec copy -scodec copy "$name".tmp.mkv
mkvmerge -o "$name [freeplayer sd]".mkv "$name".tmp.mkv --no-video "$1"
rm -rf "$name".tmp.mkv
exit 0
#
#EOF

它现在适用于任何容器!您可以更改曲调并删除“-scodec copy”部分,如果您将其用于除动画之外的其他内容(它将以任何方式工作)。你可能还会注意到我的电视比例为4:3。这也可能会改变。

见你。