音楽ファイルの時間をpythonで取得(ffmpeg使用)

 

{{DZ_TITLE}}
音楽ファイルの時間を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
Blender Bone - Python
Linuxでファイルを探す
Linuxでファイルを探す
Unityでキャラクターを追いかけるカメラを作る。 一定距離での追従
Unityでキャラクターを追いかけるカメラを作る。 一定距離での追従
その他ネタもの - Python
その他ネタもの - Python
全国の町丁目レベル(189,540件)の住所データのオープンデータをPython Pandasで処理してみた
全国の町丁目レベル(189,540件)の住所データのオープンデータをPython Pandasで処理してみた
エラーメッセージ集 Pandas徹底解説 - Python
エラーメッセージ集 Pandas徹底解説 - Python
Supponsered

外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!

Comments

comments powered by Disqus