2016-03-08 81 views
4

我試圖在網頁上顯示實況網絡攝像頭視頻流,並且我有一份工作草案。但是,我對錶現不滿意,並尋找更好的方式來完成這項工作。網頁上的實況視頻編碼和流式傳輸

我有一個攝像頭連接到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是一種安全協議。

什麼是視頻流 傳輸層協議的最佳做法?

回答

0

您可以使用FFmpeg將視頻流複合到H.264中的mp4容器中,然後可以直接在HTML5視頻元素中使用。