2011-03-19 8 views
5

¿Es posible leer las etiquetas ID3 (duración, artista, título ...) de un archivo MP3 sin tener que descargar todo el archivo?etiquetas ID3 Leer sin necesidad de descargar el archivo completo

hice algunas pruebas y yo era capaz de obtener las etiquetas de artista y el título con el que sólo se descargan unos pocos bytes del archivo MP3 .. pero no estoy seguro de si es posible que la duración y otras etiquetas ..

Gracias.

Respuesta

7

acabo de descubrir que ffmpeg puede leer las etiquetas ID3 de un archivo remoto sin tener que descargar todo el archivo:

[email protected]:/# ffmpeg -i http://physics.ujep.cz/~mmaly/mp3/Mozart/Mass_in_C_Minor_New_by_Levin/sbory_vyssi_kvalita/01_Kyrie.mp3 
FFmpeg version 0.6-4:0.6-2ubuntu6, Copyright (c) 2000-2010 the FFmpeg developers 
    built on Oct 5 2010 22:36:53 with gcc 4.4.5 
    configuration: --extra-version=4:0.6-2ubuntu6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --enable-shared --disable-static 
    libavutil  50.15. 1/50.15. 1 
    libavcodec 52.72. 2/52.72. 2 
    libavformat 52.64. 2/52.64. 2 
    libavdevice 52. 2. 0/52. 2. 0 
    libavfilter 1.19. 0/1.19. 0 
    libswscale  0.11. 0/0.11. 0 
    libpostproc 51. 2. 0/51. 2. 0 
[mp3 @ 0x7ae420]max_analyze_duration reached 
[mp3 @ 0x7ae420]Estimating duration from bitrate, this may be inaccurate 
Input #0, mp3, from 'http://physics.ujep.cz/~mmaly/mp3/Mozart/Mass_in_C_Minor_New_by_Levin/sbory_vyssi_kvalita/01_Kyrie.mp3': 
    Metadata: 
    TLEN   : 431046 
    TIT2   : Kyrie 
    TRCK   : 1 
    TPE1   : Mozart 
    TCON   : Classical 
    TALB   : Mass in C Minor New by Levin 
    Duration: 00:07:11.18, start: 0.000000, bitrate: 128 kb/s 
    Stream #0.0: Audio: mp3, 44100 Hz, 2 channels, s16, 128 kb/s 
At least one output file must be specified 
+0

gracias me ayuda –

+0

, pero cómo tomar la información? –

2

Depende de si desea leer ID3v1 o ID3v2. ID3v1 siempre está al final del archivo, por lo que si está interesado en leer eso no va. ID3v2 generalmente aparece al comienzo del archivo, pero no hay garantía de eso.

Así que si usted no quiere perderse accidentalmente ninguna etiqueta, usted tiene que leer todo el archivo. El problema de ID3v1 puede resolverse leyendo desde el final del archivo, pero eso no ayuda con ID3v2.

+0

ID3v2 siempre tiene una cabecera de 10bytes, y en ella define si hay un pie de página, también de 10 bytes. ¿Qué casos específicos has visto que te hacen decir que podría ser solo al final de un archivo? – nlucaroni

+0

La etiqueta en sí puede estar al final, no importa cómo esté estructurada la etiqueta. Por ejemplo, consulte http://code.google.com/p/mutagen/issues/detail?id=78. Aunque * generalmente * la etiqueta está al frente, no hay garantía. Parece que OP está bien con eso, lo cual está bien desde un punto de vista práctico. – Jon

Cuestiones relacionadas