热门关键字:
jquery > jquery教程 > html5视频直播 > windows+nginx+ffmpeg实现移动端html5直播m3u8

windows+nginx+ffmpeg实现移动端html5直播m3u8

4628
作者:管理员
发布时间:2016/1/23 21:57:08
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=738

windows+nginx+ffmpeg实现移动端html5直播m3u8

windows+nginx+ffmpeg实现移动端html5直播m3u8

前端条件:

1、windows操作系统

2、nginx服务(nginx-rtmp-module编译的windows版RTMP服务端完整实例

3、ffmpeg解码器(下载地址


NodeMedia Dev Server是基于nginx-rtmp-module编译的windows版RTMP服务端完整实例。无需配置,一键运行,是您快速开发,测试,验证RTMP流的好帮手。 可以用来开发:视频直播间,音视频聊天,游戏直播,远程视频监控等。


包含以下实用工具:
RTMP流媒体服务端
Flash Rtmp流播放器
Flash HLS直播流播放器
Flash Rtmp摄像头视频发布器
Flash 视频聊天Demo
此版本作为RTMP流媒体开发的实用工具,不建议作为产品级部署。


nginx服务解压之后就可以直接使用,这个版本的已经配置好,如果还需要其它功能的话可以修改conf目录下的nginx.conf配置文件,启动服务器也很简单,双击根目录下的nginx.exe文件就可以了。


服务器已经准备就绪,接下来就ffmpeg的工作了。

web移动端不支持flash,所以rtmp协议的直播流就无法播放了,只支持基于HTTP协议的流媒体解决方案


接下来对M3U8流系统的认识一下    
HLS(HTTP Live Streaming)是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的基于HTTP协议的流媒体解决方案。

在 HLS 技术中 Web 服务器向客户端提供接近实时的音视频流。

但在使用的过程中是使用的标准的 HTTP 协议,所以这时,只要使用 HLS 的技术,就能在普通的 HTTP 的应用上直接提供点播和直播。

在App Store中的视频相关的应用,基本都是应用的此种技术。

该技术基本原理是将视频文件或视频流切分成小片(ts)并建立索引文件(m3u8)。

支持的视频流编码为H.264,音频流编码为AAC。


以笔记本电脑的摄像头做为视频源采集和nginx服务器放在f盘为例:

ffmpeg切片命令如下:

ffmpeg -f vfwcap -i "0" -strict -2 -c:v libx264 -c:a aac -f hls F:\nginx\temp\hls\test.m3u8


运行命令之后会自动在 F:\nginx\temp\hls\目录下自动生成一个test.m3u8切片索引文件和若干个.ts的视频片段文件如:test0.ts,test1.ts。。。。。


html5直播的video视频源如下:

http://nginx服务IP:端口号/hls/test.m3u8


代码如下:

<video src="http://192.168.1.113:8080/hls/test.m3u8"></video>

具体的参数详细介绍请点击以下链接查看:

http://www.jq-school.com/MD.aspx?id=1222










如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:windows nginx ffmpeg html5 m3u8 hls
友荐云推荐