您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python怎么獲取視頻文件的大小和時長”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python怎么獲取視頻文件的大小和時長”文章能幫助大家解決問題。
這里一共需要用到3個Python庫,分別是os、pandas、moviepy。
① os:用于獲取某個目錄下的文件和文件大小;
② pandas:用于將提取到的信息,保存到Excel中;
③ moviepy:用于獲取視頻文件中的時長;
注意:pandas和moviepy屬于第三方庫,因此需要我們提前使用如下命令進行安裝。
pip install pandas pip install moviepy
import os import pandas as pd from moviepy.editor import VideoFileClip
useful_dir = [] for i in os.listdir(): if i.endswith("wmv"): useful_dir.append(i) useful_dir
結果如下:
def time_convert(seconds): M,H = 60,3600 if seconds < M: return f'00:00:0{seconds}' if seconds < 10 else f'00:00:{str(seconds)}' elif seconds < H: _M = int(seconds//M) _S = int(seconds%M) return f'00:{f"0{_M}" if _M < 10 else str(_M)}:{f"0{_S}" if _S < 10 else str(_S)}' else: _H = int(seconds//H) _M = int(seconds%H//M) _S = int(seconds%H%M) return f'{f"0{_H}" if _H < 10 else str(_H)}:{f"0{_M}" if _M < 10 else str(_M)}:{f"0{_S}" if _S < 10 else str(_S)}'
由于下面介紹的VideoFileClip()
方法,獲取時長的單位是秒。因此,需將秒換成合適的"時分秒"格式。若時間超過一分鐘,換算成"分鐘:秒",若超過一小時,就換算成"小時:分鐘:秒"格式。
x = [] y = [] for i in useful_dir: dir_size = str(round(os.path.getsize(i)/1024/1024,1)) + "M" clip = VideoFileClip(i) dir_time = time_convert(clip.duration) x.append(dir_size) y.append(dir_time) df = pd.DataFrame({"文件大小":x,"文件時長":y}) df
結果如下:
df.to_excel("info.xlsx",index=False)
最終效果如圖所示:
關于“Python怎么獲取視頻文件的大小和時長”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。