2021年10月17日日曜日

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

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

サンプルプログラム

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

probe_videostreams.py
import ffmpeg
import pprint

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

for stream in probe['streams']:
    if stream['codec_type'] == 'video':
        print("コーデック名: {}".format(stream['codec_name']))
        print("コーデックロング名: {}".format(stream['codec_long_name']))
        print("幅: {}".format(stream['width']))
        print("高さ: {}".format(stream['height']))

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

・実行結果例
以下の様な形式で出力されます。
コーデック名: h264
コーデックロング名: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
幅: 1920
高さ: 1080

0 件のコメント:

コメントを投稿