Wpis z mikrobloga

Chcę zrobić prostą apke desktopową w Pythonie, która wyświetli zsumowany czas wszystkich plików wideo w danym folderze i mam problem z pobraniem metadanych z pliku. Wszyscy polecają używać do tego celu ffmpeg. O ile do odczytania pojedyńczego pliku jest ok, to iteracja nim pętlą po kilkuset plikach nie jest zbyt optymalna i zajmuje zbyt wiele czasu. W Windowsie, kiedy zaznaczę pliki wideo i wejdę w 'details' to po chwili pokazuje mi zsumowany czas. Ma ktoś jakiś pomysł jak to zrobić?

#programowanie #python
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@exid7e: W sensie iterujesz po wielu plikach w pythonie i za każdym plikiem wołasz od nowa ffmpeg z tym plikiem jako input? I na jakim systemie chcesz to zrobić docelowo, na windowsie?
  • Odpowiedz
@exid7e Sprawdź, czy ten kawałek kodu będzie dla Ciebie wystarczająco szybki, jeżeli nie, to być może Windows "oszukuje" i zapisuje sobie metadane o plikach gdzieś do pamięci podręcznej, a nie wyciąga ich z plików za każdym razem.

import os
import mutagen.mp4

dir =
  • Odpowiedz
@kotit: Dzięki wielkie. Wynik dostaję w ułamku sekundy. Wiedziałem, że na wykopie są mądrzy ludzie, nie to co te leszcze na stack overflow
  • Odpowiedz