こんにちは。
大きなビデオファイルがあります。ffmpeg
、tcprobe
および他のツールによると、これは AVI コンテナー内の h264 ストリームです。
ここで、ビデオから小さなチャンクを切り取りたいと思います。
問題: ビデオ シームのインデックスが破損または破壊されました。を介してこれを修正し
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
たが、ビデオは修正されませんでした。つまり、テストしたほとんどのツールでビデオ ファイルを検索できませんでした。問題: 次のコマンドでビデオの一部を切り取ってしまいました:
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
. ここでの問題は、一部のビデオが最初に破損していることです。これは、必ずしもキーフレームでカットするとは限らないためだと思います。
質問:
avi「インライン」のインデックスを修正して、すべてのツールが期待どおりに機能するようにする最良の方法は何ですか?
キーフレームで分割するにはどうすればよいですか? これにはmencoder-optionがありますか?
キーフレームは一定の頻度で提供されますか? この周波数を調べる方法は?(少し数学を使えば、次のキーフレームを計算してそこでカットできるはずです)
この映画を分割するまったく別の方法はありますか? 手でそれを行うことはオプションではありません.1000以上のチャンクを切り取る必要があります...
どうもありがとう!