搭建流媒体服务器(ngnixrtsp)

zzxiexin 5 0

ZLMediaKit 的项目地址

https://github.com/xia-chu/ZLMediaKit

系统上部署可以参看 https://github.com/xia-chu/ZLMediaKit/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B 详细的使用可以看github,部署使用都有说明。或者参看

https://github.com/xia-chu/ZLMediaKit/wiki/ZLMediaKit%E6%8E%A8%E6%B5%81%E6%B5%8B%E8%AF%95

本文章介绍docker 部署,该服务延时最小,不管是flv,还是ws

一、 下镜像

docker pull panjjo/zlmediakit

二、启动容器

docker run -d --name media-server \

-p 1935:1935 -p 880:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp \

--restart=always panjjo/zlmediakit:latest

三、直播

1、RTMP

推流命令后面介绍,可以先了解

ffmpeg -thread_queue_size 1024 -f dshow -s hd720 -i video="Integrated Camera" -vcodec libx264 -pix_fmt yuv420p -preset:v ultrafast -tune:v zerolatency -f flv -an "rtmp://192.168.50.248:1935/live/video"

ffmpeg -thread_queue_size 1024 -f dshow -s hd720 -i video="Integrated Camera" -vcodec libx264 -pix_fmt yuv420p -preset:v ultrafast -tune:v zerolatency -f flv -an "rtmp://43.226.156.96/live/video"

或者

ffmpeg -thread_queue_size 1024 -f dshow -s hd720 -i video="Integrated Camera" -vcodec h264 -acodec aac -f flv -an "rtmp://192.168.50.248:1935/live/video"

2、RTSP

h264

ffmpeg -thread_queue_size 1024 -f dshow -s hd720 -i video="Integrated Camera" -vcodec h264 -acodec aac -f rtsp -rtsp_transport tcp rtsp://192.168.50.248:8554/live/test

h265

ffmpeg -thread_queue_size 1024 -f dshow -s hd720 -i video="Integrated Camera" -vcodec h265 -acodec aac -f rtsp -rtsp_transport tcp rtsp://192.168.50.248:8554/live/test

3、RTP

h264

ffmpeg -thread_queue_size 1024 -f dshow -s hd720 -i video="Integrated Camera" -vcodec h264 -acodec aac -f rtp_mpegts rtp://192.168.50.248:10000

h265

ffmpeg -thread_queue_size 1024 -f dshow -s hd720 -i video="Integrated Camera" -vcodec h265 -acodec aac -f rtp_mpegts rtp://192.168.50.248:10000

4、http-flv

推流到RTMP

http://192.168.50.248:880/live/video.flv

可以是https

5、websocket

推流到RTMP

ws://192.168.50.248:880/live/video.flv

可以是wss

6、HLS

推流到RTMP

http://192.168.50.248:880/live/video/hls.m3u8

7、HTTP-TS/WS-TS

http://192.168.50.248:880/live/video.live.ts

ws://192.168.50.248:880/live/video.live.ts

可以是https/wss

8、HTTP-fMP4/WS-fMP4(后缀为.live.mp4,目的是为了解决与mp4点播的冲突)

http://192.168.50.248:880/live/video.live.mp4

ws://192.168.50.248:880/live/video.live.mp4

四、点播

ZLMediaKit的点播一般通过mp4文件来实现,推荐大家使用http mp4点播,这样是最简单,服务器也无需解复用mp4文件,当然ZLMediaKit目前也支持rtsp、rtmp、http-flv、websocket-flv的mp4点播, 对应的url跟直播url类似,不在赘述,这里只介绍区别

1、ZLMediaKit对点播限制应用名,默认为record ,不是live

2、假如一个mp4文件放置在http根目录record文件夹(www/record)下,他的相对路径为:www/record/0.mp4,那么点播url则为:

rtsp://somedomain.com/record/0.mp4

rtmp://somedomain.com/record/0.mp4

http://somedomain.com/record/0.mp4(这里是通用的http文件点播,服务器不用解复用文件)

http://somedomain.com/record/0.mp4.flv(这里是http-flv直播,不是http点播,服务器需要解复用文件)

ws://somedomain.com/record/0.mp4.flv

http://somedomain.com/record/0.mp4.live.ts(这里是http-ts直播,不是http点播,服务器需要解复用文件)

ws://somedomain.com/record/0.mp4.live.ts

http://somedomain.com/record/0.mp4.live.mp4(这里是http-fmp4直播,不是http点播,服务器需要解复用文件)

ws://somedomain.com/record/0.mp4.live.mp4

如果开启了虚拟主机,那么点播文件需要放置在 www/somedomain.com/record/0.mp4。

五、地址栏参数:

ZLMediaKit会识别url中问号后面的字符串为url参数,其格式跟http一致,其中参数vhost是ZLMediaKit内置支持的参数,支持指定vhost。 url参数主要用于播放、推流鉴权,在触发hook api时,会把这些参数提交给第三方业务服务器

标签: #搭建流媒体服务器

  • 评论列表

留言评论

 
QQ在线咨询
售前咨询电话
173-175-32776
技术支持电话
173-175-32776
嘿,欢迎咨询