当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 23

绿动脉 / 小程序和H5环境直播+nginx ffmpeg推流
暂停

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
3-视频源制作.md 4.50 KB
一键复制 编辑 原始数据 按行查看 历史
jiangjiesheng 提交于 2018-07-12 11:39 . 增加教程链接

###视频源的制作 (注意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 推流 摄像头

JavaScript
1
https://gitee.com/ldmplus/minp-h5-live-lib.git
git@gitee.com:ldmplus/minp-h5-live-lib.git
ldmplus
minp-h5-live-lib
小程序和H5环境直播+nginx ffmpeg推流
master

搜索帮助