亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

windows下python使用ffmpeg實(shí)現(xiàn)rtsp推流

 更新時(shí)間:2023年09月12日 14:46:44   作者:嘿,不許笑  
這篇文章主要為大家詳細(xì)介紹了在windows環(huán)境下python如何使用ffmpeg實(shí)現(xiàn)rtsp推流,文中的示例代碼講解詳細(xì),有需要的小伙伴可以了解一下

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)文章

最新評論