FFdynamic封装了FFmpeg的底层音视频处理,提供一个将音视频不一样组件进行组合的框架,以及在程序运行时能够动态的改变各组件状态的模块。git
如下是使用FFdynamic开发的一个互动直播程序,效果如图:github
图示了自动分屏变化(由2个输入流到3个输入流)和经过request改变分屏(4分屏、9分屏)bash
好比,咱们开发了一个去雾模块,想对比下去雾的效果,咱们能够将原始流和去雾后流合成到一个屏幕编码保存,这个场景以下:框架
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…编码