iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
自我挑戰組

鐵人挑戰系列 第 4

Day4- html視訊鏡頭

  • 分享至 

  • xImage
  •  

Day4

今天依舊研究如何在html中加入即時串流的視訊畫面

今日成果是成功在網頁上串流,但是缺點卻是在python上執行會有固定的http,不符合與其他研究生們的成果合併,但是由於今日成果是如此,還是稍微公布今天研究結果。

我是使用Python與Flask OpenCV 來建立一個攝影機MJPEG(Motion JPEG)即時串流,在網站上顯示webcam或camera攝影機的即時串流影像,這個應用常見於監控系統或者即時影像處理的情形上。

Flask裡使用render_template處理 templete,使用的串流技術是HTTP的multipart類型回應,瀏覽器透過不同的Content-Type header定義可以做出對應的反應,例如瀏覽器遇到Content-Type是application/zip就下載檔案,遇到Content-Type是application/pdf就預覽pdf等等。
本次使用到的Content-Type是multipart/x-mixed-replace,x-mixed-replace是Server利用HTTP推送串流的技術其中之一,作法是讓每一個資料區塊取代頁面中先前的一塊藉此達到更新畫面,利用這種技術你可以將圖片作為每一個資料區塊來傳送,這樣在瀏覽器上看起來就像在播放視訊或播放動畫的效果。
而連續地循環串流幾張影像,在index.html的img標籤裡放入video_feed

在 /video_feed 路由處理

Response 傳入一個 genator,multipart/x-mixed-replace:後續抵達的資料區塊會覆蓋先前的結果,藉此達成動畫效果boundary=frame:告知後續的連續資料塊以 --frame 作為各單位資料區塊邊界image/jpeg:告知傳送的每一塊的資料型態為 jpeg 影像


上一篇
Day3- html視訊鏡頭
下一篇
Day5- html視訊鏡頭
系列文
鐵人挑戰28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言