RTMP
1.1、RTMP简介

RTMPReal Time Message Protocol,实时消息传输协议)

RTMP协议是由Adobe公司提出的一种应用层协议。

RTMP官网:http://www.adobe.com/devnet/rtmp.html

1.2、librtmp

1.3、公开的RTMP流资源
香港卫视rtmp://live.hkstv.hk.lxdns.com/live/hks1
rtmp://live.hkstv.hk.lxdns.com/live/hks2
香港财经rtmp://202.69.69.180:443/webcast/bshdlive-pc
韩国GoodTVrtmp://mobliestream.c3tv.com:554/live/goodtv.sdp
韩国朝鲜日报rtmp://live.chosun.gscdn.com/live/tvchosun1.stream
美国2rtmp://media3.scctv.net/live/scctv_800
美国中文电视rtmp://media3.sinovision.net:1935/live/livestream
湖南卫视rtmp://58.200.131.2:1935/livetv/hunantv

使用ffplay播放:

ffplay rtmp://58.200.131.2:1935/livetv/hunantv

使用VLC播放:

vlc rtmp://58.200.131.2:1935/livetv/hunantv &
1.4、在macOS上搭建RTMP服务器

1、通过HomeBrew安装nginx-full。注意不是nginx

brew tap denji/nginx
brew install nginx-full --with-rtmp-module

这里的--with-rtmp-module参数是必须的,您也可以添加其他参数, 通过brew options nginx-full命令可以获得支持的所有参数。

2、修改nginx配置文件/usr/local/etc/nginx/nginx.conf, 在文件的末尾处添加如下内容:

rtmp {
    server {
        listen 1935;
        application stream {
            live on;
            record off;
        }
    }
}

3、启动nginx

nginx

现在,RTMP服务器已经启动了。

推流的地址是:rtmp://$serverIP:1935/stream/$STREAM_NAME

$serverIP就是你的电脑的IP地址,如果是在同一个台电脑上使用,那么可以用localhost

$STREAM_NAME可以随意

现在您就可以通过OBS StudioffmpegVLC等工具进行推流了。

推流成功之后,您可以通过ffplayVLC等工具进行观看了。

1.5、通过Docker搭建RTMP服务器

搭建RTMP服务器的方法有很多种,要看您搭建它的目的,假如您只是想要测试,完全可以直接使用别人已经编译好的Docker容器,这样,很简单的就搭建好了一个RTMP服务器。

使用docker search rtmp可以搜索到一大堆别人已经编译好的用于RTMP服务器的Docker容器。我们随便找一个,比如名称为alfg/nginx-rtmp的这个镜像。

alfg/nginx-rtmp镜像在Docker Hub上的地址是:https://hub.docker.com/r/alfg/nginx-rtmp

1、下载镜像:

docker pull alfg/nginx-rtmp

2、以下载的镜像运行一个容器:

docker run --tty --interactive --rm -p 1935:1935 -p 8080:80 alfg/nginx-rtmp

这里要特别注意:要确保您主机系统中的19358080端口没有被其他应用所占用, 如果已经被占用了,请改用其他的端口。

现在,RTMP服务已经启动了。

推流的地址是:rtmp://$serverIP:1935/stream/$STREAM_NAME

$serverIP就是你的电脑的IP。

$STREAM_NAME可以随意

现在您就可以通过OBS StudioffmpegVLC等工具进行推流了。

推流成功之后,您可以通过ffplayVLC等工具进行观看了。

1.6、通过SRS搭建RTMP服务器
1.7、通过Red5搭建RTMP服务器