利用docker鏡像搭建流媒體服務進行rtmp推流及點流測試

利用docker鏡像搭建流媒體服務進行rtmp推流及點流測試

  • 我們經常需要一些測試視頻流,比如rtmp,http-flv,但網上可用的比較少,於是可以自己在本地搭建

搭建流媒體服務

  • 利用網上的mugennsou/http-flv鏡像可以快速搭建流媒體服務
  • 在本例中,運行腳本如下
docker run -it -d \
--restart always \
-p 8380:80 \
-p 1935:1935 \
--name nginx-http-flv \
mugennsou/nginx-http-flv
  • 注意8380是http端口,1935是rtmp端口

推流

  • 本例是通過rtmp進行推流,最後可以通過rtmp或http-flv進行點流
  • 推流方式可以有多種,以下介紹通過ffmpeg和obs,obs是個可視化工具,使用起來更爲方便一些
  • 在本例中,推流地址爲 rtmp://192.168.25.105:1935/demo/[自定義名稱]
  • 其中demo就是流媒體服務中配置的,默認就是demo,自定義名稱則可以隨便取,保持推流和點流時一致即可

通過ffmpeg

  • 利用ffmpeg進行本地推流,命令參考如下
ffmpeg -re -i H:\testvideo\h265_high.mp4 -vcodec copy -acodec copy -f flv rtmp://192.168.25.105:1935/demo/stream-1
  • 以上命令推送的mp4文件注意編碼要是h264的,否則可能會出錯,flv官方不支持hevc
  • 如果要將筆記本的攝像內容進行推流
  • 先要查看筆記本相機信息,通過如下命令
ffmpeg -list_devices true -f dshow -i dummy
  • 或者在設備管理器中查看
  • 在這裏插入圖片描述
  • 然後利用ffmpeg進行推流
ffmpeg -f dshow -i video="Integrated Camera":audio="麥克風陣列 (Realtek High Definition Audio)" -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -f flv "rtmp://192.168.25.105:1935/demo/stream-1"
  • 其中的video和audio根據自己機子情況修改

通過obs

  • obs推流相對來說很簡單,主要就是配置一下這裏即可

  • 在這裏插入圖片描述

  • 如果想推相機的流直接增加一個視頻捕獲設備即可,如下圖

  • 在這裏插入圖片描述

點流

  • 最後點流可以用vlc進行測試,點流地址如下
  • http-flv點流
    http://192.168.25.105:8380/live?app=demo&stream=stream-1
  • rtmp點流
    rtmp://192.168.25.105:1935/demo/stream-1

參考

https://github.com/mugennsou/http-flv
https://blog.csdn.net/yelin042/article/details/78434454

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章