3

こんにちは。

大きなビデオファイルがあります。ffmpegtcprobeおよび他のツールによると、これは AVI コンテナー内の h264 ストリームです。

ここで、ビデオから小さなチャンクを切り取りたいと思います。

  1. 問題: ビデオ シームのインデックスが破損または破壊されました。を介してこれを修正しmplayer -forceidx -saveidx <IndexFile> <BigVideoFile>ました。ここでの問題は、.mplayer/mencoder を介してこのインデックス ファイルを使用できるようになったことです-loadidx <IndexFile>man aviindex( ) で説明されているようにインデックスを修正しようとしましmplayer -frames 0 -saveidx mpidx broken.avi ; aviindex -i mpidx -o tcindex ; avimerge -x tcindex -i broken.avi -o fixed.aviたが、ビデオは修正されませんでした。つまり、テストしたほとんどのツールでビデオ ファイルを検索できませんでした。

  2. 問題: 次のコマンドでビデオの一部を切り取ってしまいました: mencoder -loadidx in.idx -ss 8578 -endpos 20 -oac faac -ovc x264 -sws 9 -lavfopts format=mp4 -x264encopts <LotsOfOpts> -of lavf -vf scale=800:-10,harddup in.avi -o out.mp4. ここでの問題は、一部のビデオが最初に破損していることです。これは、必ずしもキーフレームでカットするとは限らないためだと思います。

質問:

  1. avi「インライン」のインデックスを修正して、すべてのツールが期待どおりに機能するようにする最良の方法は何ですか?

  2. キーフレームで分割するにはどうすればよいですか? これにはmencoder-optionがありますか?

  3. キーフレームは一定の頻度で提供されますか? この周波数を調べる方法は?(少し数学を使えば、次のキーフレームを計算してそこでカットできるはずです)

  4. この映画を分割するまったく別の方法はありますか? 手でそれを行うことはオプションではありません.1000以上のチャンクを切り取る必要があります...

どうもありがとう!

4

2 に答える 2

1

https://spreadsheets.google.com/ccc?key=0AjWmZ0umsuZHdHNzZVhuMTkxTHdYbUdCQzF3cE51Snc&hl=enには、正確に分割するために使用できるさまざまなオプションがリストされています。

于 2011-01-19T19:38:14.620 に答える
0

何かを行う前に、 avidemuxを使用してファイルを修復しようとします。AVI よりも MP4 ベースのコンテナを使用した方が良い結果が得られる場合もあります。

指定した間隔がキーフレームで正しいことを確認するには、以下の分割を使用する前に、: オプションを使用して FFMPEG でエンコードし、-g 1すべてのフレームが実際にキーフレームであることを確認することをお勧めします。FFMPEG は、代わりにキーフレームを GOP または Group of Pictures と呼びます。

ffmpeg -i input.avi -g 1 -vcodec copy -acodec copy out.avi

次に、複数の分割 (FFMPEG を使用):

ffmpeg -i input.avi -ss 00:00:10 -t 00:00:30 out1.avi -ss 00:00:35 -t 00:00:30 out2.avi

試してみるいくつかのオプション:

Linuxでのx264マッピングFFMPEGエンコーディング

于 2010-06-15T00:29:47.560 に答える