是否可以在不下载整个文件的情况下阅读MP3文件的ID3标签(持续时间,艺术家,标题......)?
我做了一些测试,我只能下载几个字节的MP3文件就能获得艺术家和标题标签..但我不确定是否可以使用持续时间和其他标签..
感谢。
答案 0 :(得分:7)
我发现ffmpeg可以读取远程文件的ID3标签而无需下载整个文件:
root@local1:/# 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
答案 1 :(得分:2)
取决于您是否要阅读ID3v1或ID3v2。 ID3v1总是在文件的末尾,所以如果你有兴趣阅读那就不行了。 ID3v2 通常发生在文件的开头,但不能保证。
因此,如果您不想意外遗漏任何标签,则必须阅读整个文件。 ID3v1问题可以通过从文件末尾读取来解决,但这对ID3v2没有帮助。