音楽ファイルの時間をpythonで取得(ffmpeg使用)
音楽ファイルの時間をpythonで取得
ffmpegのffprobe を使用します。
import subprocess
def get_duration(ffprobe,m4a):
proc = subprocess.Popen([ffprobe,m4a], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
while True:
try:
line = proc.stdout.readline().decode().strip()
except:
continue
if not line and proc.poll() is not None:
break
if not 'Duration:' in line:
continue
ary = line.split(',')
for item in ary:
if 'Duration:' in line:
duration = item.replace('Duration:','').strip()
split_dot = duration.split('.')
split_coron = split_dot[0].split(':')
return duration, \
float(split_coron[0]) * 60 * 60 + \
float(split_coron[1]) * 60 + \
float(split_coron[2]) + \
float(split_dot[1])/100
return 'Error'
実行
ffprove_path = r'D:\App\ffprobe.exe'
filepatn = r'D:\Temp\test.m4a'
get_duration(ffprove_path,filepatn)
結果
('00:16:17.53', 977.53)
おすすめ記事
Blender Bone - Python
Linuxでファイルを探す
Unityでキャラクターを追いかけるカメラを作る。 一定距離での追従
その他ネタもの - Python
全国の町丁目レベル(189,540件)の住所データのオープンデータをPython Pandasで処理してみた
エラーメッセージ集 Pandas徹底解説 - Python
Supponsered
外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!