ffprobe獲取視頻的分辨率幀數等信息

這裏演示下如何用ffprobe獲取視頻的各種信息,ffprobe是和ffmepg一起的,不需要特別安裝,只需要有ffmpeg,就自動會帶ffprobe。
獲取視頻的分辨率:

    ffprobe_path = '/home/user/ffprobe'
    video_path = 'your_video_path'
    command = '{ffprobe_path} -v error -select_streams v:0 -show_entries stream=width,height -of json {video_path}'.format(ffprobe_path=ffprobe_path,
                                                                                                                           video_path=video_path)

    value = subprocess.check_output(command)
    data = json.loads(value)

獲取視頻的幀速率:

    ffprobe_path = '/home/user/ffprobe'
    video_path = 'your_video_path'
    command = '{ffprobe_path} -v error -select_streams v -show_entries stream=r_frame_rate -of json {video_path}'.format(ffprobe_path=ffprobe_path,
                                                                                                                         video_path=video_path)

    value = subprocess.check_output(command)
    data = json.loads(value)
    frame_rate = eval(data.get('streams')[0].get('r_frame_rate'))

最後用eval只是將其value變成ini類型

獲取視頻幀數:

    ffprobe_path = '/home/user/ffprobe'
    video_path = 'your_video_path'
    command = '{ffprobe_path} -v error -select_streams v -show_entries stream=nb_frames -of json {video_path}'.format(ffprobe_path=ffprobe_path,
                                                                                                                      video_path=video_path)

    value = subprocess.check_output(command)
    data = json.loads(value)
    frames = data.get('streams')[0].get('nb_frames')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章