yamdi

Nginx搭建flv视频点播服务器

感情迁移 提交于 2020-08-17 19:08:08
前一段时间使用Nginx搭建的多媒体服务器只能在缓冲过的时间区域内拖放, 而不能拖放到未缓冲的地方. 这就带来了一个问题: 如果视频限速的速率很小, 那么客户端观看视频时肯定不流畅, 而且用户不能向前拖放, 用户体验很不好. 如果视频限速的速率很大或者不限速, 服务器是承受不了的, 特别是在某个热门视频高并发访问的情况下, 而且客户端浏览器也在快速的从服务器接收数据, 同样会造成客户端视频播放不流畅的问题, 对服务器的性能和网络带宽都是很大的挑战. 所以很有必要将实现视频服务器的点播功能, 这样既可以对视频进行限速, 避免大量不必要数据在网上的传送, 又可以改善用户体验. 本文主要参考了 [1] 的实现, 期间会遇到各种意想不到问题, 然后从网上搜索到了解决方法. 本次搭建使用的Nginx版本是1.4.1, jwplayer的版本是6.6. 资料: HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。 HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。 一 准备 搭建点播服务器需要如下几个模块: nginx_mod_h264_streaming: 使nginx支持h264编码的视频 http_flv

用nginx搭建基于rtmp或者http的flv、mp4流媒体服务器

不问归期 提交于 2019-11-29 07:24:56
一、流媒体播放方式 1、 HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTMP/RTMP流媒体方式强大,很多视频网站都是用HTTP方式实现的,如:YouTube,土豆,酷6等 2、 RTMP/RTMP流媒体方式 这种方式不用下载FLV视频文件到本地,可以实时的播放flv文件,可以任意拖拽播放进度条,但是比较消耗服务器的资源。 二、使用nginx来搭建flv流媒体服务器 1.安装git yum install git 2.安装依赖包 yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64 3、安装ffmpeg及其依赖包(我的依赖包安装在/usr/local/src下,不过安装位置可以根据个人习惯而定) 以下安装包能用yum安装的,尽量用yum来安装,没有的再wget来获得。 #wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz #tar xzvf yasm-1.2.0