欢迎,请 登录 | 注册 | 加入收藏

linux下设置使用nginx搭建hls服务

以下是Linux系统的搭建,需要win系统下面的配置请到:http://91flv.com/help/2014-07-09/277.html 

一、安装nginx服务
(1) 安装  

apt-get install nginx

(2) 配置

1. 在/etc/nginx/mime.types中的types的括号内加入以下两行:
application/x-mpegURL                 m3u8;  
video/MP2T                             ts;
2. 在/etc/nginx/nginx.conf文件中,
找到下面一行:
include /etc/nginx/sites-enabled/*;
将其注释掉,然后换成下面一行:
include /etc/nginx/sites-enabled/myweb;

3. 在/etc/nginx/sites-enabled目录下,创建myweb文件,文件内容如下

[plain] view plaincopy
  1. <pre name="code" class="plain"><pre name="code" class="plain">server {  
  2. listen   8080; ## listen for ipv4; this line is default and implied  
  3. root /var/www/hls;  
  4. index index.html index.htm;  
  5. location / {  
  6. try_files $uri $uri/ /index.html;  
  7. }  
  8. location /doc/ {  
  9. alias /usr/share/doc/;  
  10. autoindex on;  
  11. allow all;  
  12. }  
  13. }</pre></pre>  
注:root选项后面的/var/www/hls是指nginx服务器的根目录。



(3) 启动

service nginx restart



二、安装ffmpeg

apt-get install ffmpeg



三、下载编译segmenter

下载:https://github.com/johnf/m3u8-segmenter.git
编译:
gcc -Wall -g segmenter.c -o segmenter -lavformat
注,不需要使用m3u8-segmenter目录中的.configure和Makefile来编译,而只需要segmenter.c文件编译




四、将视频文件转化为http live stream文件:

(1) 脚本如下:

 

 

[plain] view plaincopy
  1. #!/bin/sh  
  2. file=$1  
  3. file_name=`echo ${file} | awk -F '.' '{ print $1 "" }'`  
  4. ffmpeg -i $1  -f mpegts -acodec libmp3lame -ar 48000 -ab 128k -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 ${file_name}.ts  
  5. ./segmenter -i ${file_name}.ts -n 20 -p hls -m ${file_name}.m3u8 -u http://192.168.6.240:8080/  

 

 

(2) 此脚本命名为convert,并和segmenter和视频文件放在/var/www/hls/目录下。
(3) 使用方法:
./convert 视频文件名
注:会产生较多的.ts文件和一个.m3u8文件。

五、使用vlc测试

打开vlc的网络串流,则对话框输入
http://192.168.6.240:8080/视频文件名.m3u8
点击播放,则可以正常的播放视频。