久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

python3從網絡攝像機解析mjpeg http流的示例

瀏覽:4日期:2022-07-05 15:29:31

前言

網絡攝像頭的視頻流解析直接使用通過http的Mjpeg是具有邊界幀信息的multipart / x-mixed-replace,而jpeg數據只是以二進制形式發送。因此,實際上不需要關心HTTP協議標頭。所有jpeg幀均以marker開頭,0xff 0xd8并以結尾0xff 0xd9。因此,上面的代碼從http流中提取了此類幀,并將其一一解碼。像下面

...(http)0xff 0xd8 --|[jpeg data] |--this part is extracted and decoded0xff 0xd9 --|...(http)0xff 0xd8 --|[jpeg data] |--this part is extracted and decoded0xff 0xd9 --|...(http)

如果圖像的獲取是從tcp網絡中傳輸到本地進行解析需要對bytes類型數據進行解碼

在使用OpenCV直接調用網絡攝像頭時可能會出現

Cam not found

這時候就需要下面這種辦法

代碼: 幀解析

import cv2cap = cv2.VideoCapture(’http://localhost:8080/frame.mjpg’) while True: ret, frame = cap.read() print(frame) if ret == True: cv2.imshow(’Video’, frame) if cv2.waitKey(1) == 27: exit(0)

視頻流解析

import cv2import requestsimport numpy as np r = requests.get(’http://192.168.1.xx/mjpeg.cgi’, auth=(’user’, ’password’), stream=True)if(r.status_code == 200): bytes = bytes() for chunk in r.iter_content(chunk_size=1024): bytes += chunk a = bytes.find(b’xffxd8’) b = bytes.find(b’xffxd9’) if a != -1 and b != -1: jpg = bytes[a:b+2] bytes = bytes[b+2:] i = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8), cv2.IMREAD_COLOR) cv2.imshow(’i’, i) if cv2.waitKey(1) == 27:exit(0)else: print('Received unexpected status code {}'.format(r.status_code))

以上就是python3從網絡攝像機解析mjpeg http流的示例的詳細內容,更多關于python 解析mjpeg http流的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 一区二区三区四区免费观看 | 精品久 | 一级欧美 | 国产aaaaav久久久一区二区 | 天天天操 | 久久精品国产亚卅av嘿嘿 | 日韩精品一区二区三区在线观看 | 国产成人午夜视频 | 欧美久久一区二区三区 | 中文字幕免费视频观看 | 91资源在线| 久久线视频 | 男人天堂网站 | 国产精品成人国产乱一区 | 欧美性猛片| 一区二区激情 | 亚洲国产成人av | 国产成人一区二区 | 99久久婷婷国产精品综合 | 午夜免费av | 久久99精品国产自在现线 | 国产高清一区 | 中文字幕亚洲一区 | 欲色av| 毛片网站免费在线观看 | 四虎欧美 | 欧美 日韩 亚洲 一区 | 精产国产伦理一二三区 | 伊人激情综合 | 亚洲国产成人av | 国产在线成人 | 中文字幕亚洲区 | 国产亚洲www | 亚洲天天干 | 久久精选视频 | 久久久精品日本 | 超碰免费在 | 午夜精品久久 | 成人在线看片 | 日日撸| 91精品国产乱码久久蜜臀 |