我已经构建了一个分段器,它根据 HLS 规范将 h264 / AAC 视频和分段作为输入。它的源代码可以在这里看到:https ://gist.github.com/cpnielsen/f36729c371aac0fe535d
它是作为 python 扩展实现的,但有趣的部分在process_video()
函数中。它利用libav
库(或者ffmpeg
)来完成繁重的工作。
它在 95% 的时间里都能正常工作,但我们遇到过一些视频,它会产生音频不同步的片段。如果我使用的是命令行工具,我可以简单地添加-async 1
来修复它,但是如何在我的 C 代码中实现相同的功能呢?
avconv_filter.c
我在启动过滤器的位置(对于libav
,不确定等效项是什么)找到了一段代码ffmpeg
,但是没有任何文档,很难弄清楚如何在整个模块化设置之外执行此操作。
我只需要:
- 启动正确的过滤器
- 将其应用于输入(或输出?不确定)
- 了解使用过滤器时的任何陷阱。
欢迎任何帮助;示例代码、过滤器说明等。