编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

「视频参数信息检测」如何用代码实现Mediainfo的视频检测功能

wxchong 2024-06-13 03:36:13 开源技术 16 ℃ 0 评论

说明:

mediainfo是一款专业的视频参数信息检测工具,软件能够检测视频文件的格式、画面比例、码率、音频流、声道等一系列视频参数信息。若使用代码检测更灵活,扩展性更强,本文介绍使用python+pymediainfo库实现视频参数信息检测功能,可替代mediainfo工具

代码:

import json
# pip install pymediainfo
from pymediainfo import MediaInfo

def test(file_path):
    
    media_info = MediaInfo.parse(file_path)

    data = media_info.to_json()

    data = json.loads(data)

    print ('返回结果:\n',json.dumps(data,indent=4,ensure_ascii=False))

    print ("============容器格式和一般信息==============================")

    print ('配置文件格式:%s(%s):%s,%s'%
           (data['tracks'][0]['format'],\
            data['tracks'][0]['format_profile'],\
            data['tracks'][0]['other_file_size'][0],\
            data['tracks'][0]['other_duration'][0],\
            ))
    print ("%s个视频流:%s"%(data['tracks'][0]['count_of_video_streams'],data['tracks'][0]['video_format_list']))

    print ("%s个音频流:%s"%(data['tracks'][0]['count_of_audio_streams'],data['tracks'][0]['audio_format_list']))

    print ("编码日期:%s"%data['tracks'][0]['encoded_date'])

    print ("标记日期:%s"%data['tracks'][0]['tagged_date'])
    
    print ("\n============视频 1============================================")


    print ('%s, %s*%s(%s), %s, %s(%s), (%s)'%
           (data['tracks'][1]['other_bit_rate'][0],\
            data['tracks'][1]['sampled_width'],\
            data['tracks'][1]['sampled_height'],\
            data['tracks'][1]['other_display_aspect_ratio'][0],\
            data['tracks'][1]['other_frame_rate'][0],\
            data['tracks'][1]['commercial_name'],\
            data['tracks'][1]['format_profile'],\
            data['tracks'][1]['format_settings'],\
           ))
    print ("比特率, 宽*高(显示比例), 帧率, 商业名称(配置文件格式), (格式设置)")
    print ("\n============音频 1============================================")

    print ('%s(%s), %s,%s声道, %s'%
           (data['tracks'][2]['other_bit_rate'][0],\
            data['tracks'][2]['other_nominal_bit_rate'][0],\
            data['tracks'][2]['other_sampling_rate'][0],\
            data['tracks'][2]['channel_s'],\
            data['tracks'][2]['other_format'][0],\
           ))
    print ("比特率(名义比特率), 采样率, 声道, 格式")

 
if __name__ == '__main__':

    file_path = 'test.mp4' 

    test(file_path)

执行:

测试结果:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表