環境介紹
目前使用的作業系統: win10 64位
一、部署EasyDarwin伺服器
據官網介紹,EasyDarwin擁有完整的源代碼,可以幫助開發者更快更簡單實作流媒體音視訊産品功能,使用完全免費;下面就介紹一下EasyDarwin的使用過程。
官網位址: www.easydarwin.org/
運作成功會彈出一個控制台視窗:
然後打開浏覽器輸入 http://localhost:10008, 進入控制頁面,預設使用者名密碼是 admin/admin
【相關學習資料推薦,點選下方連結免費報名,先碼住不迷路~】
【免費】FFmpeg/WebRTC/RTMP/NDK/Android音視訊流媒體進階開發-學習視訊教程-騰訊課堂
C++音視訊配套學習資料:點選莬費領取→音視訊開發(資料文檔+視訊教程+面試題)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
二、ffmpeg指令行推rtsp流進行測試
ffmpeg推流本地視訊檔案到RTSP伺服器: (UDP這是采用協定)
C:/FFMPEG/ffmpeg_x86_4.2.2/bin/ffmpeg.exe -re -i "D:/BaiduNetdiskDownload/測試視訊/Earth_enc_ass.mp4" -vcodec copy -codec copy -f rtsp rtsp://127.0.0.1:554/stream
打開EasyDarwin背景網頁可以看到流已經上傳上來了。
接下來使用VLC、PotPlayer、或者自己編寫一個流媒體播放器就可以拉取ffmpeg釋出的RTSP流。
下面這個是采用自己開發的流媒體播發器播放的效果:
這是采用PotPlayer播放器播放的效果:
采用TCP協定方式推流:(支援外網更加穩定)
C:/FFMPEG/ffmpeg_x86_4.2.2/bin/ffmpeg.exe -re -i "D:/BaiduNetdiskDownload/測試視訊/Earth_enc_ass.mp4" -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://127.0.0.1:554/stream
播放測試:
【相關學習資料推薦,點選下方連結免費報名,先碼住不迷路~】
【免費】FFmpeg/WebRTC/RTMP/NDK/Android音視訊流媒體進階開發-學習視訊教程-騰訊課堂
C++音視訊配套學習資料:點選莬費領取→音視訊開發(資料文檔+視訊教程+面試題)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
三、采用ffmpeg代碼方式推rtsp流到伺服器
對于RTMP和RTSP兩種格式需要使用兩種不同的封裝器。
//RTMP封裝器
//avformat_alloc_output_context2(&oc,nullptr,"flv",filename); //釋出到網絡
//RTSP封裝器
avformat_alloc_output_context2(&oc,nullptr,"rtsp",filename); //釋出到網絡
軟體運作效果:
網頁上已經提示收到釋出的rtsp流:
采用PotPlayer 播放的效果: 效果: 實作桌面同屏/聲畫同步。
如果你對音視訊開發感興趣,覺得文章對您有幫助,别忘了點贊、收藏哦!或者對本文的一些闡述有自己的看法,有任何問題,歡迎在下方評論區與我讨論!