Linux Nginx视频服务器

相关概念

传输协议

(1)RSVP:资源预留协议

(2)RTP:实时传输协议

(3)RTCP:实时传输控制协议

(4)MMS:微软流媒体服务协议

(5)RTSP:实时流协议

(6)RTMP:实时消息传输协议

流媒体服务器

流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。

流媒体播放形式

(1)HTTP

这种方式要下载flv视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTMP流媒体方式强大。

(2)RTMP

可以任意拖拽播放进度条,但是比较消耗服务器的资源。

 

Nginx+HLS

HLS( Http Live Streaming)苹果公司开放的支持html5直接播放的视频技术。nginx实现http服务器功能,可以通过http访问m3u8实现文件播放。

要使用HLS播放的第一步,是将视频文件切割成多个ts视频流,然后使用m3u8索引文件进行播放。生成m3u8和ts文件可以借助ffmpeg工具。

ffmpeg -i "G:\video\7 magic leap2.avi" -f hls "G:\video\HLR\test.m3u8"

对于大文件用上面这种方式有可能出现m3u8缺少索引的情况,因此也可以使用以下的方式进行文件转换。

ffmpeg -i bigfile.mp4 -codec:v libx264 -codec:a aac -map 0 -f ssegment -segment_format mpegts -segment_list tos.m3u8 -segment_time 10 taste_of_shanghai%04d.ts

直接将m3u8文件所在目录设置为http server的根目录。即可使用播放器打开远程连接。

Nginx+Jwplayer

1、做准备工作

(1)zlib 提供数据压缩使用

(2)gcc-c++

(3)pcre 是一个Perl库,包括perl兼容的正则表达式

(4)openssl openssl-devel

(5)yamdi 给flv添加关键帧使用

(6)nginx

(7)jw player

下载地址:http://webscripts.softpedia.com/JW-FLV-Media-Player/download/

2、安装

部分参考:https://blog.csdn.net/CHS007chs/article/details/101603000

(1)安装yamdi

wget http://sourceforge.net/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz #安装yadmi   

    tar xzvf yamdi-1.4.tar.gz   

    cd yamdi-1.4   

    make && make install

(2)添加mp4支持模块

wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz

    tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz

(3)nginx添加模块

./configure --add-module=../nginx_mod_h264_streaming-2.2.7  --prefix=/opt/nginx --with-http_flv_module 

3、配置

可以从网上找

4、使用jw player

参考网上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值