【问题标题】:How do I extract Xing/LAME frames using ffmpeg?如何使用 ffmpeg 提取 Xing/LAME 帧?
【发布时间】:2011-10-12 06:44:40
【问题描述】:

使用已经使用 ffmpeg 进行音频处理的程序,我想提取和解析 Xing/LAME 风格的 mp3 帧。

(与其他 mp3 元数据不同,xing/lame 元数据存储在流中的虚拟 mp3 文件中)

不幸的是,av_seek_frame() 似乎只支持寻找文件中包含实际音频的第一帧。即使我使用字节搜索模式搜索到 0,我最终也会在 LAME/Xing 帧之后的文件中的某个位置。如果我只是打开文件并开始读取帧而不寻找,也是这种情况。

可以说服 ffmpeg 读取我想要的帧吗?而且,LAME/Xing 数据是否可能跨越多个帧?

【问题讨论】:

    标签: c++ c ffmpeg mp3 lame


    【解决方案1】:

    没关系,找到一个可行的解决方案...使用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 };

    找到标签。容易得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      相关资源
      最近更新 更多