web-dev-qa-db-ja.com

ffmpegでビデオファイルを同等のセグメントに分割する

Linuxボックスにffmpegをインストールしました。私はそれを使用してファイルを同等のセグメントに分割しています。これまでのところ、2つのアプローチをテストしました。1。ファイルdurationffprobeを取得するbashスクリプトを作成し、数式を実行してファイルを等しいセグメントに分割します。2.segment_timeを使用してffmpegから直接実行します。最初の方法は、セグメントを同等のサイズに分割する際にほとんどの部分(一部のセグメントでは1秒または2秒オフ)で一貫していますが、セグメントでフレーム損失が発生し、非常に低速です。 2番目の方法は、外部の継続時間の計算を行わずにffmpegを直接実行しているため、ビデオファイルを分割するのに最も速い方法です。 ffmpegで厳密に同等のセグメントサイズを取得するにはどうすればよいですか?

ffmpeg -i input.mp4 -c copy -map 0 -segment_time 10 -f segment output%03d.mp4
2
Code_Ed_Student

速度に対する欲求に違反する可能性のあるすべてのmp4を再エンコードしたい場合を除いて、一般的なケースではこれを行うことはできません。

セグメンターは、スピードを上げ、他の人々の仕事を活用するための最良のオプションである可能性があります。

注:ビデオを手動で分割したい場合は、望ましいタイムスタンプを見つけるだけでなく、はるかに多くのジャグリングを行う必要があります。

編集:再エンコードに問題がない場合は、yuvに変換してから、セグメンターを使用します。これにより、ビデオ品質が低下し、サウンドが処理されなくなります。

1
dstob