Category Archives: Stream

Mac上搭建直播伺服器Nginx+rtmp

簡介

nginx是非常優秀的開源伺服器,用它來做hls或者rtmp流媒體伺服器是非常不錯的選擇,本人在網上整理了安裝流程,分享給大家並且作備忘。

步驟安裝

Homebrew簡稱brew,是Mac OSX上的軟體包管理工具,能在Mac中方便的安裝軟體或者卸載軟體,可以說Homebrew就是mac下的apt-get、yum神器

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果已經安裝過,而想要卸載:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

2、安裝Nginx伺服器

增加對 nginx的擴展;也就是從github上下載,home-brew對ngixnx的擴展

3、安裝Nginx伺服器和rtmp模塊

brew install nginx-full --with-rtmp-module

這個安裝,耗時相對來說比較長。通過操作以上步驟nginx和rtmp模塊就安裝好了,下面開始來配置nginx的rtmp模塊。

首先來看看我們的nginx安裝在哪裡

執行上面的命令後我們可以看到信息

  • nginx安裝所在位置 /usr/local/Cellar/nginx-full/1.10.1/bin/nginx
  • nginx配置文件所在位置 /usr/local/etc/nginx/nginx.conf
  • nginx伺服器根目錄所在位置 /usr/local/var/www

執行命令 ,測試下是否能成功啟動nginx服務

命令行如下圖所示

在瀏覽器地址欄輸入:http://localhost:8080(直接點擊)

出現Welcome to nginx ,代表nginx安裝成功了。

4、配置rtmp

用Xcode打開nginx.conf, 找到/usr/local/etc/nginx/nginx.conf文件,拖入到Dock中的Xcode,就可以打開.

或者打開Finder Shift + command + G前往,用記事本工具打開nginx.conf.

http {
    ……
}
#在http節點下面(也就是文件的尾部)加上rtmp配置:
rtmp {
    server {
        listen 1935;
        application zbcs {
 live on;
 record off;
        }
    }
}

說明:

  1. rtmp是協議名稱
  2. server 說明內部中是伺服器相關配置
  3. listen 監聽的埠號, rtmp協議的默認埠號是1935
  4. application 訪問的應用路徑是 zbcs
  5. live on; 開啟實時
  6. record off; 不記錄數據

5. 保存文件後,重新加載nginx的配置文件(這一步很重要)

6. 安裝ffmepg工具

安裝這個需要等一段時間, 這時你可以準備一個視頻文件作為來推流,然後安裝一個支持rtmp協議的視頻播放器.Mac下可以用

7、通過ffmepg命令進行推流

ffmpeg -re -i 你的視頻文件的絕對路徑(如/Users/lideshan/Downloads/Demo.mp4)  -vcodec copy -f flv rtmp://localhost:1935/zbcs/room
// 如:ffmpeg -re -i /Users/jiangys/Documents/Document/demo.mp4 -vcodec copy -f flv rtmp://localhost:1935/zbcs/room

原文網址:https://kknews.cc/zh-tw/other/8mqekg.html

海康、大华RTSP地址格式

RTSP常用地址格式

RTSP协议介绍

常见厂家RTSP地址格式

海康

旧版本协议格式:
rtsp://[username]:[password]@<ip>:<port>/<videoType>/<channelNumber>/<streamType>
协议说明:
  • username : 用户名。默认:admin。
  • password : 密码。例如12345。
  • ip : 为设备IP。例如 192.0.0.64。
  • port : 端口号默认为554,若为默认可不填写。
  • videoType : 有h264、MPEG-4、mpeg4这几种。
  • channelNumber : 通道号,起始为1。例如通道1,则为ch1。
  • streamType : 码流类型,主码流为main/av_stream,辅码流为sub/av_stream。
使用举例
  • 主码流 :
    rtsp://admin:dfd28ddfs24@183.62.243.173:30001/h264/1/main/av_stream
  • 子码流:
    rtsp://admin:dfd28ddfs24@183.62.243.173:30001/h264/1/sub/av_stream
新版协议格式:
rtsp://user:pass@ip:port/streaming/channels/<id>[?parm1=value1&parm2=vlaue2]
协议说明:
  • user:监控用户名,默认:admin
  • pass:监控密码,默认:admin
  • ip:监控IP地址
  • port:流媒体端口,默认为:554
  • id:
    101:通道1主码流、102:通道1子码、103:通道1第三码流…1701:通道17主码流、1702:通道17子码流、1703:通道17第三码流
使用举例
rtsp://admin:hk123f@222.161.231.2:554/Streaming/Channels/101?transportmode=unicast

大华

协议地址格式
rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0
协议说明
  • username: 用户名。例如admin。
  • password: 密码。例如admin。
  • ip: 为设备IP。例如 10.7.8.122。
  • port: 端口号默认为554,若为默认可不填写。
  • channel: 通道号,起始为1。例如通道2,则为channel=2。
  • subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。
使用举例
rtsp://admin:admin@10.12.4.84:554/cam/realmonitor?channel=2&subtype=1

作者:daogg
鏈接:http://www.jianshu.com/p/da50565e7c70
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。