Acceda a metadatos de varios formatos de archivos de audio y video usando Python – biblioteca tinytag

La extracción de metadatos es una tarea necesaria al crear reproductores de música u otras aplicaciones relacionadas. La mejor biblioteca de Python para leer metadatos de música de varios formatos de archivos de audio y video es tinytag . Esta biblioteca le permite acceder a metadatos de varios formatos de archivos de audio y video como mp3, m4a, mp4, flac, wav, etc.

Puede acceder a la lista de atributos: álbum, artista del álbum, artista, audio_offset, bitrate, comentario, compositor, disco, disc_total, duración, tamaño de archivo, género, frecuencia de muestreo, título, pista, track_total y año. Tenga en cuenta que solo puede leer y no editar los metadatos.

Instalación:

Este módulo no viene integrado con Python. Para instalar este módulo, escriba el siguiente comando en la terminal.

pip install tinytag

Esta biblioteca es compatible con python 2.7+ y 3.4+ y pypy.

Extracción de metadatos

Primero, importe el método Tinytag de la biblioteca tinytag. Luego, pase el nombre del archivo al método Tinytag.get() si está presente en el mismo directorio, si no, pase la ruta completa y asígnela a cualquier variable. Ahora, se puede acceder a los atributos utilizando el siguiente formato: variable_name.attribute_name.

Puede comprobar si el formato de archivo que está utilizando es compatible o no utilizando el método: TinyTag.is_supported(filename) que devuelve un valor booleano.

Nota: Los metadatos faltantes se mostrarán como Ninguno

Si desea seguir adelante, se proporciona el enlace de descarga para el archivo de audio y video utilizado en este artículo: m4a (audio) y mp4 (video).

Ejemplo 1 (audio):

Python3

# Python3 program to illustrate
# accessing of audio metadata
# using tinytag library
  
# Import Tinytag method from
# tinytag library
from tinytag import TinyTag
  
# Pass the filename into the
# Tinytag.get() method and store
# the result in audio variable
audio = TinyTag.get("GeeksForGeeks_Audio.m4a")
  
# Use the attributes
# and Display
print("Title:" + audio.title)
print("Artist: " + audio.artist)
print("Genre:" + audio.genre)
print("Year Released: " + audio.year)
print("Bitrate:" + str(audio.bitrate) + " kBits/s")
print("Composer: " + audio.composer)
print("Filesize: " + str(audio.filesize) + " bytes")
print("AlbumArtist: " + audio.albumartist)
print("Duration: " + str(audio.duration) + " seconds")
print("TrackTotal: " + str(audio.track_total))

Producción:

Title:GeeksForGeeks_Audio
Artist: Neeraj Rana/GFG
Genre:Geek Music
Year Released: 2020
Bitrate:182.72 kBits/s
Composer: GeeksForGeeks Team
Filesize: 63076 bytes
AlbumArtist: Voice Recorder
Duration: 2.7306458333333334 seconds
TrackTotal: None

Ejemplo 2 (vídeo):

Python3

# Python3 program to illustrate
# accessing of video metadata
# using tinytag library
  
# Import Tinytag method from
# tinytag library
from tinytag import TinyTag
  
# Pass the filename into the
# Tinytag.get() method and store
# the result in audio variable
video = TinyTag.get("GeeksForGeeks_Video.mp4")
  
# Use the attributes
# and display
print("Title:" + video.title)
print("Artist: " + video.artist)
print("Genre:" + video.genre)
print("Year Released: " + video.year)
print("Bitrate:" + str(video.bitrate) + " kBits/s")
print("Composer: " + video.composer)
print("Filesize: " + str(video.filesize) + " bytes")
print("AlbumArtist: " + str(video.albumartist))
print("Duration: " + str(video.duration) + " seconds")
print("TrackTotal: " + str(video.track_total))

Producción:

Title:GeeksForGeeks_Video
Artist: Neeraj Rana/GFG
Genre:Geek Video
Year Released: 2020
Bitrate:294651.393 kBits/s
Composer: GFG Video Team
Filesize: 511940 bytes
AlbumArtist: None
Duration: 1.8239333333333334 seconds
TrackTotal: None

Si encuentra algún TypeError, puede usar el encasillamiento.

Publicación traducida automáticamente

Artículo escrito por neerajxrana y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *