一、前言
二、HTTP协议
1、将服务器上的视频文件通过HTTP协议渐进式下载,然后播放器解码播放.
2、视频播放快进的原理:视频文件的头部存储了相应帧的位置,这样视频就可以跳转到未被下载的部分,这是因为HTTP1.1协议开始支持Range见下图可以指定从哪个字节开始下载播放,注:Range这个特性也用在断点续传。
3、HTTP用于点播,视频文件主要有MP4或以前老的Flash FLV等。这种视频很容易被用户下载下去存在版权的问题,但因为是走80端口不用解决网络中防火墙等穿透问题。
三、RTMP协议
RTMP即Real-Time Messging Protocol 是Adobe私有协议,一般传输的是Flv、mp4格式流,
搭建RTMP服务器,播放时实时连接服务器,播放的是服务器上的文件,视频文件不会缓存在客户端,版权更安全。
1、环境搭建,安装Nginx与Nginx rtmp模块
OS:Ubuntu 16.04 64
wget http://nginx.org./download/nginx-1.8.1.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/refs/heads/master.zip
apt-get update
apt-get install libpcre3 libpcre3-dev
apt-get install openssl libssl-dev
tar -zxvf nginx-1.8.1.tar.gz
unzip master.zip
cd nginx-1.8.1/
./configure --add-module=../nginx-rtmp-module-master
make && make install
2、配置点播服务
nginx.conf
rtmp{
server{
listen 1935;
chunk_size 4096;
application vod{
play /opt/vod;
}
}
}
将视频文件 vanmilk.mp4 放到到/opt/vod目录下即可,用VLC播放器 Open Network 打开地址 rtmp://118.31.5.244/vod/vanmilk.mp4,当然在网页中你播放器支持也可以直接播放。
2、配置直播服务
待续,本想今天把直播环境搭建一下,忙得一点时间都没有,明后天再折腾,这块内容计划用5,6个小篇写完。。