在C代码中实现'-async 1'以纠正不同步的音频

时间:2013-09-11 14:16:20

标签: video ffmpeg libav

我已经构建了一个分段器,根据HLS规范将h264 / AAC视频和段作为输入。它的源代码可以在这里看到:https://gist.github.com/cpnielsen/f36729c371aac0fe535d

它是作为python扩展实现的,但有趣的部分在process_video()函数中。它利用libav库(或ffmpeg)来完成繁重的工作。

它有95%的时间可以工作,但是我们发现了一些视频,它会产生音频不同步的片段。如果我使用命令行工具,我可以简单地添加-async 1来修复它,但是如何在我的C代码中实现相同的功能呢?

我在avconv_filter.c中发现了一段代码(对于libav,不确定ffmpeg等价物是什么),他们启动过滤器,但没有任何文档,很难确定在整个模块化设置之外如何做到这一点。

我只需要:

  1. 启动正确的过滤器
  2. 将其应用于输入(或输出?不确定)
  3. 了解使用过滤器时的任何陷阱。
  4. 欢迎任何帮助;示例代码,过滤器说明等。

0 个答案:

没有答案