流媒体服务器搭建
来源:互联网 发布:java架构师成长之路 编辑:程序博客网 时间:2024/05/16 08:07
一, 环境准备
1, ffmpeg
2, pcre-8.40.tar.gz
3, zlib-1.2.11
4, nginx-rtmp-module-1.2.0
5, nginx-1.12.2.tar.gz
6, OpenSSL_1_1_0g.tar.gz
7, spawn-fcgi-1.6.4.tar.gz ——–fastCGI
8, fcgi-2.4.1-SNAP-0910052249.tar.gz —-fastCGI
9, fastdfs-5.10.tar.gz —-fastDFS
10, libfastcommon-1.36.zip –fastDFS
二, 环境的搭建
我是参考这个配置的
1, 依次编译 开源源码
2, 编译nginx_rtmp
在Nginx下编译
命令
./configure --add-module=../nginx-rtmp-module-1.2.0 --with-openssl=../openssl-OpenSSL_1_1_0g --with-zlib=../zlib-1.2.11 --with-pcre=../pcre-8.40
这样编译会报错的说找不到动态库
分析nginx依赖库lib的源码conf
对应方法配置动态库的环境变量
还有用户的环境配置
方法:
三, 配置流媒体环境
nginx的conf配置
worker_processes 1;error_log logs/error.log debug;events { worker_connections 1024;}rtmp { server { listen 1935; application myapp { live on; record off; exec ffmpeg -i rtmp://47.93.31.88/myapp/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://47.93.31.88/live/$name; #record keyframes; #record_path /tmp; #record_max_size 128K; #record_interval 30s; #record_suffix .this.is.flv; #on_publish http://localhost:8080/publish; #on_play http://localhost:8080/play; #on_record_done http://localhost:8080/record_done; } application live { live on; record off; } }}http { sendfile on; #压缩 gzip on; server { listen 8080; charset utf8; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /home/nginx/nginx-rtmp-module-1.2.0; } location /jwplayer/ { root /home/nginx/nginx-rtmp-module-1.2.0; } location /control { rtmp_control all; } #location /publish { # return 201; #} #location /play { # return 202; #} #location /record_done { # return 203; #} location /rtmp-publisher { root /home/nginx/nginx-rtmp-module-1.2.0/test; } location / { root /home/nginx/nginx-rtmp-module-1.2.0/test/www; } }}
1, ffmpeg推流
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://47.93.31.88:1935/myapp/mystream
四, 负载均衡的配置
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; # 实现反向代理+负载均衡功能 # 代理两台linux - 需要一个server模块 # Luffy + Robin - server server { listen 80; server_name localhost; charset utf8; location / { # 设置代理地址 proxy_pass http://linux.test; # 名字自己编 } } # 添加反向代理的模块 upstream linux.test { server 192.168.86.253:80 weight=5; server 192.168.86.254:80 weight=1; }}
阅读全文
0 0
- vlc搭建流媒体服务器
- 如何搭建流媒体服务器
- linux搭建流媒体服务器
- nginx搭建流媒体服务器
- 流媒体服务器搭建
- nginx搭建流媒体服务器
- 搭建流媒体服务器
- 流媒体服务器搭建总结
- vlc搭建流媒体服务器
- 流媒体服务器的搭建
- 流媒体服务器的搭建
- nginx搭建流媒体服务器
- vlc搭建流媒体服务器
- nginx流媒体服务器搭建
- nginx流媒体服务器搭建
- 流媒体服务器搭建
- 3518流媒体服务器-搭建服务器
- 【流媒体技术】流媒体(1)使用nginx搭建流媒体服务器
- 创建新用户,grant授权,角色,建表
- Redis初识
- Sql Server 中varchar和nvarchar 的区别
- tomcat设置UTF-8编码
- Android Bugly 热更新详解,腾讯微信Tinker的开源方案
- 流媒体服务器搭建
- java 技术栈
- 【我的Java笔记】Java反射
- nifi初识---概念 、特性、面临挑战
- 生成PKCS12证书,以及解析PKCS12证书
- (一)Charles Proxy代理使用简要介绍
- 简单的倒计时实现(拓展的知识点防止透明度继承父类)
- vue-ref-$refs用法
- 常用加密算法的Java实现总结(二)