關於視頻直播拉流和推流問題


通過RTMP協議實現在線直播

一、什么是RTMP協議?

​ RTMP是Real Time Messaging Protocol(實時消息傳輸協議)的首字母縮寫。該協議基於TCP,是一個協議族,包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設計用來進行實時數據通信的網絡協議,主要用來在Flash/AIR平台和支持RTMP協議的流媒體/交互服務器之間進行音視頻和數據通信。支持該協議的軟件包括Adobe Media Server/Ultrant Media Server/red5等。

​ RTMP又是Routing Table Maintenance Protocol(路由選擇表維護協議)的縮寫。 在 AppleTalk 協議組中,路由選擇表維護協議(RTMP,Routing Table Maintenance Protocol)是一種傳輸層協議,它在 AppleTalk 路由器中建立並維護路由選擇表。RTMP 基於路由選擇信息協議(RIP)。正如 RIP 一樣,RTMP 使用跳數作為路由計量標准。一個數據包從源 網絡發送到目標網絡,必須通過的路由器或其它中間介質節點數目的計算結果即為跳數。

二、搭建centos7 docker服務

  • 卸載舊的docker
sudo yum remove docker \
				docker-client \
				docker-client-latest \
				docker-common \
				docker-latest \
				docker-latest-logrotate \
				docker-logrotate \
				docker-engine
  • 安裝所需依賴
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 設置倉庫
sudo yum-config-manager \
	--add-repo \
	https://download.docker.com/linux/centos/docker-ce.repo
  • 安裝最新版的docker-cli 和 docker-ce
sudo yum install docker-ce docker-ce-cli containerd.io
  • 當然你也可以安裝你想安裝的版本
# 列出所有的版本信息
yum list docker-ce --showduplicates | sort -r
# 選擇適合的版本安裝
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
  • 啟動docker
sudo systemctl start docker
  • 檢測是否安裝成功
sudo docker run hello-world

三、 nginx-rtmp

  • docker 拉取 nginx-rtmp
docker pull alfg/nginx-rtmp
  • 啟動 rtmp
docker run -it -p 1935:1935 -p 8000:80 --rm alfg/nginx-rtmp
  • 如果端口被占,則需要殺死端口或者另換端口

四、 使用obs

  • 下載obs24.0的版本

  • 打開如圖所示

  • 添加來源

  • 添加設置

  • 設置

  • 推流

五、前端拉流


免責聲明!

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



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