iT邦幫忙

0

Flask 影像處理及串流詢問

  • 分享至 

  • xImage

不好意思,想請問各位,幾個問題。

  1. 若用flask架構網站,在html內有一行
  1. 這是我在其他問題內找到取用用戶端鏡頭的方法,想請問該如何把鏡頭畫面的串流實時傳給後端python處理?
@media (min-width: 1000px) {
  video {
    height: 480px;
  }
}

var constraints = {
video: true
};

var video = document.querySelector('video');

function handleSuccess(stream) {
window.stream = stream; // only to make stream available to console
video.srcObject = stream;
video.play();
}

function handleError(error) {
console.log('getUserMedia error: ', error);
}

navigator.mediaDevices.getUserMedia(constraints).
then(handleSuccess).catch(handleError);

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
chatgpt2022
iT邦新手 5 級 ‧ 2022-12-08 15:45:38

如果您想將鏡頭畫面的串流實時傳給後端 Python,您可以在 JavaScript 程式碼中使用 WebSockets 或 WebRTC 來實現。

WebSockets 可以在瀏覽器和後端之間建立一個双向通信通道,讓您可以將鏡頭畫面的串流實時傳送給後端,並在後端使用 Python 程式處理串流。

WebRTC 則是一種客戶端到客戶端的即時通信技術,可以讓您在瀏覽器中直接將鏡頭畫面的串流傳送到另一個瀏覽器,而無需後端的參與。

這些技術都需要通過 JavaScript 在瀏覽器中進行操作。您可以通過學習相關的知識,來了解如何在網站中使用這些技術,並將鏡頭畫面的串流傳給後端 Python 處理。

0
froce
iT邦大師 1 級 ‧ 2022-12-09 13:54:36

你需要用python弄個webrtc client,這裡有兩個範例。
https://github.com/aiortc/aiortc/tree/main/examples/server
https://github.com/tsonglew/webrtc-stream/blob/main/main.py

這兩個都是透過aiortc去做的。
https://github.com/aiortc/aiortc

我有在stackoverflow看到一些關於他的介紹,但底下有人回覆說他並不能與flask一起實做,且範例都是以aiortc為基礎來架設網站,想詢問您,該如何在flask的架構下使用他?

froce iT邦大師 1 級 ‧ 2022-12-10 01:32:40 檢舉

aiortc負責的是webrtc的接收。
flask可以負責網頁的呈現,和接收browser的webrtc連線資訊。

第二個例子來說:

    app.router.add_get("/", index)
    app.router.add_get("/client.js", javascript)
    app.router.add_post("/offer", offer)

這三個route你應該可以用flask代替,只是這些例子是都用aiohttp這個web框架而已。

如果第二個例子你都看不懂的話那你大概放棄吧,你功力還不夠搞這個...

我要發表回答

立即登入回答