Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich die Größe und Dauer einer Videodatei in Python?

Wie erhalte ich die Größe und Dauer einer Videodatei in Python?

WBOY
WBOYnach vorne
2023-04-22 22:25:152617Durchsuche

1. Vorkenntnisse

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.

  • ③ moviepy: Wird verwendet, um die Dauer in der Videodatei abzurufen.

    Hinweis:
  • pandas und moviepy sind Bibliotheken von Drittanbietern, daher müssen wir sie vorab mit dem folgenden Befehl installieren.
pip install pandas
pip install moviepy

2. Vollständiger Code① Alle Bibliotheken importieren

import os
import pandas as pd
from moviepy.editor import VideoFileClip

② Qualifizierte Dateien im angegebenen Verzeichnis abrufen

useful_dir = []
for i in os.listdir():
    if i.endswith("wmv"):
        useful_dir.append(i)
useful_dir
#🎜 🎜 #Die Ergebnisse sind wie folgt:

③ Benutzerdefinierte Zeitumrechnungsfunktion

def time_convert(seconds):
    M,H = 60,3600
    if seconds < M:
        return f&#39;00:00:0{seconds}&#39; if seconds < 10 else f&#39;00:00:{str(seconds)}&#39;
    elif seconds < H:
        _M = int(seconds//M)
        _S = int(seconds%M)
        return f&#39;00:{f"0{_M}" if _M < 10 else str(_M)}:{f"0{_S}" if _S < 10 else str(_S)}&#39;
    else:
        _H = int(seconds//H)
        _M = int(seconds%H//M)
        _S = int(seconds%H%M)
        return f&#39;{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)}&#39;

Aufgrund der eingeführten Wie erhalte ich die Größe und Dauer einer Videodatei in Python?-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.

④ Dateigröße und -dauer ermitteln

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen