美好的一天,我使用 esp8266 模块作为服务器,带有摄像头模块通过 wifi 连续传输 jpeg 图像。我想在同一个浏览器窗口中同时拥有流式视频、文本和按钮。所以我用 HTML 创建了网页,并为流窗口、文本和按钮使用了“multipart/x-mixed-replace”内容类型,因为我读到这种类型接受各种子类型,如 html 和图像。流媒体窗口有效,但...
- 当我将视频请求发送到服务器时,我会看到一段时间的视频流,然后屏幕会在几分之一秒内显示文本和按钮,然后再次显示视频流并继续。它们永远不会一起出现在同一个窗口中。它们只是闪烁。
- 流媒体窗口位于浏览器选项卡的中心,周围有灰色背景色,我不知道如何更改位置和颜色,也不知道它们为什么会这样。
- 当我打开浏览器的“检查元素”选项以检查从服务器发送的代码(我编写的 HTML 代码)时,我注意到,在标签内,有 4 行我没有在代码中编写的 HTML 代码。他们不知从何而来,我不知道如何阻止他们。
总而言之,我想做的是将流式视频窗口、文本和按钮同时放在同一个浏览器窗口中。
下面是我编写的 HTML 代码和流媒体窗口的图像,我认为我对内容类型做错了,或者我没有以正确的方式使用它。
HTTP/1.1 200 OK
Content-Type: multipart/x-mixed-replace; boundary=frame
--frame //this part shows the jpeg image captured
Content-Type: image/jpeg
..
fetch jpeg image part
..
--frame //this part hopefully adds text and buttons
Content-Type: text/html // along with the streaming video window
<!DOCTYPE HTML> //This is the idea at least...
<html>
<body>
<h1 style="position:relative; left:25px;"> ⚓ Observation Panel ⚓</h1>
<a href="/ ">
<button type="button" style="position:absolute; top:320px;
left:95px; color:blue; height:70px; width:90px; font-weight: bold;
border-style:riddge; border-width:2px; border-color:black;" >
Stop Stream
</button>
</a>
<body>
</html>
然后不断重复上述过程,以创建带有按钮和文本的视频流。至少是这样的想法...
感谢您的时间。
[1][流的 HTML 代码 + 文本 + 按钮]
[2][我的笔记本电脑从服务器接收的 HTML 代码]
[1]:https ://i.stack.imgur.com/l4GSa.jpg [2]:https ://i.stack.imgur.com/S8fTO.jpg