10

ビデオ ファイルの長さをミリ秒単位、つまり整数で決定論的に知るにはどうすればよいですか。ffprobe を使用して期間を取得しましたが、すべてのファイル形式の期間が得られるわけではありません。

4

4 に答える 4

26

次のコマンドを使用します。

i) ビデオ ストリームの長さを取得するには:

$ mediainfo --Inform="Video;%Duration%"  [inputfile]

ii) メディア ファイルの長さを取得するには:

$ mediainfo --Inform="General;%Duration%" [inputfile]

iii) オーディオ ストリームのデュレーションのみを取得するには:

$ mediainfo --Inform="Audio;%Duration%" [inputfile]

iv) 複数のパラメータの値を取得するには:

$ mediainfo --Inform="Video;%Width%,%Height%,%BitRate%,%FrameRate%" [inputfile]

出力は次のようになります。

1280,720,3000000,30.0
于 2013-09-30T10:22:40.700 に答える
1

ffmpeg を使用して、ビデオまたはオーディオ ファイルの長さを取得することもできます。

ffmpeg をインストールするには、このリンクに従ってください

import subprocess
import re

process = subprocess.Popen(['ffmpeg',  '-i', path_of_media_file], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
stdout, stderr = process.communicate()
matches = re.search(r"Duration:\s{1}(?P<hours>\d+?):(?P<minutes>\d+?):(?P<seconds>\d+\.\d+?),", stdout, re.DOTALL).groupdict()

print matches['hours']
print matches['minutes']
print matches['seconds']
于 2016-02-23T07:55:53.597 に答える