ubuntu下搭建live555 RTSP Server推流


前言

  live555是一個為流媒體提供解決方案的跨平台的C++開源項目,它實現了對標准流媒體傳輸是一個為流媒體提供解決方案的跨平台的C++開源項目,它實現了對標准流媒體傳輸協議如RTP/RTCP、RTSP、SIP等的支持。Live555實現了對多種音視頻編碼格式的音視頻數據的流化、接收和處理等支持,包括MPEG、H.263+、DV、JPEG視頻和多種音頻編碼。同時由於良好的設計,Live555非常容易擴展對其他格式的支持。目前,Live555已經被用於多款播放器的流媒體播放功能的實現,如VLC(VideoLan)、MPlayer。

源碼下載

官網:http://www.live555.com
目前官網的服務器在維護中,點擊其中 source code 即可下載源碼了。
在這里插入圖片描述
源碼文件:live.2019.03.06.tar.gz,版本:2019.03.06

 

ubuntu下安裝

解壓

tar -xvf live.2019.03.06.tar.gz 

進入解壓目錄,如下:

生成makefiles文件,后面的參數linux-64bit是安裝的平台,裝在其他平台的話更換為config.后面的后綴即可。

./genMakefiles linux-64bit

 sudo apt-get install libssl-dev
make

當前目錄下會生成mediaServer 文件夾,有一個live555MediaServer可執行文件。

cd mediaServer
./live555MediaServer

執行如下:

 

 把一個視頻或音頻文件放入當前目錄(格式必須為上述列表的格式),運行./live555MediaServer即開啟的RTSP 服務器。
用vlc軟件輸入流媒體的地址即可播放。

 

如下,可直接使用python播放:

  

import cv2

if __name__ == '__main__':
    carId="rtsp://192.168.187.17:80/test.ts"
    capture = cv2.VideoCapture(carId)# 打開視頻sys.argv[1]
    while True:
        #讀取幀,read()方法就是將grab和retrieve整合到了一個調用函數
        _,frame = capture.read()
        if frame is None:
            break
        cv2.imshow('image', frame)
        cv2.waitKey(1)                  #讓你的程序不直接退出
    capture.release()
    cv2.destroyAllWindows()#清除所有show出來的圖像\
    pass


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM