web-dev-qa-db-ja.com

フォルダー内のファイルの合計ビデオ長を計算する

フォルダー内のビデオ/オーディオファイルのプロパティから合計で何分間のコンテンツが存在するかを計算することは可能でしょうか?ファイルの数とそのサイズはnautilusで、またはCLIを介して計算されます。助言がありますか?

1
gaba

mediainfoの場合:

mediainfo '--Output=Video;%Duration%\n' *.mp4 | awk { sum += $1 } END { secs=sum/1000; h=int(secs/3600);m=int((secs-h*3600)/60);s=int(secs-h*3600-m*60); printf("%02d:%02d:%02d\n",h,m,s) }'
  • mediainfoの呼び出しは、各ファイルのミリ秒単位のビデオ時間を返します
  • awkビットは合計を計算し、HH:MM:SS形式でフォーマットします。
2
xenoid

すばやくグラフィカルに表示するには、いくつかのフォルダーをVLCプレイリストにドラッグします。プレイリスト内の各ムービーの長さ、およびサイドバーの「プレイリスト」の下の左上隅にあるすべてのファイルの合計の長さを取得します。

これをいくつかのフォルダで自動化する必要がある場合、スクリプトを作成する必要があります。この場合、各ビデオファイルのメタデータを読み取って所要時間を取得する必要があります。 ffmpegツールの一部であるユーティリティffprobeには、出力の一部として「Duration」が含まれており、明らかに幅広いフォーマットをサポートしています。

1
vanadium