推流是視頻播放過程中非常重要的一環,之前我寫過流媒體播放器推流的過程,有興趣可以點這裏看一下:推流。大部分的視頻播放都是需推流組件來輔助的,比如EasyRTMP推流組件。
在實際的運用當中,我們有時候會遇到把一路視頻推幾路流的操作,這樣的情況我們也是可以實現的,所以本文我就打算來跟大家講一下使用EasyRTMP推流組件如何採集一路視頻流推4錄視頻流。
分析問題:
視頻採集涉及到Android驅動,暫時只支持同時採集一路視頻,但是可以生產4個視頻編碼器,編碼完成後分別推到4路不同的流中。
解決問題:
1、MediaStream.java中需要初始化4個Pusher:
2、MediaStream.java中爲每個Pusher設置流地址:
3、MediaStream.java中初始化4個視頻編碼器(軟編碼/硬編碼),:
4、MediaStream.java中的音頻採集AudioStream需要添加4個Pusher:
5、MediaStream.java中獲取攝像頭預覽的視頻流數據的回調中,分別給4個視頻編碼器輸入視頻幀:
6、MediaStream.java中停止預覽時,需要分別關閉4個視頻編碼器: