Nginx搭建hls流媒体服务器

来源:互联网 发布:证券交易网络 编辑:程序博客网 时间:2024/06/11 20:18

方案一:ffmpeg+nginx

新的ffmpeg已经支持HLS。

点播

生成hls分片:

    ffmpeg -i <媒体文件> -c:v libx264 -c:a -f hls /usr/local/nginx/html/test.m3u8 

直播:

  ffmpeg -i udp://@:1234 -c:v libx264 -c:a -f hls  /usr/local/nginx/html/test.m3u8

建立web服务器:
默认配置就可以。

  server {      listen       80;      server_name  localhost;      #charset koi8-r;      #access_log  logs/host.access.log  main;      location / {      root   html;      index  index.html index.htm;      }  }

启动nginx。
客户端访问:http://IP/test.m3u8
在windows上可以用vlc播放。

方案二:nginx-rtmp-module

  rtmp {      server {          listen 1935;          chunk_size 4000;          #HLS          # For HLS to work please create a directory in tmpfs (/tmp/app here)          # for the fragments. The directory contents is served via HTTP (see          # http{} section in config)          #          # Incoming stream must be in H264/AAC. For iPhones use baseline H264          # profile (see ffmpeg example).          # This example creates RTMP stream from movie ready for HLS:          #          # ffmpeg -loglevel verbose -re -i movie.avi  -vcodec libx264           #    -vprofile baseline -acodec libmp3lame -ar 44100 -ac 1           #    -f flv rtmp://localhost:1935/hls/movie          #          # If you need to transcode live stream use 'exec' feature.          #          application hls {              live on;              hls on;              hls_path /tmp/app;              hls_fragment 5s;          }      }  }  http {      server {          listen      80;          location /hls {              # Serve HLS fragments              types {                  application/vnd.apple.mpegurl m3u8;                  video/mp2t ts;              }          alias /tmp/app;          expires -1;          }      }  }
原创粉丝点击