同步操作将从 江节胜/小程序和H5环境直播+nginx ffmpeg推流 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
###视频源的制作 (注意rtmp 不要拼写错误)
方法一: Nginx + ffmpeg 利用ffmpeg推流
1、安装rtmp模块
brew install nginx-full --with-rtmp-module (自己的安装过程参考 《CentOS-nginx配置Https-SSL-ngx_http_ssl_module》)
但是 ./configure 过程 如下:
https://github.com/arut/nginx-rtmp-module
git clone https://github.com/arut/nginx-rtmp-module.git 已经fork https://github.com/fork-project/nginx-rtmp-module
./configure --add-module=/nginx-rtmp-module的路径 --with-http_ssl_module --with-pcre --with-ipv6
即为
./configure --add-module=/home/admin/mylibs/rtmpmodule/nginx-rtmp-module --with-http_ssl_module --with-pcre --with-ipv6
(注:--add-module 的目录直接就是git clone 的文件夹路径)
make && make install (相关文件备份说明见《CentOS-nginx配置Https-SSL-ngx_http_ssl_module》)
关于安装rtmp模块网上说明:
https://blog.csdn.net/loyachen/article/details/50907828
https://blog.csdn.net/O0mm0O/article/details/73896384
具体nginx.conf配置文件后期备份出来 8080端口上也有hls的配置
2、安装ffmpeg:
CentOS 6和7安装方法是不一样的,下面分别说明:
安装前都需要先安装epel扩展源
yum -y install epel-release
> CentOS 7需额外安装扩展源:
su -c 'yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm'
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
yum -y install ffmpeg ffmpeg-devel
> CentOS 6比较简单,安装yum源之后直接安装即可:
su -c 'yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm'
yum -y install ffmpeg ffmpeg-devel
ffmpeg安装验证 输入 ffmpeg 回车
3、配置nginx
/usr/local/nginx/conf/nginx.conf
测试视频放在 /usr/local/var/www/videos/resources 文件夹下
-----------------测试时注意关闭防火墙 service iptables stop 并测试nginx在外部能访问(不确定)!!!----------------------
4、推流测试
test.mp4 就是相对路径
A rtmp 推流
ffmpeg -re -i test.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://192.168.1.168:1935/rtmplive/stream
注意 rtmplive 就是nginx.conf 中的rtmp application rtmplive 节点
stream 随意
rtmp播放验证(VLC播放器)
http://www.videolan.org/
https://iso.mirrors.ustc.edu.cn/videolan-ftp/vlc/3.0.3/win64/vlc-3.0.3-win64.exe
媒体 > 打开网络串流 输入 rtmp://192.168.1.168:1935/rtmplive/stream 播放
B hls 推流
ffmpeg -re -i test.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://192.168.1.168:1935/hls/stream
原理: FFmpeg 把视频分片 放在/home/admin/var/www/hls下,播放是听过http协议来的,会根据nginx.conf 中的location /hls 节点读取资源
hls播放验证 (Safari播放器)
http://192.168.1.168/hls/stream (hls来自nginx.conf,stream来自ffmpeg的命令)
(测试404错误 失败............)
相关路径下没有生成ts文件 (失败)
5、使用h5live-demo中的server推流(可能只能在mac上运行)
(先关闭nginx服务 同端口)
chmod 755 server
open server
ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.1.168:1935/live/movie
(live是必须的,movie可以自定义)
验证 RTMP rtmp://192.168.1.168:1935/live/movie
FLV http://192.168.1.168:1935/live/movie.flv
HLS http://192.168.1.168:1935/live/movie.m3u8
另外 推流: (关键字 摄像头 Android windows ) (Android摄像头推流) (ffmpeg 推流 摄像头) mac下面用ffmpeg抓取桌面以及摄像头推流进行直播 https://blog.csdn.net/jeffasd/article/details/71205664 Android平台下使用FFmpeg进行RTMP推流(摄像头推流) https://www.jianshu.com/p/462e489b7ce0 FFmpeg常用推流命令 https://www.jianshu.com/p/d541b317f71c fmpeg开发之旅(10):AndroidUSBCamera,UVCCamera开发通用库 https://blog.csdn.net/andrexpert/article/details/78324181 ffmpeg开发之旅(7):Android视频直播核心技术(架构)详解 https://blog.csdn.net/andrexpert/article/details/76919535
Android摄像头推流 ffmpeg 推流 摄像头
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。