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)境變量
照顧新手!額,算了,大家都是大佬~此處略過(guò)
3、啟動(dòng)
沒(méi)啥說(shuō)的,雙擊都行
命令行啟動(dòng):rtsp-simple-server.exe(建議命令行啟動(dòng))
運(yùn)行以后就是長(zhǎng)這個(gè)鬼樣子的,我們要關(guān)注的就是tcp的端口號(hào),ok,下一步

!嘔吼,等等、等等,細(xì)心的朋友可能發(fā)現(xiàn)了,下面不是有個(gè)rtmp嘛~是的,恭喜你發(fā)現(xiàn)了新大陸!回頭一點(diǎn)要自己試一下哦。
4、推流
如果想把本地文件推出去使用下面的命令即可,參數(shù)請(qǐng)自行調(diào)整食用。
推流命令:
ffmpeg -re -stream_loop -1 -i (你的文件名) -c copy -f rtsp rtsp://127.0.0.1:8554/video
簡(jiǎn)單對(duì)參數(shù)說(shuō)明
- -re 是以流的方式讀取
- -stream_loop -1 表示無(wú)限循環(huán)讀取
- -i 就是輸入的文件
- -f 格式化輸出到哪里
當(dāng)然我們還有另一種需求:
把拉過(guò)來(lái)的流,處理之后再推出去。
拉流-----處理-----推流這里和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、測(cè)試
來(lái)來(lái)來(lái),剛剛學(xué)到的拉流又能用到了~趁熱打鐵、再來(lái)一次
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)然,如果這幾行代碼你也不愿意寫(xiě)的話~我只能教你一點(diǎn)別的辦法了
VLC media player
下載地址:https://www.videolan.org/vlc/index.html
運(yùn)行之后選擇媒體----網(wǎng)絡(luò)串流----網(wǎng)絡(luò)----填寫(xiě)地址(剛剛rtsp推流的地址)----選擇播放


(這里有個(gè)簡(jiǎn)單的方法,打開(kāi)vlc之后直接把網(wǎng)址 ctrl+v 粘貼 點(diǎn)確定就可以了)
迅雷影音 新手推薦如果只是想看能不能推流,用這個(gè)試一下吧,對(duì)新手比較友好,有迅雷的直接使用就行,不需要再下載安裝軟件了,但是用起來(lái)確實(shí)不如vlc
下載地址:算了自己找吧~
食用方法:打開(kāi)之后在中間的 框框中輸入rtsp推流的地址就ok了

qq影音使用同迅雷影音…總有一款適合你
ok 大功告成~
到此這篇關(guān)于windows下python使用ffmpeg實(shí)現(xiàn)rtsp推流的文章就介紹到這了,更多相關(guān)python ffmpeg rtsp推流內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作示例
這篇文章主要介紹了Python雙精度浮點(diǎn)數(shù)運(yùn)算并分行顯示操作,涉及Python數(shù)學(xué)運(yùn)算及顯示相關(guān)操作技巧,注釋備有詳盡的說(shuō)明,需要的朋友可以參考下2017-07-07
Python實(shí)現(xiàn)SqlServer查詢結(jié)果并寫(xiě)入多個(gè)Sheet頁(yè)的方法詳解
這篇文章主要為大家整理了兩個(gè)Python實(shí)現(xiàn)SqlServer查詢結(jié)果并寫(xiě)入多個(gè)Sheet頁(yè)的方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-12-12
Pandas之缺失數(shù)據(jù)的實(shí)現(xiàn)
這篇文章主要介紹了Pandas之缺失數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
pycharm配置當(dāng)鼠標(biāo)懸停時(shí)快速提示方法參數(shù)
這篇文章主要介紹了pycharm中配置當(dāng)鼠標(biāo)懸停時(shí)快速提示方法參數(shù),本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
Python實(shí)戰(zhàn)之OpenCV實(shí)現(xiàn)貓臉檢測(cè)
今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著OpenCV實(shí)現(xiàn)貓臉檢測(cè)展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Python 窗體(tkinter)按鈕 位置實(shí)例
今天小編就為大家分享一篇Python 窗體(tkinter)按鈕 位置實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Python+Pygame實(shí)戰(zhàn)之吃豆豆游戲的實(shí)現(xiàn)
這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實(shí)現(xiàn)仿吃豆豆游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python游戲開(kāi)發(fā)有一定幫助,需要的可以參考一下2022-06-06
對(duì)pandas通過(guò)索引提取dataframe的行方法詳解
今天小編就為大家分享一篇對(duì)pandas通過(guò)索引提取dataframe的行方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
使用Python批量生成PPT版榮譽(yù)證書(shū)的示例代碼
使用Python處理PPT文件通常需要使用第三方庫(kù)來(lái)簡(jiǎn)化對(duì)PPT文件的讀取、寫(xiě)入和修改操作,本文將給大家介紹一個(gè)小案例,使用Python批量生成PPT版榮譽(yù)證書(shū),感興趣的同學(xué)跟著小編一起來(lái)看看吧2023-08-08

