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

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

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

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

动态布局调整

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

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

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

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

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

源代码在 这里布局

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

相关文章
相关标签/搜索