2012-05-25 77 views
0

重新编码到现在为止我用这个脚本来重新编码我撕裂我的盒(TV解码器):如何与ffmpeg的(有限X264)

^_^ (~) -> 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和x264确保标志被正确引用。”那么,没有工作(ffms2无法找到LIBAV - 即使当我告诉在哪里 - 并且x264没有配置lavf ...)

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

编辑:好吧,我发现:ffmpeg -i输入文件-acodec副本-vcodec libx264 -preset非常快 - 调谐动画[我没有那部分]输出

回答

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的比例。这可能也会改变。

看到你。