日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python读取视频文件大小,码率,帧率,以及通过码率计算文件大小与流量

發布時間:2023/12/16 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取视频文件大小,码率,帧率,以及通过码率计算文件大小与流量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實操背景

本篇博客將通過Python獲取視頻文件的大小,碼率,幀率等元數據信息,并提取視頻的第一幀作為封面。

使用到的模塊是 ffmpeg-python ,同時需要提前安裝好 ffmpeg 工具,基本使用可以參考python操作ffmpeg,做視頻轉碼【上篇】。

模塊安裝 pip install ffmpeg-python ,模塊導入 import ffmpeg 。
此時用到的是 ffmpeg 工具中的 ffprobe.exe 程序(測試環境在 windows 上實施)
如果你使用的是 Linux ,可以使用查找命令檢索一下 ffprobe 程序所在位置

find / -name ffprobe /usr/local/bin/ffprobe

提前準備一個 MP4 文件用于分析,調用屬性查看得到的視頻信息如下所示。
視頻時長,比特率等內容

視頻文件大小和相關時間

編碼時間

完成的代碼如下所示,相關說明已經寫在注釋中。

import ffmpegdef get_video_info():probe = ffmpeg.probe('./測試視頻文件.mp4')print(probe) # 獲取視頻多媒體文件的信息format = probe['format']# print(format)bit_rate = format['bit_rate']print(int(bit_rate)) # 單位 bps(每秒字節數)kbps = int(bit_rate) / 1000duration = format['duration']duration = int(float(duration)) # 時長(單位秒)print(int(format['size'])) # 獲取文件大小(單位字節)print(int(int(probe['streams'][0]['r_frame_rate'].split('/')[0]) / int(probe['streams'][0]['r_frame_rate'].split('/')[1]))) # 獲取幀率# 通過比特率X時長/8 計算文件大小file_size = kbps * duration / 8print(file_size) # 得到文件的大小是 KBprint(file_size / 1024) # 計算得到的數據print(int(format['size']) / 1024 / 1024) # 讀取得到的數據if __name__ == '__main__':get_video_info()

其中除幀率外,其它值可以直接讀取, streams 是文件流數據,包括視頻與音頻。
使用比特率計算出來的文件大小與直接讀取文件大小差異不大,該形式可以用于計算用戶流量的使用。

記錄時間

2022年度 Flag,寫作的 566 / 1024 篇。
可以關注我,點贊我、評論我、收藏我啦。

更多精彩

  • Python 爬蟲 100 例教程導航帖(連續 3 年,不斷更!)
  • Python爬蟲120 (39.9 元,保 5 年更新)

👇👇👇掃碼加入【78技術人】~ Python 事業部👇👇👇

總結

以上是生活随笔為你收集整理的python读取视频文件大小,码率,帧率,以及通过码率计算文件大小与流量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。