从OGG文件

时间:2015-09-07 05:07:10

标签: shell ubuntu base64 ogg vorbis

我需要从OGG文件中提取封面。

我正在尝试解码存储在METADATA_BLOCK_PICTURE标记中的base64字符串,我正在使用以下命令:

vorbiscomment -R -e 1.ogg

Base64解码工作没有错误,但生成的二进制文件既不像JPG那样打开,也不像PNG那样打开。

示例文件:http://regress78.com/1.ogg

1 个答案:

答案 0 :(得分:1)

在JFIF或PNG流开始之前,二进制数据上有header

我能够在从hexdump中解析出标头长度(本例中为42字节)后提取有效的jpeg文件:

$ vorbiscomment -R -e 1.ogg | grep METADATA_BLOCK_PICTURE | cut -d '=' -f 2 | base64 -d > 1.dat
base64: invalid input
$ dd if=1.dat of=1.jpeg bs=1 skip=42
114424+0 records in
114424+0 records out
114424 bytes (114 kB) copied, 0.112082 s, 1.0 MB/s
$ file 1.jpeg
1.jpeg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=1], baseline, precision 8, 496x500, frames 3