-----------------------------------------------------------------------------------------------------------------------------------------
一分钟快速搭建 rtmpd 服务器: https://blog.csdn.net/freeabc/article/details/102880984
软件下载地址: http://www.qiyicc.com/download/rtmpd.zip
github 地址:https://github.com/superconvert/smart_rtmpd
-----------------------------------------------------------------------------------------------------------------------------------------
smart rtmpd 推流 url 和拉流 url
smart rtmpd 支持三种推流 rtmp,rtsp 和 srt ,下面我先说说 rtmp 的相关部分:
rtmp 支持两种格式的 url ,直播和录像
RTMP 直播 url 格式:
// RTMP URL
rtmp://您的域名或IP:端口/live/流的名字
// 例如:
rtmp://192.168.1.1:1935/live/football
// 当然同样也是支持加密方式推送 rtmps,需要配置 smart rtmpd 以加密方式运行
rtmps://192.168.1.1:2935/live/sport
// 如果端口是 1935 可以不写,如果是别的,必须是带上的
rtmp://192.168.1.1/live/football
RTMP 录像 url 格式:
// RTMP URL
rtmp://您的域名或IP:端口/rec/流的名字
// 例如
rtmp://192.168.1.1:1935/rec/basketball
// 当然同样也是支持加密方式推送 rtmps,需要配置 smart rtmpd 以加密方式运行
rtmps://192.168.1.1:1935/rec/basketball
// 如果端口是 1935 可以不写,如果是别的,必须是带上的
rtmp://192.168.1.1/rec/basketball
录像与直播 的差别是 smart rtmpd 会自动产生录像文件,并允许将来回放, 有关 smart rtmpd 的录像功能请参阅博客: https://blog.csdn.net/freeabc/article/details/103360588
同时也可以以直播流的方式进行直播,比如:推送 rtmp://192.168.1.1/rec/stream 流,播放端可以输入 rtmp://192.168.1.1/live/stream 进行观看, rec 会自动变成 live 标签。
RTMP 推流后产生的拉流 url
无论是直播或录像 rtmp 推流,都会产生同样的直播流 url ,就具体对应关系如下:
// RTMP 推流
rtmp://您的域名或IP:端口/live/您的流名字
// 产生直播流 url 如下:
rtmp rtmp://您的域名或IP:端口/live/您的流名字
http-flv http://您的域名或IP:http端口/live/您的流名字.flv
http-hls http://您的域名或IP:http端口/live/您的流名字.m3u8
http-dash http://您的域名或IP:http端口/live/您的流名字.mpd
webrtc https://您的域名或IP:https端口/live/您的流名字.wms
rtsp rtsp://您的域名或IP:rtsp端口/live/您的流名字
举例如下:
推流 url
rtmp://www.qiyicc.com/live/stream
rtmp://www.qiyicc.com/rec/stream
smart rtmpd 会把推流转换为下面的直播流 url
rtmp rtmp://www.qiyicc.com/live/stream // rtmp 的端口
http-flv http://www.qiyicc.com:8080/live/stream // http 的端口
http-hls http://www.qiyicc.com:8080/live/stream.m3u8 // http 的端口
http-dash http://www.qiyicc.com:8080/live/stream.mdp // http 的端口
webrtc https://www.qiyicc.com:8181/live/stream.wms // https 的端口
rtsp rtsp://www.qiyicc.com:8554/live/stream // rtsp 的端口
rtmp 推流的视频编码建议用 h264 ,音频编码采用 aac ( 44100, 48000 )
RTSP 直播 url 格式:
// RTSP URL
rtsp://您的域名或IP:端口/live/您的流名字
// 举例
rtsp://www.qiyicc.com:8554/live/music
// 如果是默认端口 554,则可以不写
rtsp://192.168.1.1/live/music
RTSP 录像 url 格式:
// RTSP URL
rtsp://您的域名或IP:端口/rec/您的流名字
// 举例
rtsp://www.qiyicc.com:8554/rec/music
// 如果是默认端口 554,则可以不写
rtsp://192.168.1.1/rec/music
由于 smart rtmpd 内部需要转换 rtsp 流为其它格式的流,因此对 rtsp 推流有格式要求,url 必须为上述形式,视频编码建议采用 h264, 音频编码采用 aac ( 44100, 48000 )
RTSP 推流后产生的拉流 url
// RTSP 推流
rtsp://您的域名或IP:端口/live/您的流名字
// 产生直播流 url 如下:
rtmp rtmp://您的域名或IP:端口/live/您的流名字
http-flv http://您的域名或IP:http端口/live/您的流名字.flv
http-hls http://您的域名或IP:http端口/live/您的流名字.m3u8
http-dash http://您的域名或IP:http端口/live/您的流名字.mpd
webrtc https://您的域名或IP:https端口/live/您的流名字.wms
rtsp rtsp://您的域名或IP:rtsp端口/live/您的流名字
具体例子参见 rtmp 的部分
SRT 直播 url 格式:
目前对于 SRT 只支持 SRT 推流,可以转换为别的格式的流,不支持别的推流转换为 SRT 格式, 后续可能会支持别的流转换为 SRT
// SRT 推流
srt://您的域名或IP:srt端口?streamid=您的域名或IP:srt端口/live/您的流名字,role=publisher
// 产生直播流 url 如下:
rtmp rtmp://您的域名或IP:端口/live/您的流名字
http-flv http://您的域名或IP:http端口/live/您的流名字.flv
http-hls http://您的域名或IP:http端口/live/您的流名字.m3u8
http-dash http://您的域名或IP:http端口/live/您的流名字.mpd
webrtc https://您的域名或IP:https端口/live/您的流名字.wms
rtsp rtsp://您的域名或IP:rtsp端口/live/您的流名字
srt srt://您的域名或IP:srt端口?streamid=您的域名或IP:srt端口/live/stream,role=player
举例如下:
推流 url
srt://www.qiyicc.com:9000?streamid=www.qiyicc.com:9000/live/stream,role=publisher
srt://www.qiyicc.com:9000?streamid=www.qiyicc.com:9000/rec/stream,role=publisher
smart rtmpd 会把推流转换为下面的直播流 url
rtmp rtmp://www.qiyicc.com/live/stream // rtmp 的端口
http-flv http://www.qiyicc.com:8080/live/stream // http 的端口
http-hls http://www.qiyicc.com:8080/live/stream.m3u8 // http 的端口
http-dash http://www.qiyicc.com:8080/live/stream.mdp // http 的端口
webrtc https://www.qiyicc.com:8181/live/stream.wms // https 的端口
rtsp rtsp://www.qiyicc.com:8554/live/stream // rtsp 的端口
srt srt://www.qiyicc.com:9000?streamid=www.qiyicc.com:9000/live/stream,role=player
VOD 点播 URL
您把媒体文件,比如: mp4, fmp4 放到媒体服务器的 vod 目录下,播放器地址栏输入
http://您的域名或IP:http端口/vod/您的媒体文件名字
就可以实现点播功能了,如果想实现拖放最好做成 fmp4 的格式,关于 mp4 格式怎么转 fmp4 ,有很多种方式,利用 ffmpeg 例子如下
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -movflags faststart output.mp4
当然您也可以在 vod 目录下创建子目录,比如上图的 sport, music,然后把对应的媒体文件放到子目录下,那么播放的 URL 就变成如下形式
http://www.qiyicc.com:8080/vod/sport/football.mp4
当然具体的 FFMPEG 推流的例子和脚本,参考
github 地址
https://github.com/superconvert/smart_rtmpd/tree/master/test
gitee 地址
https://gitee.com/mirrors/smart-rtmpd/tree/master/test
QQ 交流一号群:190583317
QQ 交流二号群:300474021
QQ 交流三号群:271191746