天天看點

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

作者:音視訊開發老舅

環境介紹

目前使用的作業系統: 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           
FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

打開EasyDarwin背景網頁可以看到流已經上傳上來了。

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

接下來使用VLC、PotPlayer、或者自己編寫一個流媒體播放器就可以拉取ffmpeg釋出的RTSP流。

下面這個是采用自己開發的流媒體播發器播放的效果:

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

這是采用PotPlayer播放器播放的效果:

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

采用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音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)
FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

播放測試:

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)
FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

【相關學習資料推薦,點選下方連結免費報名,先碼住不迷路~】

【免費】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); //釋出到網絡           

軟體運作效果:

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

網頁上已經提示收到釋出的rtsp流:

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

采用PotPlayer 播放的效果: 效果:  實作桌面同屏/聲畫同步。

FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)
FFmpeg音視訊開發 釋出RTSP流(采用EasyDarwin作為流媒體伺服器)

如果你對音視訊開發感興趣,覺得文章對您有幫助,别忘了點贊、收藏哦!或者對本文的一些闡述有自己的看法,有任何問題,歡迎在下方評論區與我讨論!

繼續閱讀