流媒体服务器ZLMediaKit与FFmpeg
流媒體服務器ZLMediaKit與FFmpeg
overview
關鍵字:ZLMediaKit、FFmpeg、srt、vlc
如果想快速擁有自己的流媒體服務器,那么可以使用開源項目自己搭建。開源的流媒體服務器,在國內,GitHub star數量比較高的:srs和ZLMediaKit。因為在工作中使用的是Mediakit,因此就介紹此開源流媒體服務器。
題外話:聽說有人白嫖價低的云服務器,然后就向各個直播平臺全天循環播放《周星馳系列》《鐵齒銅牙紀曉嵐》《小牛說電影》等等,聽說收益不錯嘞。
本文就說一下通過ffmpeg向mediakit推流,使用vlc拉取mediakit的視頻流。
環境準備
mediakit
部署時使用docker是最方便的,但是他的docker鏡像比較大,大約有400~500MB。如果在意大小的話,可以自己編譯。自己編譯的話最終的可執行文件只有11MB。
#此鏡像為github持續集成自動編譯推送,跟代碼(master分支)保持最新狀態
docker run -id -p 1935:1935 -p 8080:80 -p 8443:443 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 9000:9000/udp zlmediakit/zlmediakit:master
1935是rtmp,8080是http接口,8443是https,8554是rtsp,10000是rtp,8000是rtc,9000是srt
ffmpeg
https://johnvansickle.com/ffmpeg/ 在此下載合適的版本,安裝好后,使用ffmpeg -protocols查看ffmpeg支持的協議。查看他是否支持srt協議,因為我要用srt協議推拉流。
vlc
https://www.videolan.org/vlc/ 下載相應的版本即可。
視頻準備
https://ssyoutube.com/en156Bz/youtube-video-downloader 去YouTube下個好看的視頻吧。
推送視頻流到mediakit
當我們從YouTube下載好喜歡的視頻后,我們可以通過ffmpeg將他推送到mediakit上。比如說我下載了周杰倫的《還在流浪》,然后我以srt協議推送到mediakit上。
./ffmpeg -re -stream_loop -1 -i "/opt/still_wandering.mp4" -c copy -f mpegts 'srt://127.0.0.1:9000?streamid=#!::r=live/test,m=publish'
關于mediakit對于srt支持
然后我們的mediakit就接受到這個srt流了,我們通過調用他提供的http接口:getMediaList
https://github.com/ZLMediaKit/ZLMediaKit/blob/master/postman/ZLMediaKit.postman_collection.json 通過下載這個json文件,可以將他導入到postman中方便調用他的REST接口
mediakit默認配置會將推送到其上的流轉為rtmp、rtsp、hls等協議。我們可以通過他所轉換之后的流媒體協議再去拉這個流。
vlc拉取視頻流
使用vlc從mediakit上拉流。對于srt協議有些特殊,需要在vlc上配置一下stream參數。
比如我們剛才ffmpeg推流live/test,那么這樣配置就行。然后填寫srt地址:
192.168.16.152是mediakit服務器ip。
對于其他協議,比如我們使用rtmp:
rtsp:
conclusion
以上就是本篇內容。主要講述了如何擁有一個自己的流媒體服務器。使用開源項目ZLMediaKit作為流媒體服務器,使用srt協議推流。使用vlc拉取流媒體服務器上的實時視頻流。
總結
以上是生活随笔為你收集整理的流媒体服务器ZLMediaKit与FFmpeg的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 家用无线路由器登录方法(如何登陆家里路由
- 下一篇: 关于时寒冰的名言名句239个