转载时请注明出处和作者联系方式:http://blog.csdn.net/mimepp
作者联系方式:YU TAO <yut616 at sohu dot com>
mp4 video格式中的cover art
关键字:mp4, cover art, covr, itunes, album art
对mp4文件中的cover art图的处理,查了一下资料,这里做个笔记。
目前有很多mp4 video都带一个电影说明图片,主要是itunes的video,并将其存放在mp4格式中。
对应的tag是“covr”
格式说明:
box types are cover art = 'covr' ; itunes specific info = '----'
* 8+ bytes APPLE item data box
= long unsigned offset + long ASCII text string 'data'
-> 4 bytes version/flags = byte hex version + 24-bit hex flags
(current version = 0 ; contains text flag = 0x000001
contains data flag = 0x000000 ; for tmpo/cpil flag = 0x000015
contains image data flag = 0x00000D)
-> 4 bytes reserved = 32-bit value set to zero
-> annotation text or data values = text or hex dump
(NOTE: Genre is either text or a 16-bit short ID3 value and
most other non-text data are short unsigned values
with the exception of compilation which is a byte flag)
实例如下:
63 6F 76 72 00 00 8C 0C 64 61 74 61 00 00 00 00 00 00 00 00 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44
covr | len | data | ver, flags | reserved2 | picture-data
4 bytes 4 bytes 4 bytes 1 byte, 3 bytes 4 bytes 35836 bytes
35852 bytes
type covr
type data
version = 0 (0x00)
flags = 0 (0x000000)
reserved2 = <4 bytes> 00 00 00 00
metadata = <35836 bytes>
89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52
8C 0C = 35852 = 16 + 35836 = len + "data" + ver + flags + reserved2 + 35836
参考连接:
1、tag格式说明:
http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt
2、mp4测试文件, IndianCrow160.mp4:
http://www.ncsu.edu/it/multimedia/mpeg4.html
3、tool工具:
apt-get install mpeg4ip-utils easytag-aac hexedit
mp4art: 将cover art直接保存为图片
mp4dump:将mp4 tag dump到文件
easytag:可以在mp4中增加cover art图片
hexedit:查看mp4二进制
4、lib
mpeg4ip:www.mpeg4ip.net
AtomicParsley:http://atomicparsley.sourceforge.net/
作者联系方式:YU TAO <yut616 at sohu dot com>
mp4 video格式中的cover art
关键字:mp4, cover art, covr, itunes, album art
对mp4文件中的cover art图的处理,查了一下资料,这里做个笔记。
目前有很多mp4 video都带一个电影说明图片,主要是itunes的video,并将其存放在mp4格式中。
对应的tag是“covr”
格式说明:
box types are cover art = 'covr' ; itunes specific info = '----'
* 8+ bytes APPLE item data box
= long unsigned offset + long ASCII text string 'data'
-> 4 bytes version/flags = byte hex version + 24-bit hex flags
(current version = 0 ; contains text flag = 0x000001
contains data flag = 0x000000 ; for tmpo/cpil flag = 0x000015
contains image data flag = 0x00000D)
-> 4 bytes reserved = 32-bit value set to zero
-> annotation text or data values = text or hex dump
(NOTE: Genre is either text or a 16-bit short ID3 value and
most other non-text data are short unsigned values
with the exception of compilation which is a byte flag)
实例如下:
63 6F 76 72 00 00 8C 0C 64 61 74 61 00 00 00 00 00 00 00 00 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44
covr | len | data | ver, flags | reserved2 | picture-data
4 bytes 4 bytes 4 bytes 1 byte, 3 bytes 4 bytes 35836 bytes
35852 bytes
type covr
type data
version = 0 (0x00)
flags = 0 (0x000000)
reserved2 = <4 bytes> 00 00 00 00
metadata = <35836 bytes>
89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52
8C 0C = 35852 = 16 + 35836 = len + "data" + ver + flags + reserved2 + 35836
参考连接:
1、tag格式说明:
http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt
2、mp4测试文件, IndianCrow160.mp4:
http://www.ncsu.edu/it/multimedia/mpeg4.html
3、tool工具:
apt-get install mpeg4ip-utils easytag-aac hexedit
mp4art: 将cover art直接保存为图片
mp4dump:将mp4 tag dump到文件
easytag:可以在mp4中增加cover art图片
hexedit:查看mp4二进制
4、lib
mpeg4ip:www.mpeg4ip.net
AtomicParsley:http://atomicparsley.sourceforge.net/