zoukankan      html  css  js  c++  java
  • 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;
            }
        }
    }
  • 相关阅读:
    (三十九)golang--反序列化
    (三十八)golang--json(对切片、map、结构体进行序列化)
    (三十七)golang--如何获取命令行参数
    (三十六)golang--文件的基本操作
    golang实战--客户信息管理系统
    Linux系统的LOG日志文件及入侵后日志的清除
    Linux下清除系统日志方法
    linux log日志解析
    linux添加开机自启动脚本示例详解
    linux添加开机启动项的方法介绍
  • 原文地址:https://www.cnblogs.com/chenhaib/p/4013305.html
Copyright © 2011-2022 走看看