ffmpeg のトリミングされたビデオは時間位置へのジャンプをサポートしていません

ffmpeg のトリミングされたビデオは時間位置へのジャンプをサポートしていません

ビデオがカットされる、プレーヤー (mplayer) は特定の時間位置にジャンプできなくなりました。タイムラインをクリックすると、通常は再生が終了します。これを修正するにはどうすればよいでしょうか?

答え1

トリミングされたビデオの AVI インデックスが壊れている可能性があります。AVIidx1ファイル形式のタグはデータ チャンクの場所を識別するため、インデックスが欠落していると、プレーヤーは特定のタイムスタンプでデータ チャンクをどこで探すべきかわかりません。

-c:v copyリンクされた質問では、FFmpeg のオプションを使用して生のビットストリームがどこかで切り取られているため、これはある程度予想されたことです。

インデックスを修正するFFmpegコマンドは知りませんが、mencoder 持つべき

-forceidx

インデックスの再構築を強制します。インデックスが壊れているファイル (A/V の同期がずれているなど) に便利です。これにより、シークできなかったファイルでもシークできるようになります。

ダウンロードするとこの非公式のmencoderビルドからStef Pause のブログ、AVI を修正してみてください。

cd ~/Downloads
unzip mencoder.zip
chmod +x mencoder
mv mencoder /usr/local/bin/

次に、次のように入力します。

mencoder -forceidx input.avi -o output.avi -oac copy -ovc copy

これにより、AVI ファイルのインデックスが再作成されます。うまくいかない場合は、トリミング後に元のビデオを再エンコードしたほうがよいでしょう。

関連情報