一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenCV的網(wǎng)絡(luò)實時視頻流傳輸教程

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-14 21:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

文章轉(zhuǎn)載于微信公眾號: 小白學視覺
作者:努比

很多小伙伴都不會在家里或者辦公室安裝網(wǎng)絡(luò)攝像頭或監(jiān)視攝像頭。但是有時,大家又希望能夠隨時隨地觀看視頻直播。
大多數(shù)人會選擇使用IP攝像機(Internet協(xié)議攝像機)而不是CCTV(閉路電視),因為它們具有更高的分辨率并降低了布線成本。在本文中,我們將重點介紹IP攝像機。IP攝像機是一種數(shù)字攝像機,可以通過IP網(wǎng)絡(luò)接收控制數(shù)據(jù)并發(fā)送圖像數(shù)據(jù),并且不需要本地記錄設(shè)備。大多數(shù)IP攝像機都是基于RTSP(實時流協(xié)議)的,因此Internet瀏覽器本身“不支持”它。

01.如何使用Web瀏覽器查看實時流媒體

計算機視覺是一個跨學科領(lǐng)域,涉及如何制作計算機以從數(shù)字圖像或視頻獲得高層次的理解。為了實現(xiàn)計算機視覺部分,我們將使用Python中的
OpenCV模塊,并在Web瀏覽器中顯示實時流,我們將使用FlaskWeb框架。在進入編碼部分之前,讓我們首先簡要地了解這些模塊。如果您已經(jīng)熟悉這些模塊,則可以直接跳到下一部分。
根據(jù)Wikipedia的說法,F(xiàn)lask是用Python編寫的微型Web框架。它被歸類為微框架,因為它不需要特定的工具或庫。它沒有數(shù)據(jù)庫抽象層,表單驗證或任何其他現(xiàn)有的第三方庫提供公用功能的組件。
根據(jù)GeeksForGeeks的說法,OpenCV是用于計算機視覺,機器學習和圖像處理的巨大開放源代碼庫,現(xiàn)在它在實時操作中起著重要作用,這在當今的系統(tǒng)中非常重要。

02.操作步驟
第1步-安裝Flask和OpenCV:
可以使用“_pip install_flask”和“_pip install opencv-python_”命令。我使用PyCharm IDE開發(fā)flask應(yīng)用程序。
第2步-導(dǎo)入必要的庫,初始化flask應(yīng)用程序:
現(xiàn)在,我們將導(dǎo)入必要的庫并初始化我們的flask應(yīng)用程序。

#Import necessary libraries

第3步-使用OpenCV捕獲視頻:
創(chuàng)建一個VideoCapture()對象以觸發(fā)相機并讀取視頻的第一個圖像/幀。我們可以提供視頻文件的路徑,也可以使用數(shù)字來指定本地網(wǎng)絡(luò)攝像頭的使用。要觸發(fā)網(wǎng)絡(luò)攝像頭,我們將“ 0”作為參數(shù)傳遞。為了從IP攝像機捕獲實時源,我們提供RTSP鏈接作為參數(shù)。

camera = cv2.VideoCapture(0)

第4步-添加窗口并從相機生成幀:

gen/_frames()函數(shù)進入一個循環(huán),在該循環(huán)中,它不斷從相機返回幀作為響應(yīng)塊。該函數(shù)要求攝像機提供一個幀,然后將其格式化為內(nèi)容類型為的響應(yīng)塊,并使其屈服image/jpeg,如上所示。代碼如下所示:

def gen_frames():  

*第5步-為網(wǎng)絡(luò)應(yīng)用的默認頁面定義應(yīng)用路由*:
路由指的是應(yīng)用程序的URL模式(例如myapp.com/home或myapp.com/about)。@app.route("/")是Flask提供的Python裝飾器,用于在我們的應(yīng)用中分配URL以便輕松運行。

@app.route('/')

裝飾器告訴我們@app,只要用戶訪問給定的應(yīng)用程序域(_本地服務(wù)器的localhost:5000)_.route(),就執(zhí)行該index()功能。Flask使用Jinja模板庫渲染模板。在我們的應(yīng)用程序中,我們將使用模板來呈現(xiàn)HTML,這些HTML將顯示在瀏覽器中。
*第6步-定義視頻供稿的應(yīng)用路由:*

@app.route('/video_feed')

“ / video/_feed”路由返回流式響應(yīng)。由于此流返回要在網(wǎng)頁中顯示的圖像,因此路由的URL在image標記的“ osrc”屬性中(請參見下面的“ index.html”)。瀏覽器將通過在其中顯示JPEG圖像流來自動更新圖像元素,因為大多數(shù)/所有瀏覽器都支持多部分響應(yīng)
讓我們看一下我們的index.html文件:


第7步-啟動Flask服務(wù)器

if __name__ == "__main__":

調(diào)用app.run()并將Web應(yīng)用程序本地托管在[localhost:5000]上。
“ debug = True”可確保我們不需要在每次進行更改時都運行應(yīng)用程序,只需在服務(wù)器仍在運行時刷新網(wǎng)頁即可查看更改。
項目結(jié)構(gòu):

該項目保存在名為“攝像機檢測”的文件夾中。我們運行“ app.py”文件。運行此文件后,我們的應(yīng)用程序?qū)⑼泄茉诒镜胤?wù)器的端口5000上。

只需在運行“ app.py”后在網(wǎng)絡(luò)瀏覽器中鍵入“ localhost:5000”即可打開您的網(wǎng)絡(luò)應(yīng)用程序

app.py —這是我們在上面創(chuàng)建的Flask應(yīng)用程序

模板-此文件夾包含我們的“ index.html”文件。在渲染模板時,這在Flask中是必需的。所有HTML文件都放在此文件夾下。

讓我們看看當我們運行'app.py'時會發(fā)生什么:

在單擊提供的URL時,我們的Web瀏覽器將打開實時供稿。由于我使用了上面的VideoCapture(0),因此網(wǎng)絡(luò)攝像頭摘要會顯示在瀏覽器中:

中有來自IP攝像機/網(wǎng)絡(luò)攝像機的實時視頻流,可用于安全和監(jiān)視目的。

代碼鏈接:https://github.com/NakulLakhotia/Live-Streaming-using-OpenCV-Flask

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42920
  • 視頻流
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    10470
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5561

    瀏覽量

    122805
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    CYUSB3014使用塊傳輸和使用流傳輸,可達到的最大吞吐率是不是差很多?

    先問,使用塊傳輸和使用流傳輸,可達到的最大吞吐率是不是差很多? 我的應(yīng)用是這樣的,F(xiàn)PGA通過3014傳送數(shù)據(jù),每150us傳輸兩個包的數(shù)據(jù),每個包1024個字節(jié),上位機程序一直循環(huán)接收,實際的
    發(fā)表于 05-08 06:33

    如何用OpenCV的相機捕捉視頻進行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    本文將介紹基于米爾電子MYD-LMX93開發(fā)板(米爾基于NXPi.MX93開發(fā)板)的基于OpenCV的人臉檢測方案測試。OpenCV提供了一個非常簡單的接口,用于相機捕捉一個視頻(我用的電腦內(nèi)置
    的頭像 發(fā)表于 04-15 11:51 ?341次閱讀
    如何用<b class='flag-5'>OpenCV</b>的相機捕捉<b class='flag-5'>視頻</b>進行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    5G網(wǎng)絡(luò)中,信令測試儀如何幫助提升用戶體驗?

    。 這有助于運營商順利部署新技術(shù),提升網(wǎng)絡(luò)的整體性能和用戶體驗。 四、提升用戶體驗的具體案例 優(yōu)化視頻流傳輸: 信令測試儀可以模擬用戶觀看視頻的場景,測試
    發(fā)表于 03-21 14:33

    使用OpenCV保存從攝像頭捕獲的視頻時更改顏色輸出視頻收到警告怎么解決?

    保存了從配備 OpenCV* 的攝像頭捕獲的視頻。 生成更改的顏色輸出視頻。 收到警告:[ INFO:0] global .。/opencv/modules/core/src/uti
    發(fā)表于 03-05 07:20

    低空視頻傳輸在望獲實時linux系統(tǒng)上的應(yīng)用

    望獲實時linux系統(tǒng)因其高確定性和低延遲的特性,在低空視頻傳輸中扮演著關(guān)鍵角色。低空經(jīng)濟涵蓋無人機物流、農(nóng)業(yè)監(jiān)控、低空交通管理等場景,這些場景對視頻傳輸實時性、可靠性和高效性有極高
    的頭像 發(fā)表于 01-24 17:21 ?518次閱讀

    AI模型部署邊緣設(shè)備的奇妙之旅:邊緣端設(shè)備的局域網(wǎng)視頻流傳輸方案

    。 接下來,我們將探討如何利用這些技術(shù)構(gòu)建一個簡易的局域網(wǎng)視頻流傳輸系統(tǒng),包括具體的實現(xiàn)步驟和技術(shù)細節(jié)。您將看到,通過合理的設(shè)計和配置,即使是普通用戶也能夠在自己的環(huán)境中輕松搭建起一套實用的實時監(jiān)控
    發(fā)表于 01-04 14:32

    AI模型部署邊緣設(shè)備的奇妙之旅:邊緣端設(shè)備的局域網(wǎng)視頻流傳輸方案

    視頻流的傳輸。這種設(shè)置不僅適用于家庭和小型企業(yè)的安全監(jiān)控,也能滿足遠程教育、醫(yī)療監(jiān)護等多個領(lǐng)域的需要。面對局域網(wǎng)內(nèi)的視頻流傳輸挑戰(zhàn),有多種方法可以實現(xiàn)從攝像頭到顯
    的頭像 發(fā)表于 01-04 12:00 ?774次閱讀
    AI模型部署邊緣設(shè)備的奇妙之旅:邊緣端設(shè)備的局域網(wǎng)<b class='flag-5'>視頻</b><b class='flag-5'>流傳輸</b>方案

    ptp對實時數(shù)據(jù)傳輸的影響

    在現(xiàn)代通信技術(shù)中,點對點(P2P)網(wǎng)絡(luò)已經(jīng)成為數(shù)據(jù)傳輸的一種重要方式。P2P網(wǎng)絡(luò)允許網(wǎng)絡(luò)中的每個節(jié)點既可以作為客戶端也可以作為服務(wù)器,直接進行數(shù)據(jù)交換。這種去中心化的
    的頭像 發(fā)表于 12-29 09:53 ?656次閱讀

    AMS-HE200:HDMI音視頻網(wǎng)絡(luò)延長器,開啟傳輸新時代

    領(lǐng)域的領(lǐng)軍企業(yè),憑借其強大的技術(shù)實力和創(chuàng)新能力,推出了全新的AMS-HE200 HDMI音視頻網(wǎng)絡(luò)延長器,旨在為用戶帶來更加高效、穩(wěn)定、便捷的傳輸體驗。 一、產(chǎn)品亮點? AMS-HE200作為一款高性能的HDMI音視頻網(wǎng)絡(luò)延長器
    的頭像 發(fā)表于 11-27 10:04 ?625次閱讀
    AMS-HE200:HDMI音<b class='flag-5'>視頻網(wǎng)絡(luò)</b>延長器,開啟<b class='flag-5'>傳輸</b>新時代

    基于OPENCV的相機捕捉視頻進行人臉檢測--米爾NXP i.MX93開發(fā)板

    本文將介紹基于米爾電子MYD-LMX93開發(fā)板(米爾基于NXPi.MX93開發(fā)板)的基于OpenCV的人臉檢測方案測試。OpenCV提供了一個非常簡單的接口,用于相機捕捉一個視頻(我用的電腦內(nèi)置
    的頭像 發(fā)表于 11-07 09:03 ?1479次閱讀
    基于<b class='flag-5'>OPENCV</b>的相機捕捉<b class='flag-5'>視頻</b>進行人臉檢測--米爾NXP i.MX93開發(fā)板

    在米爾電子MPSOC實現(xiàn)12G SDI視頻采集H.265壓縮SGMII萬兆以太網(wǎng)推流

    )**視頻流傳輸的優(yōu)化 在推流過程中,網(wǎng)絡(luò)帶寬和視頻壓縮效率直接決定了視頻播放的清晰度與流暢度。為了確保4K
    發(fā)表于 10-14 17:42

    探索光耦:電流傳輸比(CTR)——了解光耦的重要參數(shù)

    在電子設(shè)計和元器件選型的過程中,電流傳輸比(CTR)是一個至關(guān)重要的參數(shù),尤其是在光耦器件中。CTR不僅決定了光耦的性能,還會影響整體電路的穩(wěn)定性和效率。那究竟什么是電流傳輸比?它對電路設(shè)計有何
    的頭像 發(fā)表于 09-21 08:58 ?1435次閱讀
    探索光耦:電<b class='flag-5'>流傳輸</b>比(CTR)——了解光耦的重要參數(shù)

    【龍芯2K0300蜂鳥板試用】5 搭建opencv開發(fā)環(huán)境

    buildroot上需要打開opencv,將其編譯進系統(tǒng)中,如下所示 測試可行性 測試是否編譯成功,通過獲取usb攝像頭的視頻來完成,本來是想通過qt的multimedia來實現(xiàn),無奈k20300平臺
    發(fā)表于 08-27 15:08

    XTR111進行V-I變換傳輸,采用電流傳輸比采用電壓傳輸噪聲大是什么原因?qū)е碌模?/a>

    本人在應(yīng)用XTR111進行V-I變換傳輸的時候遇到了一個難題,原理圖如下所示: 在采用電壓傳輸時的波形和頻譜圖如下所示: 在采用電流傳輸時的底噪波形和頻譜: 采集設(shè)備本身的底噪波形和頻譜
    發(fā)表于 08-27 07:12

    TINA-TI交流傳輸特性仿真報錯怎么解決?

    瞬態(tài)和交流節(jié)點電壓仿真都是OK的,但是交流傳輸特性仿真就報錯,請問怎樣可以解決?感謝?。?!
    發(fā)表于 08-08 06:46