读书人

Nginx筹建hls流媒体服务器

发布时间: 2013-10-24 18:27:24 作者: rapoo

Nginx搭建hls流媒体服务器

第一种方案: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;        }    }}

读书人网 >其他相关

热点推荐