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后编码保存。效果如下:
源代码
项目更多信息: https://github.com/Xingtao/FFdynamic