詹姆斯·海因里希的getID3()( 信息@getid3.org )
gCL公司 (不再可用,现有许可证仍然有效)
-
标签: APE(v1和v2) ID3v1(&ID3v1.1) ID3v2(v2.4、v2.3、v2.2) 歌词3(第1版和第2版)
-
音频损耗: MP3/MP2/MP1 MPC/Musepack博物馆 Ogg(Vorbis、OggFLAC、Speex、Opus) AAC/MP4型 空调3 数据传输系统 RealAudio(真实音频) Speex公司 决策支持系统 VQF公司
-
无音频: 艾夫 澳大利亚 邦克 CD音频(*.cda) FLAC公司 LA(无损音频) LiteWave公司 LPAC公司 MIDI(MIDI) 猴子的音频 最佳FROG RKAU公司 缩短 Tom的无损音频Kompressor(TAK) TTA公司 挥发性有机化合物 WAV(里夫) WavPack(WavPack)
-
视听: ASF:ASF、Windows Media音频(WMA)、Windows Media视频(WMV) AVI(RIFF) 闪光 马特罗斯卡(MKV) MPEG-1/MEG-2 NSV(Nullsoft流媒体视频) Quicktime(包括MP4) RealVideo(实时视频)
-
静态图像: BMP公司 全球投资基金 JPEG格式 巴布亚新几内亚 畅通节能法 SWF(闪存) 照片光盘
-
数据: ISO-9660 CD-ROM映像(目录结构) SZIP(有限支持) ZIP(目录结构) 焦油 CUE公司
-
写入: ID3v1(&ID3v1.1) ID3v2(v2.3和v2.4) OggVorbis评论 FLAC上的VorbisComment(不是OggFLAC) APE第2版 歌词3(仅删除)
适用于getID3()1.7.x(及更早版本)的PHP 4.2.0至5.2.x 用于getID3()1.8.x(及以上版本)的PHP 5.0.5(或更高版本) 用于getID3()2.0.x(及以上版本)的PHP 5.0.5(或更高版本) PHP至少4MB内存。 强烈建议使用8MB或更大的内存。 加载所有模块时需要12MB。
作曲家需要james-heinrich/getid3
<? php(电话)
//本地复制远程文件以使用getID3()进行扫描
$ 远程文件名 = ' http://www.example.com/filename.mp3 ' ; 如果 ( $ fp_远程 =fopen(打开)( $ 远程文件名 , “rb” )) { $ 本地模板文件名 =临时名称( “/tmp” , '获取ID3' ); 如果 ( $ fp_局部 =fopen(打开)( $ 本地模板文件名 , “wb” )) { 虽然 ( $ 缓冲器 =弗雷德( $ fp_远程 , 8192 )) { fwrite(写入)( $ fp_局部 , $ 缓冲器 ); } f关闭( $ fp_局部 ); //初始化getID3引擎
$ 获取ID3 = 新的 获取ID3; $ 此文件信息 = $ 获取ID3 -> 分析 ( $ 本地模板文件名 ); //删除临时文件 取消链接( $ 本地模板文件名 ); } f关闭( $ fp_远程 ); }
功能 获取ID3 ( $ 文件名 ) { 返回 打开包装( 'a3TAG/a30title/a30artist/a30album/a4年/a28comment/c1ctrack/c1genreid' ,substr(文件获取内容( $ 文件名 ), - 128 )); }
更好地支持MP4容器格式 根据ID3v2.4规范在文件末尾扫描附加的ID3v2标记(第5.0节) 支持JPEG-2000( http://www.morgan-multimedia.com/jpeg2000_overview.htm ) 支持MOD(MOD/stm/s3m/it/xm/mtm/ult/669) 支持ACE(感谢Vince) 支持Ogg,而不是Vorbis、Speex和OggFlac(即Ogg+Xvid) 能够为缺少VBR头的VBR MP3创建Xing/LAME VBR头 能够“清理”ID3v2填充(用有效填充替换无效填充) 如果MP3更改版本中间流(在全扫描模式下),则发出警告 在直方图扫描中检查损坏/损坏的中间文件MP3流 支持无损压缩格式 ( http://www.firstpr.com.au/audocomp/lossless/#链接 ) ( http://compression.ca/act-sound.html ) ( http://web.inter.nl.net/users/hvdh/losslesss/lossles.htm ) 支持RIFF-INFO块 http://lotto.st-andrews.ac.uk/ ~njh/tag_interchange.html (感谢Nick Humfrey<njhØ外科无线电 有限公司 英国>) http://abcavi.narod.ru/sof/abcavi/infotags.htm (感谢Kibi)
更好地支持Bink视频 http://www.hr/josip/DSP/AudioFile2.html http://www.pcisys.net/ ~ melanson/编解码器/ 检测mp3PRO 支持PSD 支持JPC 支持JP2 支持JPX 支持JB2 IFF支持 支持ICO 支持ANI 支持EXE(评论、作者等)(谢谢 quaedackersØ行星 nl) 支持DVD-IFO(区域、字幕、纵横比等) (谢谢p quaedackersØ行星 nl) 更全面地支持SWF-解析封装的MP3和/或JPEG内容 (感谢n8n8Ø雅虎) 支持a2b 用于AVI验证的可选扫描穿透帧 (感谢rockcohenØ大规模互动*nl) 支持TTF(感谢信息Øbutterflyx*com) 对DSS的支持( https://www.getid3.org/phpBB3/viewtopic.php?t=171 ) 支持SMAF( http://smaf-yamaha.com/what/demo.html ) https://www.getid3.org/phpBB3/viewtopic.php?t=182 支持AMR( https://www.getid3.org/phpBB3/viewtopic.php?t=195 ) 支持3gpp( https://www.getid3.org/phpBB3/viewtopic.php?t=195 ) 支持ID4( http://www.wackysoft.cjb.net grizlyY2K(热邮件) 解析Ogg注释中返回的XML数据 解析Quicktime SMIL元文件(klausrathØmac*com)中的XML数据 ID3v2流派字符串创建者功能 更完整的JPG解析 支持所有老式ASF数据包 ASF/WMA/WMV标签写入 Parse声明T??? ID3v2文本信息框架(如适用) (感谢Christian Fritz的想法) 识别编码器: http://www.guerillasoft.com/EncSpot2/index.html http://ff123.net/identify.html http://www.hydrogenaudio.org/?act=ST&f=16&t=9414 http://www.hydrogenaudio.org/?showtopic=11785 支持其他OS/2位图结构:位图数组('BA'), 颜色图标(“CI”)、颜色指针(“CP”)、图标(“IC”)、指针(“PT”) http://netghost.narod.ru/gff/graphics/summary/os2bmp.htm 支持WavPack RAW模式 ASF/WMA/WMV数据包解析 ID3v2FrameFlagsLookupTagAlter() ID3v2FrameFlagsLookupFileAlter() 遵守ID3v2标记更改/保留/放弃规则 http://www.geocities.com/SiliconValley/Sector/9654/Softdoc/Illyrium/Aolyr.htm 在ID3v2写入中正确检查LINK/LNK帧有效性 正确检查ID3v2写入中的ASPI-TLEN帧有效性 ID3v2写入中COMR帧有效性的正确检查 http://www.geocities.co.jp/SiliconValley-Oakland/3664/index.html 解码由RealJukebox编码的GEOB ID3v2结构, 解码由MusicMatch编码的NCON ID3v2结构 (可能不会发生-格式是专有的)
无法使用VBR视频数据确定MPEG视频的比特率 (需要文档) 无法确定MPEG视频的交错/渐进 (需要文档) MIDI播放时间有时不准确 AAC-RAW模式文件无法识别 无法识别WavPack-RAW模式文件 mp4文件报告大量“未知QuickTime原子类型” (需要文档) 加密的ASF/WMA/WMV文件警告“未处理的GUID ASF_内容_加密对象“ 无法计算音频和视频之间的比特率分割 NSV,仅为总比特率。 (需要文档) 所有Ogg格式(Vorbis、OggFLAC、Speex)都受 大VorbisComments跨越多个Ogg页面的问题,但 但只有OggVorbis文件可以使用vorbiscomment进行处理。 Mac OS 10.2.8提供的“head”版本(可能是其他版本 versions too)只理解单个选项(-n),并且 因此失败了。 getID3忽略了这一点,并返回错误的md5_data。
仅32位PHP安装: getID3()无法始终完全解析大于2GB的文件 由于32位PHP文件系统函数的限制。 注:由于v1.7.8b3,部分支持大于- 2GB文件,只要没有关键文件,大多数文件都会解析为OK 数据位于2GB偏移量之外。 已知遗嘱: 64位PHP上的所有文件格式 ZIP(格式不支持大于2GB的文件) FLAC(当前编码器不支持大于2GB的文件) 已知意愿不工作: ID3v1标签(始终位于文件末尾) Lyrics3标签(始终位于文件末尾) APE标签(始终位于文件末尾) 可能会生病: Quicktime(如果需要的元数据早于2GB偏移量, 这是如果文件已被提示/针对流媒体进行了优化) 里夫。 WAV(应该工作正常,但会发出警告 能够解析所有块) 即兴演奏。 AVI(播放时间可能是错误的,仅基于 适合前2GB的“movi”块应该会发出错误 显示播放时间不正确。 其他数据应主要 正确,假设数据在整个文件中保持不变)
Windows Media Player(高达11版)和iTunes(高达10+版)都可以 使用UTF-16BE+BOM无法正确处理ID3v2.3标签 编码(他们假设数据是UTF-16LE+BOM并且 崩溃(WMP)或输出亚洲字符集(iTunes) Winamp(至少高达v2.80)不支持ID3v2.4标记, 仅ID3v2.3 请参见: http://forums.winamp.com/showthread.php?postid=387524 氦2的一些版本( 网址:www.helium2.com )不要写 ID3v2.4兼容的帧大小,即使标记已标记 作为ID3v2.4)(由getID3()检测) MP3ext V3.3.17在末尾放置了不符合要求的填充字符串 ID3v2标头的。 这在v3.4b21中应该是固定的,但 只有手动添加注册表项时。 此修复尚未完成 已确认。 (由getID3()检测) CDex v1.40(由v1.50b7修复)写入不合规的Ogg注释 字符串,应该是“NAME=value”格式,但实际上 只写“value”(由getID3()检测) Oggenc 0.9-rc3将编码文件标记为ABR,无论它是 实际上是ABR或VBR。 iTunes(版本“X v2.0.3”、“v3.0.1”)可能是已知有罪的 其他版本也是如此)使用 帧名“COM”对ID3v2.3+无效(它是一个 ID3v2.2-style帧名称)(由getID3()检测) MP2enc无法正确编码单CBR MP2文件(半速 声音和双倍播放时间) MP2enc没有正确编码单声道VBR MP2文件(实际上 编码为立体声) tooLAME无法正确编码mono VBR MP2文件(实际上 编码为立体声) 即使CBR为 明确规定 AAC/ADIF-比特率模式=vbr文件的cbr LAME 3.90-3.92预加一帧空数据(空格用于 在CBR中编码时,LAME/VBR标头,但它从未写入) 带有DLL的模式 Ahead Nero使用DSIZ值(假设为 TwinVQF v1.0的文件大小为“0”,TwinVQ v1.0的为“1” TwinVQF v2.0(通过getID3()检测到) Ahead Nero编码的TwinVQF文件比它们短1秒 应该是 AAC-ADTS文件实际上总是经过VBR编码的,即使是CBR模式 已指定(编码器上的CBR-模式开关启用ABR 模式,而不是CBR本身,但无法识别 此类ABR文件和真实VBR之间的差异) OggFLAC中的STREAMINFO.audio_signature始终为空。 “原因 这是因为没有寻求支持 libOggFLAC还没有,因此它无法返回并编写 计算编码后的总和。 在Ogg FLAC寻求支持是 #1项用于下一版本。 “-Josh Coalson(FLAC开发者) 注意:getID3()将使用类似于的方法计算md5_data 其他文件格式,但该值不能与 来自FLAC文件格式的FLAC数据的md5_data值。 FLAC v0.3.0中未计算STREAMINFO.audio_signature& v0.4.0-getID3()将使用类似于的方法计算md5_data 其他文件格式,但该值不能与 来自FLAC v0.5.0的md5_data值+ RioPort(各种版本,包括2.0和3.11)标记ID3v2 没有数据部分的WCOM帧 Coolplayer的早期版本向Ogg Vorbis添加了非法ID3标记 文件,从而使其损坏。 Meracl ID3 Tag Writer v1.3.4(及更早版本)错误地截断 附加新的ID3v1标记时MP3文件中数据的最后一个字节。 (由getID3()检测到) 无损-使用和不使用-noseek开关编码的音频文件 确实存在内部差异,因此无法匹配md5data 众所周知,iTunes会在 当ID3v2标记也存在时,现有ID3v1标记 (由getID3()检测) MediaMonkey可以写入空白RGAD ID3v2帧,但将 在一系列用户定义的TXXX帧中重放增益调整 (自v1.9.2起由getID3()检测和处理)
http://www.id3.org/id3v2.4.0-structure.txt http://www.id3.org/id3v2.4.0-frames.txt http://www.id3.org/id3v2.4.0-changes.txt 网址:http://www.id3.org/id3v2.3.0.txt 网址:http://www.id3.org/id3v2-00.txt http://www.id3.org/mp3frame.html http://minnie.tuhs.org/pipermail/mp3encoder/2001年1月/001800.html mathewhendry@hotmail.com http://www.dv.co.yu/mpgscript/mpeghdr.htm http://www.mp3-tech.org/programmer/frame_header.html http://users.belgacom.net/gc247244/extra/tag.html http://gabriel.mp3-tech.org/mp3infotag.html http://www.id3.org/iso4217.html http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT http://www.xiph.org/ogg/vorbis/doc/framing.html http://www.xiph.org/ogg/vorbis/doc/v-comment.html http://leknor.com/code/php/class.ogg.php.txt http://www.id3.org/iso639-2.html http://www.id3.org/primis3.html http://www.id3.org/primis3200.html http://www.psc.edu/general/software/packages/ieee/ieee.html 网址:http://www.scri.fsu.edu/ ~jac/MAD3401/Backgrnd/iee-expl.html 网址:http://www.scri.fsu.edu/ ~jac/MAD3401/Backgrnd/binary.html http://www.jmcgowan.com/avi.html 网址:http://www.wotsit.org/ http://www.hards.com/ti/davincie/davp3xo2.htm http://www.mathdogs.com/vorbis-illuminated/bitstream-appendix.html Dustin Caldwell的“标准MIDI文件格式”(摘自 网址:www.wotsit.org ) http://midistudio.com/Help/GMSpecs_Patches.htm http://www.xiph.org/archives/vorbis/200109/0459.html http://www.replaygain.org/ http://www.lossles-audio.com/ http://download.microsoft.com/download/winmediatech40/Doc/1.0/WIN98MeXP/EN-US/ASF_Specification_v.1.0.exe http://mediaxw.sourceforge.net/files/doc/Active%20Streaming%20Format%20 (ASF)%201.0%20规范.pdf http://www.uni-jena.de/ ~pfk/mpp/sv8/ (存档于 http://www.hydrogenaudio.org/musepack/klemm/www.personal.uni-jena.de/ ~pfk/mpp/sv8/ ) http://jfaul.de/atl/ http://www.uni-jena.de/ ~pfk/mpp/ (存档于 http://www.hydrogenaudio.org/musepack/klemm/www.personal.uni-jena.de/ ~pfk/mpp/ ) http://www.libpng.org/pub/png-spec/png-1.2-pdg.html http://www.real.com/devzone/library/creating/rmsdk/doc/rmff.htm http://www.fastgraph.com/help/bmp_os2_header_format.html http://netghost.narod.ru/gff/graphics/summary/os2bmp.htm http://flac.sourceforge.net/format.html http://www.research.att.com/projects/mpegaudio/mpeg2.html http://www.audiocoding.com/wiki/index.php?page=AAC http://libmpeg.org/mpeg4/doc/w2203tfs.pdf http://www.geocities.com/xhelmboyx/quicktime/formats/qtm-layout.txt http://developer.apple.com/techpubs/quicktime/qtdevdocs/RM/frameset.htm http://www.nullsoft.com/nsv/ http://www.wotsit.org/download.asp?f=iso9660 http://sandbox.mc.edu/ ~bennet/cs110/tc/tctod.html http://www.cdroller.com/htm/readdata.html http://www.speex.org/manual/node10.html http://www.harmony-central.com/Computer/Programming/aiff-file-format.doc http://www.faqs.org/rfcs/rfc2361.html http://ghido.shelter.ro/ http://www.ebu.ch/tech_t3285.pdf http://www.sr.se/utveckling/tu/bwf http://ftp.aessc.org/pub/aes46-2002.pdf http://cartchunk.org:8080/ http://www.broadcastpapers.com/radio/cartchunk01.htm http://www.hr/josip/DSP/AudioFile2.html 网址:http://home.attbi.com/ ~chris.bagwell/AudioFormats-11.html http://www.pure-mac.com/extkey.html http://cesnet.dl.sourceforge.net/sourceforge/bonkenc/bonk-binary-format-0.9.txt http://www.headbands.com/gspot/ http://www.openswf.org/spec/SWF文件格式.html http://j-faul.virtualave.net/ http://www.btinternet.com/ ~AnthonyJ/Atari/programming/avr_format.html http://cui.unige.ch/OSG/info/AudioFormats/ap11.html http://sswf.sourceforge.net/SWFalexref.html http://www.geocities.com/xhelmboyx/quicktime/formats/qti-layout.txt http://www-lehre.informatik.uni-osnabureck.de/ ~fbstark/dipolm/docs/swf/Flash_Uncovered.htm http://developer.apple.com/quicktime/icefloe/dispatch012.html http://www.csdn.net/Dev/Format/graphics/PCD.htm 网址:http://tta.iszf.irk.ru/ http://www.atsc.org/standards/a_52a.pdf http://www.alanwood.net/unicode/ http://www.freelists.org/archives/matroska-devel/07-2003/msg00010.html http://www.its.msstate.edu/net/real/reports/config/tags.stats http://homepages.slinghot.co.nz/ ~helmboy/quicktime/formats/qtm-layout.txt http://brennan.young.net/Comp/LiveStage/things.html http://www.multiweb.cz/twoinches/MP3inside.htm http://www.geocities.co.jp/SiliconValley-Oakland/3664/alittle.html#GenreExtended http://www.mactech.com/articles/mactech/Vol.06/06.01/SANENormalized网站/ http://www.unicode.org/unicode/faq/utf_bom.html http://tta.corecodec.org/?menu=格式 http://www.scvi.net/nsvformat.htm http://pda.etsi.org/pda/queryform.asp http://cpansearch.perl.org/src/RGIBSON/Audio-DSS-0.02/lib/Audio/DSS.pm http://trac.musepack.net/trac/wiki/SV8规范 http://wyday.com/cuesharp/specification.php http://www.sno.phy.queensu.ca/ ~phil/exiftool/TagNames/Nikon.html http://wiki.hydroxyaud.io/index.php?title=TAK