
一日不見,可謂是如隔三秋!在學校,晚上十二點就會斷網了!經常用流量又傷不起,畢竟一晚上可以和女票聊好久!所以就琢磨著弄個不用網也能視頻聊天的東西來,經過小編半個月的研究!終于給弄出來了,總不能每天隔著窗子對著對面樓層喊吧!好了,下面就是干貨,小編的私生活還是不能給大家透露太多!

- 實驗知識點
本課程專案完成程序中將學習:
- Python 基于 OpenCV 對攝像頭資訊的捕獲和壓縮
- Python 關于 執行緒 和 socket 通信的一些基礎技巧
- Python 基于 PyAudio 對語音資訊的捕獲和壓縮
其中將重點介紹 socket 傳輸程序中對資料的壓縮和處理,

現在,我們的實驗環境就搭好了,

三、實驗原理
實驗實作了簡易的視頻通信工具,基于 OpenCV 和 PyAudio,使用 TCP 協議通信,通信雙方建立雙向 CS 連接,雙方均維護一個客戶端和一個服務器端,在捕獲視頻資訊后,根據用戶指定的引數對畫面做壓縮并傳輸,最后,如果你的時間不是很緊張,并且又想快速的提高,最重要的是不怕吃苦,建議你可以聯系維:762459510 ,那個真的很不錯,很多人進步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~


4.2 實作攝像頭資料流捕獲
OpenCV 為 Python 提供的介面非常簡單并且易于理解,捕獲視頻流的任務應當由 Client 類完成,下面完善 Client 的 run 函式,在下面的代碼中,我們為類添加了一個成員變數 cap ,它用來捕獲默認攝像頭的輸出,






服務器端最終代碼如下,增加了對接收到資料的解壓縮處理,

4.5 加入音頻的捕獲和傳輸
在完成視頻通信的基礎上,整體框架對于音頻通信可以直接挪用,只需要修改其中捕獲視頻/音頻的代碼和服務器解碼播放的部分,這里我們使用 PyAudio 庫處理音頻,在 Linux 下你也可以選擇 sounddevice ,關于 sounddevice 這里不做過多介紹,你可以在這里看到它最新版本的檔案,將 vchat.py 復制一份,重命名為 achat.py ,簡單修改幾處,最終音頻捕獲、傳輸的完整代碼如下,我將上面代碼中的 Server 和 Client 分別加上 Video 和 Audio 前綴以區分,同時顯示給用戶的 print 輸出陳述句也做了一定修改,對于視頻加上 VIDEO 前綴,音頻加上 AUDIO 前綴,如果你對代碼中使用到的 PyAudio 提供的庫函式有所疑問,可以在這里找到相關的入門檔案及示例,最后,如果你的時間不是很緊張,并且又想快速的提高,最重要的是不怕吃苦,建議你可以聯系維:762459510 ,那個真的很不錯,很多人進步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~







轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299267.html
標籤:其他
