視頻服務器(12) Kurento[7] 保存視頻圖像

生娃了,斷斷續續補充完整

--------------------------------

項目需求,無法用webrtc方式播放視頻流,考慮採用定時獲取視頻圖像的方式,達到類似的效果。

即網絡環境不允許服務端推送視頻流給客戶端,只能客戶端自己來獲取(視頻或者圖片),獲取視頻的方式(RTMP,HLS)都是保存小視頻段的方式,延遲比較明顯,3-5s,可能也是技術積累有限吧。獲取圖片的方式,其實延遲倒還好,但是丟幀比較嚴重,而且沒聲音,看項目需要吧,暫時先用這種方式來。之前在unity的webgl方式在三維裏面顯示視頻其實就是把Html的Video的視頻圖像轉換並保存到Unity中,Unity裏面刷新顯示一幀一幀的圖片,刷新率太高會影響Unity性能,太低則丟幀嚴重。100ms似乎還算平衡。

具體來說,Kurento有個RecorderEndPoint,將PlayerEndPoint連接上RecorderEndPoint後,就能將視頻保存到本地了,理論上。

總之使用代碼是:

 

實際操作中碰到一些問題。第一個問題是權限,保存的目錄必須是tmp文件夾下面的,爲創建的目錄,kurento會自己創建相應的目錄和文件。如果保存到其他目錄下,則創建失敗,而且沒有任何錯誤提示。

 

recorder.record(new Continuation<Void>() {
                @Override
                public void onSuccess(Void aVoid) throws Exception {
                    //log.info("recordonSuccess");
                    //無論是否保存都會進入這裏
                    //目錄沒有權限無法保存的情況下也會進入這裏。
                }
                @Override
                public void onError(Throwable throwable) throws Exception {
                    log.info("recordonError:"+throwable);
                }
            });

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章