音視頻開發進階 - 互動直播混流服務開發

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…編碼

相關文章
相關標籤/搜索