2021年10月18日月曜日

FFmpegとpythonでオーディオストリームの情報を取得する

FFmpegとpythonでオーディオストリームの情報を取得するには、以下のサンプルプログラムのようにprobe情報のstreams下の各ストリームのcodec_typeでaudioの情報を取得します。
codec_name/codec_long_nameでコーデック名・コーデックロング名が取得でき、sample_rateでサンプルレートが取得できます。

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

probe_audiostreams.py
import ffmpeg
import pprint

probe = ffmpeg.probe('./lake.mp4')
#pprint.pprint(probe)

for stream in probe['streams']:
    if stream['codec_type'] == 'audio':
        print("コーデック名: {}".format(stream['codec_name']))
        print("コーデックロング名: {}".format(stream['codec_long_name']))
        print("サンプルレート: {}".format(stream['sample_rate']))

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python probe_audiostreams.py

・実行結果例
以下の様な形式で出力されます。
コーデック名: aac
コーデックロング名: AAC (Advanced Audio Coding)
サンプルレート: 44100

0 件のコメント:

コメントを投稿