0

これまで、このスクリプトを使用して、ボックス (テレビ デコーダー) のリップを再エンコードしました。

^_^ ( ~ ) -> 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を実行しているわけではありません。Google によると、rpmfusion から出荷された x264 パッケージは lavf と ffms2 をサポートしていません。そして、smplayer(私が好きな魔女)が必要とするため、アンインストールできません。

わかりましたので、コンパイルする必要があります。次に、Google は、「フラグが正しく参照されるように、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 コピー -vcodec libx264 -非常に高速にプリセット -アニメーションを調整 [私が持っていない部分] 出力

4

1 に答える 1

1

I found it myself.

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

My script becomes:

#! /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

And it now works with any container! you may change the tune and delete the "-scodec copy" part if you use it for other things than animation (well it will work either ways). you may also note that my tv is a pal 4:3 ratio one. That may change too.

See ya.

于 2012-05-25T23:40:23.377 に答える