音视频开发进阶 - 互动直播混流服务开发

FFynamic - 扩展FFmpeg的音视频处理库 与 互动直播混流服务开发

FFdynamic封装了FFmpeg的底层音视频处理,提供一个将音视频不同组件进行组合的框架,以及在程序运行时可以动态的改变各组件状态的模块。

以下是使用FFdynamic开发的一个互动直播程序,效果如图:

图示了自动分屏变化(由2个输入流到3个输入流)和通过request改变分屏(4分屏、9分屏)

FFdynamic 可将音视频处理的各模块进行组合

比如,我们开发了一个去雾模块,想对比下去雾的效果,我们可以将原始流和去雾后流合成到一个屏幕编码保存,这个场景如下:

Demux |-> Audio Decode -> |-> Audio Encode -----------------------------------------> |
      |                                                                               | -> Muxer
      |                   |-> Dehaze Filter -> |                                      |
      |-> Video Decode -> |                    | Mix original and dehzed ->| Encode ->|
                          | -----------------> |
复制代码

解复用后将视频流送入视频解码器,解码后的帧一路送入去雾模块,另一路送入video mix模块;去雾后的数据也输出到video mix模块,经mix后编码保存。效果如下:

源代码在 这里

项目更多信息查看: github.com/Xingtao/FFd…

你可能感兴趣的:(音视频开发进阶 - 互动直播混流服务开发)