nginx-rtmp 模块 做内部代理分流
application TV 获取外部推流 编码 转交给 application game1
application game1 推流给 application live
最终可以得到内部拉流地址
rtmp://127.0.0.1:1935/live/2018
rtmp {
server {
listen 1935; #监听的端口
chunk_size 4000;
application TV { #rtmp推流请求路径
live on;
//推流
exec_static /root/bin/x24699 -re -i rtmp://127.0.0.1:1935/TV/lulu -i /home/bin/live.png -filter_complex "overlay=1770:200" -c:v libx264 -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 4000k -preset veryfast -c:a copy -f flv rtmp://127.0.0.1:1935/game1/1500;
}
application live{
live on;
}
application game1 { #rtmp推流请求路径
live on;
include server_name.conf;
/*server_name 配置如下
push rtmp://127.0.0.1:1935/live/2018;*/
}
}
}
解读 推流配置
exec_static 为nginx-rtmp 模块执行命令 同exec 见:手册或其他博客
/root/bin/X24699 一个被调用程序绝对路径 例如下面、
-re -i 详见ffmepg 命令 类似
/*
//ffmepg推流(本地准备一个视频文件)
ffmpeg -re -i 本地视频文件的绝对路径(如/Users/flycorn/Downloads/demo-hls.mp4) -vcodec copy -f flv rtmp://服务器IP:1935/hls/test
// 如:
ffmpeg -re -i /Users/flycorn/Downloads/demo-hls.mp4 -vcodec copy -f flv rtmp://服务器IP:1935/hls/test
*/
第一段 url 为 约定 获取 应用application TV 的流
rtmp://127.0.0.1:1935/TV/LULU // 应用之后 url 参数随意约定
第二段 url 为 推出 地址
此处 推向 应用application game1
rtmp://127.0.0.1:1935/game1/1500;
/*应用之后 url 参数随意约定 */
game1由于配置
最后推出 (推流)
rtmp://127.0.0.1:1935/live/2018
-------------Linux 命令-------------------------
pstree 查看进程
setup 设置网络
vim ifcfg-eth1
cd /etc/sysconfig/network-scripts/
ifconfig
ifconfig eth0 192.168.1.56
//给eth0网卡配置IP地址
ifconfig eth0 192.168.1.56 netmask 255.255.255.0
// 给eth0网卡配置IP地址,并加上子掩码
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
rm 删除
df -h 查看硬盘
top 查看cpu
free 查看内存
echo 1 > /pros/sys/vm/drop_caches 清除缓存
iftop
sh go.sh 启动
killall 关闭进程
service network restart 网关重启