zlmediakit
看⽹上的⽅法⼀个是搭建流服务器,利⽤nginx这个没有实验过. 另外⼀种是利⽤开源的服务做流服务器
## 配置流服务器
# 这种⽅式只能推rmtp
# docker run -id -p 1935:1935 -p 8080:80 gemfield/zlmediakit:20.04-runtime-ubuntu18.04
氢气炉
# ⽀持rtsp
docker run -id -p 1935:1935 -p 554:554 -p 8080:80 gemfield/zlmediakit:20.04-runtime-ubuntu18.04
# 利⽤ffmpeg 推流
ffmpeg -re -i 222.mp4 -vcodec h264 -acodec aac -strict -2 -f rtsp -rtsp_transport tcp rtsp://192.168.0.139/live/test1
# 222.mp4 指的是本地的视频, 192.168.0.139/live/test1 指定了流服务器的地址,live/test1 是⾃定义添加的
## 使⽤vlc进⾏验证
red5
nginx+rmtp
这个可以同时获取rmtp 流和http播放流
参考:
部署步骤:
##部署
立式干粉搅拌机docker pull alfg/nginx-rtmp
docker run -it -p 1935:1935 -p 8080:80 --rm alfg/nginx-rtmp
##推流
接地线夹ffmpeg -threads 2 -re -fflags +genpts -i ./15957675341247.mp4 -c:v copy -c:a aac -strict -2 -f flv rtmp://192.168.0.139:1935/hls/hello1
##验证是否发送数据成功
192.168.0.139:8080/stat
会出现直播流的密钥名称hello1网络流量监测
##播放
#rtmp
ffplay -fflags nobuffer rtmp://192.168.0.139:1935/hls/hello1 # rtmp播放,也可以配置h5ss 播放
#http
使⽤vlc 播放, 这个地址是根据配置⽂件和⽹上信息推出来的
192.168.0.139:1935/hls/hello1/index.m3u8
##注意:
使⽤/hls 是因为需要同时以rtmp 和http
如果只是rtmp 可以使⽤/strem/hello 来推流和拉流
同时还可以使⽤摄像头推流
red5
red5 在Windows上部署总是有问题,最主要的就是jdk 的版本问题和red5 release版本的问题
可以直接调⽤摄像头的视频作为视频源
linux 基本安装:
jdk : java version "1.8.0_221"
red5 :
red5 ⾼版本⼀直没有实验成功
大规模定制
rtsp转rtmp
ffmpeg -i rtsp:///vod/mp4:v -vcodec copy -acodec copy -f flv rtmp://192.168.0.139:1935/hls/hello2