gpt4 book ai didi

ffmpeg - 使用 ffmpeg 寻找 FLAC

转载 作者:行者123 更新时间:2023-12-04 23:00:47 29 4
gpt4 key购买 nike

我发现使用 av_seek_frame() 查找 FLAC 文件并不适用于 ffmpeg。将 FLAC 解码为原始 PCM 工作正常,但一旦我调用了 av_seek_frame(),下一次调用 av_read_frame() 将返回 -1,即文件结束。

我查看了源代码,发现了以下原因:FLAC 中的 seek 是在 libavformat/utils.c 中的 av_seek_frame_generic() 函数中实现的。该函数的基本作用是在循环中调用 av_read_frame() 并根据所需的查找位置检查数据包时间戳。

它不适用于 FLAC 的原因是 FLAC 数据包不包含任何时间戳,因为 FLAC 解码器使用一些通用读取器,该读取器总是从流中提取硬编码大小为 1024 字节的数据包。

我没有使用最新版本的 ffpmeg,而是旧版本,但由于 FLAC 播放效果很好,我不想切换到最新版本,因为这对我来说意味着重要的工作,因为我已经适应了这个旧版本的 ffmpeg根据我的具体需求。这就是为什么我想问这个问题,如果有人知道如何在这个旧版本的 ffmpeg 中修复 FLAC 搜索(具体来说,它是 2010 年的 0.6 版)。

谢谢!

最佳答案

似乎在 0.6 中根本不支持它,因为该版本中没有 FLAC 解析器。我现在从 0.8 中获取了 FLAC 解析器并将其与 0.6 版本合并。所以它现在工作正常。

关于ffmpeg - 使用 ffmpeg 寻找 FLAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17765667/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com