Loading ...

Estrarre i metadati dai video con Python e Hachoir

Estrarre i metadati dai video con Python e Hachoir

Hachoir è un'ottima libreria per Python per l'estrazione dei metadati dai video (e non solo).

Oggi vediamo come sfruttarla usando Python 3.

Prima di tutto installiamola:

$ python3 -m pip install -U hachoir

Una volta installata, possiamo sia usarla nei nostri programma che in modalità standalone.

Noi vediamo un esempio di inclusione in un nostro programma:

from hachoir.parser import createParser
from hachoir.metadata import extractMetadata
from sys import argv, stderr, exit

film = "/mnt/DATA/Film/Adaline - L'eterna giovinezza.avi"
parser = createParser(film)

if not parser:
    print("Unable to parse file", file=stderr)
    exit(1)

with parser:
    try:
        metadata = extractMetadata(parser)
    except Exception as err:
        print("Metadata extraction error: %s" % err)
        metadata = None
if not metadata:
    print("Unable to extract metadata")
    exit(1)

for line in metadata.exportPlaintext():
    print(line)

La risposta sarà una cosa del genere:

Common:
- Duration: 1 hours 52 min 22 sec
- Image width: 656 pixels
- Image height: 272 pixels
- Frame rate: 24.0 fps
- Bit rate: 1.7 Mbit/sec
- Producer: Lavf55.19.104
- Comment: Has audio/video index (4.9 MB)
- MIME type: video/x-msvideo
- Endianness: Little endian
Video stream:
- Duration: 1 hours 52 min 22 sec
- Image width: 656 pixels
- Image height: 272 pixels
- Bits/pixel: 24
- Compression: XviD MPEG-4 (fourcc:"XVID")
- Frame rate: 24.0 fps
Audio stream:
- Duration: 1 hours 52 min 22 sec
- Channel: 6
- Sample rate: 48.0 kHz
- Compression rate: 10.3x
- Compression: AC3
- Bit rate: 448.0 Kbit/sec

Enjoy!