Hier werden insgesamt 3 Python-Bibliotheken benötigt, nämlich OS, Pandas und Moviepy.
① Betriebssystem: Wird verwendet, um Dateien und Dateigrößen in einem bestimmten Verzeichnis abzurufen;
② Pandas: Wird verwendet, um die extrahierten Informationen in Excel zu speichern.
pip install pandas pip install moviepy
2. Vollständiger Code① Alle Bibliotheken importieren
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
③ Benutzerdefinierte Zeitumrechnungsfunktion
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)}'
Aufgrund der eingeführten -Methode Unten ist die Einheit der Erfassungsdauer Sekunden. Daher müssen die Sekunden in das entsprechende Format „Stunden, Minuten und Sekunden“ umgewandelt werden. Wenn die Zeit eine Minute überschreitet, wird sie in das Format „Minuten:Sekunden“ umgewandelt; wenn sie eine Stunde überschreitet, wird sie in das Format „Stunden:Minuten:Sekunden“ umgewandelt.
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
Die Ergebnisse sind wie folgt: VideoFileClip()
⑤ Was Sie erhalten: Die Daten werden in Excel gespeichert.
Das obige ist der detaillierte Inhalt vonWie erhalte ich die Größe und Dauer einer Videodatei in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!