成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Python使用UDP實(shí)現(xiàn)720p視頻傳輸?shù)牟僮?/div>

Python使用UDP實(shí)現(xiàn)720p視頻傳輸?shù)牟僮?/h1>

熱門標(biāo)簽:上海機(jī)器人外呼系統(tǒng)哪家好 浙江電銷卡外呼系統(tǒng)好用嗎 南京銷售外呼系統(tǒng)軟件 地圖標(biāo)注的意義點(diǎn) 地圖制圖標(biāo)注位置改變是移位嗎 房產(chǎn)電銷外呼系統(tǒng) 地圖標(biāo)注微信發(fā)送位置不顯示 蓋州市地圖標(biāo)注 315電話機(jī)器人廣告

1. 項(xiàng)目背景

視頻傳輸: 在一臺(tái)電腦上播放視頻(捕捉攝像頭畫面),同局域網(wǎng)內(nèi)另一臺(tái)電腦上實(shí)時(shí)播放,盡量不卡頓。

先放最后的照片,和用gif展示一下視頻效果。

傳輸視頻可以采取圖片或者流的形式,本文采取傳輸圖片的形式,在1s之內(nèi)顯示多張圖片從而形成連續(xù)的視頻畫面。

經(jīng)費(fèi)有限,所有實(shí)驗(yàn)均基于筆記本電腦。

使用的視頻源是本機(jī)攝像頭,以及進(jìn)擊的巨人720p資源。

2. 解決方案

1. 使用Python的Socket,使用opencv捕捉攝像頭/視頻的畫面。

2. 原始的圖片很大(720p的大小是1920*1080*3),整圖就算壓縮成jpg格式其大小也非常大。而UDP最大只能傳輸65535字節(jié)大小的數(shù)據(jù)區(qū),故對(duì)圖片進(jìn)行分塊,分塊過(guò)后的數(shù)據(jù)壓縮成jpg格式,并對(duì)圖片分塊數(shù)據(jù)進(jìn)行編號(hào)。

3. 實(shí)驗(yàn)檢測(cè)表明,本文實(shí)驗(yàn)環(huán)境發(fā)送端不需要使用發(fā)送隊(duì)列,基本上新生成的幀很快就能被socket傳輸?shù)簟?/p>

4. 接收端使用多線程接收,每個(gè)線程是一個(gè)socket,接收過(guò)后的數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)片池。

5. 接收端另開(kāi)一個(gè)線程,用于反復(fù)從數(shù)據(jù)片池 讀取數(shù)據(jù)片,根據(jù)數(shù)據(jù)片的編號(hào)更新幕布,這里幕布是專門用于圖像顯示的一個(gè)數(shù)組,其維度是720p(1920*1080*3)。更新過(guò)后的結(jié)果暫存于圖片池

6. 主線程反復(fù)從圖片池讀取圖片,并顯示。

3. 實(shí)現(xiàn)細(xì)節(jié)

3.1 TCP/UDP的選擇

為了實(shí)現(xiàn)低延遲,毫無(wú)疑問(wèn)選取無(wú)連接的UDP傳輸。

3.2 圖片分片算法

這里其實(shí)也談不上什么算法,就是將圖片水平分割。這種做法的好處在于,分割后圖片的編號(hào)可以和區(qū)域一一對(duì)應(yīng)。本文沒(méi)有探索更為復(fù)雜的圖片分片算法。

經(jīng)過(guò)處理,圖片變?yōu)橐粋€(gè)個(gè)分片,如下:

對(duì)上述圖片進(jìn)行編號(hào),很顯然可以編號(hào)0,1,2,3,對(duì)于任意分塊(例如2)在圖像數(shù)組中對(duì)應(yīng)的區(qū)域是frame[2*piece_size:(2+1)*piece_size],其中piece_size表示一片數(shù)據(jù)的大小。

這種對(duì)應(yīng)關(guān)系方便解壓后的圖像還原操作。

3.3 JPG壓縮

這其實(shí)是個(gè)很小的技術(shù)點(diǎn),因?yàn)槭褂玫膲嚎s算法都是現(xiàn)成的。但是值得一提的是,JPG的壓縮率是真的高,在實(shí)驗(yàn)數(shù)據(jù)上實(shí)現(xiàn)了10-20倍的壓縮率。

使用了多線程壓縮,壓縮完過(guò)后,更新對(duì)應(yīng)的桶,這里的桶實(shí)際上就是數(shù)據(jù)片。

由主線程Main Thread反復(fù)從桶里取數(shù)據(jù)片(t1),每取1片發(fā)送一次,然后再取下一片(t2),直到所有桶都被取了一次(例子中有10片)。

至此,一張圖片的分片數(shù)據(jù)被全部取完,于是開(kāi)始統(tǒng)計(jì)一些FPS相關(guān)信息。

3.4 接收隊(duì)列

接收端開(kāi)了10個(gè)線程用于異步socket接收數(shù)據(jù)片。

為了保證接收端產(chǎn)生絲滑的視頻效果,使用接收隊(duì)列是個(gè)不錯(cuò)的選擇。本文使用了2個(gè)隊(duì)列的設(shè)計(jì)。實(shí)現(xiàn)數(shù)據(jù)接收的二級(jí)緩沖。示意圖如下:

這樣一來(lái),視頻效果明顯絲滑了很多。

4. 遇到的坑及解決辦法

4.1. Windows防火墻

巨坑,最好都關(guān)了。

4.2. 路由器網(wǎng)絡(luò)頻段

同一臺(tái)路由器的5G和2.4G頻段有時(shí)候不能互相ping通,要確保兩個(gè)電腦連接在同一頻段上。

4.3. Wifi配置

如果上述設(shè)置都對(duì)了,但是還是ping不通。將wifi連接設(shè)置成專用網(wǎng)絡(luò),也許就能解決問(wèn)題。

4.4. 硬件瓶頸

個(gè)人PC的性能是較大瓶頸,尤其是單機(jī)測(cè)驗(yàn)的時(shí)候(本地兩個(gè)終端,一個(gè)發(fā)送、一個(gè)接收),CPU使用率分分鐘到100%。聽(tīng)某個(gè)技術(shù)大哥說(shuō)要使用GPU壓縮。

用兩臺(tái)電腦,一臺(tái)接收一臺(tái)發(fā)送之后,效果要好很多。

4.5. OpenCV讀取攝像頭大坑

由于攝像頭驅(qū)動(dòng)的關(guān)系,在我的電腦上需要設(shè)置以下兩個(gè)變量,才能成功啟用外置的720p攝像頭。

	os.environ["OPENCV_VIDEOIO_DEBUG"] = "1"
	os.environ["OPENCV_VIDEOIO_PRIORITY_MSMF"] = "0"

即使如此,如果不做額外的設(shè)置,讀出來(lái)的圖片將是480p的(看起來(lái)很像是720p被壓縮過(guò)后的)。所以如果要傳輸真·720p,還需要設(shè)置讀出的圖像大小,如下:

	self.stream = cv2.VideoCapture(1) # 讀取第一個(gè)外置攝像頭
	self.stream.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)   # float
	self.stream.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)   # float

4.6. Socket卡頓

不知道是不是我寫的有問(wèn)題,感覺(jué)多線程的socket會(huì)爭(zhēng)搶資源(發(fā)送和接收的線程間,對(duì)應(yīng)5.1節(jié)功能),造成接收端的畫面顯示將變得卡頓。

5. 尚未Bug Free的功能

5.1 使用TCP回傳幀率信息

為了計(jì)算網(wǎng)絡(luò)時(shí)延,采取類似伽利略測(cè)光速的方法。從數(shù)據(jù)包打包之前,到對(duì)方收到數(shù)據(jù)包之后,再將這個(gè)數(shù)據(jù)回傳到發(fā)送方。

這樣就不存在兩臺(tái)機(jī)器時(shí)間差校準(zhǔn)的問(wèn)題。

該算法的大致流程如下圖所示。

這種計(jì)算方式應(yīng)該是自己的實(shí)驗(yàn)環(huán)境下比較準(zhǔn)確的方法了。

時(shí)延信息的反饋不需要特別快(比如200-500ms發(fā)送一次),所以使用TCP技術(shù)

其實(shí)TCP和UDP在使用Python編程的時(shí)候代碼差距可以說(shuō)極小…

但是?。?!

自己目前在實(shí)現(xiàn)信息回傳的時(shí)候,會(huì)莫名卡頓起來(lái)。

接收端建立回傳的socket之后,甚至還沒(méi)傳輸數(shù)據(jù),整個(gè)程序運(yùn)行起來(lái)就變得非??D,這個(gè)讓我比較苦惱,目前正在找bug.

5.2 擁塞控制 (流量控制)的算法

這部分的思想是流量控制,感謝評(píng)論區(qū)指正。

5.1節(jié)如果一并回傳接收端隊(duì)列狀態(tài)信息。如果接收端隊(duì)列太滿,說(shuō)明來(lái)不及處理視頻幀了,從而對(duì)發(fā)送端的發(fā)送速度進(jìn)行控制,才是“擁塞控制”

這個(gè)本來(lái)是想著和5.1綜合起來(lái)用的,已經(jīng)寫好了,但是還沒(méi)能真正展現(xiàn)價(jià)值,設(shè)計(jì)是否合理也值得商榷。

控制的是發(fā)送端的發(fā)送頻率,從而實(shí)現(xiàn)接收端的流暢播放

思想和TCP的擁塞控制一樣慢增長(zhǎng),快下降。如果接收端的隊(duì)列一直處于較空的狀態(tài),則表明還有一定的性能剩余,此時(shí)可以緩慢加快發(fā)送的頻率;如果檢測(cè)到接收端隊(duì)列中數(shù)據(jù)較多,表明發(fā)送速度太快來(lái)不及顯示,這時(shí)候就大幅下降發(fā)送的頻率。

這個(gè)擁塞控制的算法基于幾個(gè)假設(shè):

1.網(wǎng)絡(luò)情況良好,丟包率比較低;

2接收端電腦的性能足夠高,來(lái)得及處理解包、顯示圖像。

如果5.1能夠正確實(shí)現(xiàn),則應(yīng)該根據(jù)網(wǎng)絡(luò)時(shí)延的大小來(lái)控制發(fā)送的頻率。

6. 總結(jié)

這個(gè)項(xiàng)目是一周的時(shí)間內(nèi)完成的,目前還有點(diǎn)bug。小組內(nèi)的成員分別在不同技術(shù)方向上進(jìn)行了探索,收獲都還挺大的。這篇博客就當(dāng)一個(gè)項(xiàng)目總結(jié)吧,寫的難免有紕漏之處。

github地址:https://github.com/820fans/UDP-Video-Transfer

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python+uiautomator2實(shí)現(xiàn)自動(dòng)刷抖音視頻功能
  • Python爬蟲之爬取嗶哩嗶哩熱門視頻排行榜
  • 如何用python反轉(zhuǎn)圖片,視頻
  • python基于tkinter制作m3u8視頻下載工具
  • 寫一個(gè)Python腳本自動(dòng)爬取Bilibili小視頻
  • 用python制作詞云視頻詳解
  • Python通過(guò)m3u8文件下載合并ts視頻的操作
  • 用Python制作燈光秀短視頻的思路詳解
  • Python從視頻中提取音頻的操作
  • python爬取梨視頻生活板塊最熱視頻
  • 教你如何使用Python下載B站視頻的詳細(xì)教程

標(biāo)簽:陽(yáng)泉 赤峰 金華 貴州 臨汾 克拉瑪依 雙鴨山 日照

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python使用UDP實(shí)現(xiàn)720p視頻傳輸?shù)牟僮鳌?,本文關(guān)鍵詞  Python,使用,UDP,實(shí)現(xiàn),720p,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python使用UDP實(shí)現(xiàn)720p視頻傳輸?shù)牟僮鳌废嚓P(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python使用UDP實(shí)現(xiàn)720p視頻傳輸?shù)牟僮鞯南嚓P(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩一区欧美小说| 久久久成人的性感天堂| 狠狠色丁香久久综合频道| 色综合久久悠悠| 一区不卡视频| 免费在线观看h片| 久久99久久99精品免视看婷婷| 蜜桃视频网站www| 欧美日韩免费| 亚洲二区在线视频| 每日更新在线观看av| 妖精一区二区三区精品视频| 国产精品超碰97尤物18| 精品国产乱码久久久久久虫虫漫画| 天天综合色天天| 国产一级黄色片免费| 精品一区二三区| 日韩精品在线观看视频| www.久久伊人| 日韩大片在线观看视频| 色婷婷av久久久久久久| 啊v视频在线一区二区三区| 亚洲视频欧美在线| 国产精品第九页| 成人免费黄色在线| 欧美在线中文| 日韩高清不卡在线| 91精品国产乱码在线观看| 成人午夜视频在线观看免费| 亚洲精品成人天堂一二三| 午夜精品久久久久久毛片| 天天射天天爱天天射干| 精品在线视频免费| 久青草国产97香蕉在线视频| 99超碰麻豆| 菠萝蜜网站在线观看| 久久精品国产成人精品| 国产99久久久国产精品免费看| 久久久精品国产| 岛国一区二区在线观看| 久久av高潮av| 亚洲欧美日本精品| 男女高潮又爽又黄又无遮挡| 99久久er热在这里只有精品66| 亚洲一二三区视频| 一级 黄 色 片一| 一区二区三区四区视频| 亚洲伊人久久大香线蕉av| 亚洲美女少妇无套啪啪呻吟| 日韩av手机在线观看| 亚洲色欲色欲www在线观看| 日韩欧美精品在线| 亚洲欧美日韩精品一区二区| 国产免费黄色一级片| 99精品福利视频| 国产精品久久久久久久久久10秀| 国产精品美女网站| 久久一区二区三区视频| 午夜视频在线观看免费视频| 亚洲AV无码精品自拍| 成人同人动漫免费观看| av色图一区| 欧美精品欧美精品| 黄色网页免费看| 爆操妹子视频在线观看| 在线观看污污网站| 欧美午夜精品理论片a级按摩| 99久久婷婷国产| 无码国产精品高潮久久99| 在线免费91| 欧美a一区二区| 国产 日韩 欧美| 天天槽夜夜槽| 国产亚洲网站| 精品久久一区二区三区蜜桃| 亚洲色欲久久久综合网东京热| 综合日韩av| 久久精品视频在线| 国产69精品99久久久久久宅男| 国产免费人做人爱午夜视频| 超碰国产在线观看| 欧美日韩国产成人在线91| 国产精品久久久久白浆| 在线观看 中文字幕| 亚洲尤物视频在线| a级精品国产片在线观看| 免费全黄无遮挡裸体毛片| 热99re久久精品这里都是免费| 国产成人精品亚洲777人妖| 一二三四视频社区在线| 欧美精品一区二区三区很污很色的| 亚洲精品一区三区三区在线观看| 成人影院www在线观看| 国产在线观看免费av| www.欧美精品一二区| 全亚洲最色的网站在线观看| 日韩一区二区免费在线电影| 欧美一级高清大全免费观看| 99re久久最新地址获取| av一区二区在线观看| 精品国产无码在线| 欧美高清性xxxxhdvideosex| 欧美刺激性大交免费视频| 在线观看免费成人av| 日本在线播放一二三区| sis001亚洲原创区| 国内精品一区二区三区四区| 日本网站在线免费观看视频| 亚洲三级视频在线观看| 国产98色在线| 涩爱av在线播放一区二区| 综合久久国产| 亚洲精品狠狠操| 日韩在线观看电影完整版高清免费悬疑悬疑| 天堂av网手机版| 老牛影视一区二区三区| 冲田杏梨av在线| 欧美舌奴丨vk视频| 国产中文字字幕乱码无限| 亚洲大香人伊一本线| 欧美女人性生活视频| 国产做a爰片久久毛片| 欧美jizz19性欧美| 国产日韩精品一区二区浪潮av| 久久久久亚洲精品一区二区三区| 久久午夜精品视频| 天天想你在线观看完整版电影免费| 婷婷久久综合九色综合绿巨人| 91女人视频在线观看| 天天干,天天操,天天射| 色爱精品视频一区| 可以看毛片的网址| 日韩欧美精品一区| 久久精品国产亚洲blacked| 玖玖爱在线观看| 精品麻豆一区二区三区| 国产精自产拍久久久久久| 国产精品久久久久久久乖乖| 黄色一级大片在线免费看国产一| 日韩国产亚洲欧美| 全部免费毛片在线播放网站| 国模无码国产精品视频| 国产剧情演绎av| 精品999日本久久久影院| 男女精品网站| 91亚洲自偷观看高清| 91精品国产欧美日韩| 日韩电视剧在线观看免费网站| 亚洲精品国产成人影院| 欧美色videos| 欧美日韩国产高清一区| 久久久久亚洲AV成人网人人小说| 中文字幕人成人乱码亚洲电影| 伊人网在线观看| 你懂得影院夜精品a| 色综合久久久888| 久久久综合久久久| 四虎成人精品永久免费av| 精品人体无码一区二区三区| 久久久久久免费网| 欧洲精品一区二区三区久久| 波多野结衣一二三区| 一级黄色av| www.4hu95.com四虎| 成年人午夜剧场| 亚洲mv大片欧洲mv大片精品| 国产日本亚洲高清| 亚洲欧洲专区| www.xx日本| 天堂免费在线视频| 中文字幕中文乱码欧美一区二区| 成人av网站在线观看免费| 久久精品日韩无码| 欧美日韩高清| 国产精品国产三级国产专区53| 黄色日韩在线| 国产亚洲精品综合一区91| 欧美一区二区视频在线播放| 色婷婷久久久综合中文字幕| 1024在线视频| gogo大尺度成人免费视频| 肉丝美足丝袜一区二区三区四| 男女激情网站| 亚洲综合网站| 精品国产视频一区二区三区| 婷婷六月国产精品久久不卡| av大全在线观看| 99中文字幕| 福利视频第一页| 一个色综合网站| 黄色成年人视频在线观看| 日本视频一二三区中文字幕| 亚洲综合中文字幕68页| 在线看黄色的网站| 激情五月播播久久久精品| 懂色av一区二区三区四区五区| 99视频精品全部免费在线| 高清不卡在线观看| 午夜性爽视频男人的天堂| 亚洲一卡二卡三卡四卡无卡网站在线看| 福利av痴女| 一区二区三区在线观看网站| 国产视频资源| 欧美性xxxxxbbbbbb精品| 疯狂试爱三2浴室激情视频| 中国日本在线视频中文字幕| 免费中国女人69xxxxx视频| 国产国语videosex另类| 伊人久久综合97精品| 亚洲小说图片区| 在线观看av网站永久| 日韩在线视频观看正片免费网站| 北条麻妃在线观看| 欧美精品免费在线观看| 82av视频| 四虎影院观看视频在线观看| 老熟妇高潮一区二区高清视频| 久久久综合网站| 午夜无码国产理论在线| 男人天堂午夜在线| 加勒比在线日本| 欧美日韩精品久久久| 伊人成综合网站| 97av在线影院| 椎名由奈jux491在线播放| 日韩欧美四区| 亚洲黑人在线| 5g影院5g天天爽永久免费影院| 亚洲欧美日韩动漫| 国产在线一级片| 成人一区二区三区| 国产日韩欧美日韩大片| 亚洲电影视频在线| 青青草国产成人av片免费| 国产乱妇无码大片在线观看| 亚洲av无码国产精品久久| 日日天天久久| x88av蜜桃臀一区二区| 日本精品999| 国产日韩欧美精品综合| 欧美日韩一区三区四区| 国产chinasex对白videos麻豆| 欧美日韩第一| 国产一区二区三区精品欧美日韩一区二区三区| 偷拍25位美女撒尿视频在线观看| 欧美亚洲一区二区三区四区| 欧美亚洲国产精品久久| 日韩视频免费中文字幕| 日本三级在线电影| 午夜久久久久久电影| 91人成在线| 可以在线观看的黄色网址| 能看的毛片网站| 最新一本之道波多野结衣| 亚洲精品电影在线一区| 国产精品专区一| 国产精品麻豆一区二区| 嫩草嫩草嫩草| 日韩av在线天堂网| 在线天堂新版最新版在线8| 国产欧美自拍| 国产精品乱码久久久久久| 中中文字幕av在线| 高清在线视频不卡| 久久久久国色av免费观看性色| 91精品国产欧美一区二区| 99人久久精品视频最新地址| 1024亚洲合集| 欧美成人精品一区二区三区在线看| 亚欧洲精品视频| 九色成人搞黄网站| 91久久精品国产91性色69| 黄色小说综合网站| 夜夜躁日日躁狠狠久久88av| 亚洲一区色图| 欧美另类一区二区三区| 欧美性bbwbbwbbwhd| 精品一区2区三区| 国产乱子伦一区二区三区国色天香| 日韩av系列| 欧美日韩精品一二三区| 中文字幕在线亚洲精品| 国产精品毛片一区视频| 亚洲同志男男gay1069网站| 肉色超薄丝袜脚交69xx图片| 国产精品黄色大片| 欧美视频中文一区二区三区在线观看| 在线观看免费电影| 人妻无码中文久久久久专区| 91精品国产高清自在线看超| 亚洲精品卡一卡二| 精品国产免费第一区二区| 制服.丝袜.亚洲.中文.综合懂| 1000精品久久久久久久久| 亚洲精品无码久久久久| 欧洲精品久久久久毛片完整版| 韩日精品在线| 一本久道久久综合婷婷鲸鱼| 国产精品一区二区免费| 蜜桃av噜噜一区二区三区小说| 奇米精品一区二区三区在线观看一| 久久黄色av网站| 国产中文在线| 黄色日韩网站视频| 91吃瓜在线观看| 中文字幕中文字幕中文字幕亚洲无线| 亚洲色图综合| 国产精品入口日韩视频大尺度| 天天综合色天天综合| 国产精品久久久久久久久久久久午夜片| 国产va免费精品高清在线| 九色porny蝌蚪视频在线观看| 香蕉av福利精品导航| 在线观看二区| 少妇一级淫片免费放中国| 久久精品久久99精品久久| 97视频人免费观看| 成人黄色片在线| 国产精品99久久久久久久女警| 日韩av在线播放中文字幕| 国产精品一站二站| 在线免费av网站| 国产亚洲激情视频在线| 九九大香尹人视频免费| 免费在线观看91| 少妇大叫太大太粗太爽了a片小说| 成人免费91| 久久人妻一区二区|