1.視頻信息的采集
對于攝像頭,使用OpenCV打開并獲取每一幀的圖像,將其封裝成字節(jié)流進(jìn)行傳輸
獲取攝像頭視頻流
cam = cv2.VideoCapture(0)? ? ?#打開攝像頭
while (cam.isOpened()):
ret,frame = cam.read()? ? ? #獲取視頻流
這一步?jīng)]啥好說的,最基本的API調(diào)用
對每一幀圖像進(jìn)行處理
將每一幀圖像寫入內(nèi)存(與寫入文件類似),然后讀出為字節(jié)用于網(wǎng)絡(luò)傳輸.可以想象為先將每一幀圖像都保存為文件,再發(fā)送文件,不過寫入文件太慢,這里直接寫入內(nèi)存
def array_pic_to_stream(pic):
stream = BytesIO()
pic = Image.fromarray(pic)
pic.save(stream, format=“JPEG”)
jepg = stream.getvalue()
stream.close()
return jepg
可以將BytesIO理解為一個(gè)保存在內(nèi)存中的文件,通過寫入,寫出操作將numpy.array()類型數(shù)據(jù)轉(zhuǎn)化為二進(jìn)制文件
對于屏幕,使用Image的截圖功能截取每一幀圖像,將其封裝成字節(jié)流
獲取視頻流
img = ImageGrab.grab()
out = img.resize((612,480))
這里要注意,之所以對圖片的大小進(jìn)行削減是因?yàn)閁DP傳輸?shù)陌拇笮∈怯邢拗频?好像是六萬五左右,而屏幕分辨率太高,所以 必須縮減
對每一幀圖像進(jìn)行處理
將Image對象轉(zhuǎn)化為數(shù)組,在轉(zhuǎn)化為字節(jié)流
def pic_to_array(pic):
stram = BytesIO()
pic.save(stram, format=“JPEG”)
array_pic = numpy.array(Image.open(stram))
stram.close()
return array_pic
def array_pic_to_stream(pic):
stream = BytesIO()
pic = Image.fromarray(pic)
pic.save(stream, format=“JPEG”)
jepg = stream.getvalue()
stream.close()
return jepg
2.發(fā)送
自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。
深知大多數(shù)Python工程師,想要提升技能,往往是自己摸索成長或者是報(bào)班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動(dòng)則幾千的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!
因此收集整理了一份《2024年P(guān)ython開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。
既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上前端開發(fā)知識(shí)點(diǎn),真正體系化!
由于文件比較大,這里只是將部分目錄大綱截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會(huì)持續(xù)更新文章來源:http://www.zghlxwxcb.cn/news/detail-848091.html
如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。。▊渥ython)文章來源地址http://www.zghlxwxcb.cn/news/detail-848091.html
涵蓋了95%以上前端開發(fā)知識(shí)點(diǎn),真正體系化!**
由于文件比較大,這里只是將部分目錄大綱截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會(huì)持續(xù)更新
如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。。▊渥ython)

到了這里,關(guān)于python實(shí)現(xiàn)基于UDP的視頻直播程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!