windows下python使用ffmpeg實(shí)現(xiàn)rtsp推流
rtsp推流
1、下載
rtsp 服務(wù)器下載網(wǎng)址:https://github.com/aler9/rtsp-simple-server/releases
windows環(huán)境下選擇windows_amd64.zip文件下載
2、配置環(huán)境變量
照顧新手!額,算了,大家都是大佬~此處略過
3、啟動
沒啥說的,雙擊都行
命令行啟動:rtsp-simple-server.exe
(建議命令行啟動)
運(yùn)行以后就是長這個(gè)鬼樣子的,我們要關(guān)注的就是tcp的端口號,ok,下一步
!嘔吼,等等、等等,細(xì)心的朋友可能發(fā)現(xiàn)了,下面不是有個(gè)rtmp嘛~是的,恭喜你發(fā)現(xiàn)了新大陸!回頭一點(diǎn)要自己試一下哦。
4、推流
如果想把本地文件推出去使用下面的命令即可,參數(shù)請自行調(diào)整食用。
推流命令:
ffmpeg -re -stream_loop -1 -i (你的文件名) -c copy -f rtsp rtsp://127.0.0.1:8554/video
簡單對參數(shù)說明
- -re 是以流的方式讀取
- -stream_loop -1 表示無限循環(huán)讀取
- -i 就是輸入的文件
- -f 格式化輸出到哪里
當(dāng)然我們還有另一種需求:
把拉過來的流,處理之后再推出去。
拉流-----處理-----推流這里和rtmp推流方法基本一致
需要把command中
-f 后 ‘flv’ 改為 ’rtsp’
rtmpurl 改為 rtsp 推流地址即可
#此處換為你自己的地址 rtsp_url = 'rtsp://127.0.0.1:8554/video' cap = cv2.VideoCapture(“拉流地址”) # Get video information fps = int(cap.get(cv2.CAP_PROP_FPS)) width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) command = ['ffmpeg', '-y', '-f', 'rawvideo', '-vcodec', 'rawvideo', '-pix_fmt', 'bgr24', '-s', "{}x{}".format(width, height), '-r', str(fps), '-i', '-', '-c:v', 'libx264', '-pix_fmt', 'yuv420p', '-preset', 'ultrafast', '-f', 'rtsp', rtsp_url] p = sp.Popen(command, stdin=sp.PIPE) while (cap.isOpened()): ret, frame = cap.read() if not ret: print("Opening camera is failed") break frame = 你的圖像處理的函數(shù)(frame) p.stdin.write(frame.tostring())
5、測試
來來來,剛剛學(xué)到的拉流又能用到了~趁熱打鐵、再來一次
import cv2 cap = cv2.VideoCapture("rtsp://127.0.0.1:8554/video") while (cap.isOpened()): ret, frame = cap.read() if not ret: print("Opening camera is failed") break cv2.imshow('起個(gè)名字',frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
當(dāng)然,如果這幾行代碼你也不愿意寫的話~我只能教你一點(diǎn)別的辦法了
VLC media player
下載地址:https://www.videolan.org/vlc/index.html
運(yùn)行之后選擇媒體----網(wǎng)絡(luò)串流----網(wǎng)絡(luò)----填寫地址(剛剛rtsp推流的地址)----選擇播放
(這里有個(gè)簡單的方法,打開vlc之后直接把網(wǎng)址 ctrl+v 粘貼 點(diǎn)確定就可以了)
迅雷影音 新手推薦如果只是想看能不能推流,用這個(gè)試一下吧,對新手比較友好,有迅雷的直接使用就行,不需要再下載安裝軟件了,但是用起來確實(shí)不如vlc
下載地址:算了自己找吧~
食用方法:打開之后在中間的 框框中輸入rtsp推流的地址就ok了
qq影音使用同迅雷影音…總有一款適合你
ok 大功告成~
到此這篇關(guān)于windows下python使用ffmpeg實(shí)現(xiàn)rtsp推流的文章就介紹到這了,更多相關(guān)python ffmpeg rtsp推流內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作示例
這篇文章主要介紹了Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作,涉及Python數(shù)學(xué)運(yùn)算及顯示相關(guān)操作技巧,注釋備有詳盡的說明,需要的朋友可以參考下2017-07-07Python實(shí)現(xiàn)SqlServer查詢結(jié)果并寫入多個(gè)Sheet頁的方法詳解
這篇文章主要為大家整理了兩個(gè)Python實(shí)現(xiàn)SqlServer查詢結(jié)果并寫入多個(gè)Sheet頁的方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-12-12Pandas之缺失數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Pandas之缺失數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01pycharm配置當(dāng)鼠標(biāo)懸停時(shí)快速提示方法參數(shù)
這篇文章主要介紹了pycharm中配置當(dāng)鼠標(biāo)懸停時(shí)快速提示方法參數(shù),本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Python實(shí)戰(zhàn)之OpenCV實(shí)現(xiàn)貓臉檢測
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著OpenCV實(shí)現(xiàn)貓臉檢測展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06Python 窗體(tkinter)按鈕 位置實(shí)例
今天小編就為大家分享一篇Python 窗體(tkinter)按鈕 位置實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python+Pygame實(shí)戰(zhàn)之吃豆豆游戲的實(shí)現(xiàn)
這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實(shí)現(xiàn)仿吃豆豆游戲,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python游戲開發(fā)有一定幫助,需要的可以參考一下2022-06-06