主要考慮以下兩種情況
1)上傳端網絡波動比較大。
2)收聽端網絡比較大。
當主播網絡波動到低點時,可以重新修改編解碼參數到一個比較低的碼率值,此時需要注意的是修改過對於的音視頻數據的metadata,基頭兩-三個字節。
但收聽端網絡不佳的時候,可以通知服務,只發關鍵幀或者乾脆不發視頻幀,只發音頻幀,因爲在視頻會議中,音頻的優先級別要大於視頻的優先級別,不過。rtmp協議本身並不支持這種命令,需要自己擴展
具體到srs中,因爲每一路的play都是通過一個consumer來做代理的,consumer中,保存了音視頻數據的ref,這時可以在consumer中增加一個標誌量,如果接受到減少視頻傳輸甚至是不進行視頻傳輸的質量,可以丟棄一系列的包。來實現。