使用已经使用ffmpeg进行音频处理的程序,我想提取并解析Xing / LAME样式的mp3帧。
(与其他mp3元数据不同,xing / lame元数据存储在流中的虚拟mp3文件中)
不幸的是,av_seek_frame()
似乎只支持寻找包含文件中实际音频的第一帧。即使我寻求使用字节搜索模式为0,我最终在LAME / Xing帧之后的文件中的位置。如果我只是打开文件并开始阅读框架而不寻求,也会出现这种情况。
可以说服ffmpeg读取我想要的帧吗?而且,LAME / Xing数据是否可能跨越多个帧?
答案 0 :(得分:0)
无论如何,找到了一个可行的解决方案......使用TagLib,可以直接从文件引用中获取文件指针,并搜索:
{0xFF,0xFB,0x90,0x64,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
找到标签。更容易。