我試圖在網頁上顯示實況網絡攝像頭視頻流,並且我有一份工作草案。但是,我對錶現不滿意,並尋找更好的方式來完成這項工作。網頁上的實況視頻編碼和流式傳輸
我有一個攝像頭連接到Raspberry PI和一個簡單的python-Flask服務器的Web服務器。通過使用OpenCV捕獲網絡攝像頭圖像並將其格式化爲JPEG。之後,這些JPEG將被髮送到服務器的一個UDP端口。我到目前爲止所做的就像是一個自制的MJPEG(motion-jpeg)流媒體。
在服務器端,我有一個簡單的python腳本,它不斷讀取UDP端口並將JPEG圖像放入HTML5畫布中。這足以快速創建直播視頻。
問題:
該壓縮視頻非常小。實際上它不會壓縮視頻。它只能通過格式化爲JPEG來減小幀的大小。
FPS低,質量也不是很好。
這不是現在的主要觀點,但UDP並不是安全的視頻流傳輸方式。
服務器正忙於從UDP中進行圖像拾取。需要線程化服務器設計。
替代方案:
- 我已經使用FFMPEG之前轉換視頻格式,同時也流預先錄製的視頻。我想,可以使用ffmpeg或avconv進行編碼(比如說H.264)並將WebCam實時視頻流。 (編碼)
這是適用於樹莓派?
- VLC能夠播放在網絡上流傳的實況視頻。 (流)
是否有任何媒體播放器嵌入HTML/Javascript來處理類似的VLC 網絡流呢?
- 我已閱讀關於HLS(HTTP實時流)和MPEG-DASH。
這些適用於這種情況嗎?如果是這樣,我應該如何使用它們?
是否有任何其他方式在網頁上顯示直播?
- RTSP是一種安全協議。
什麼是視頻流 傳輸層協議的最佳做法?