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;
            }
        }
    }
  • 相关阅读:
    【转载】在Linux中使用VS Code编译调试C++项目
    【转载】Visual Studio 2015 for Linux更好地支持Linux下的开发
    【转载】ODBC, OLEDB, ADO, ADO.Net的演化简史
    【转载】OLE DB, ADO, ODBC关系与区别
    【转载】ADO,OLEDB,ODBC,DAO的区别
    【转载】Linux系统启动流程
    91. Decode Ways
    90. Subsets II
    89. Gray Code
    88. Merge Sorted Array
  • 原文地址:https://www.cnblogs.com/chenhaib/p/4013305.html
Copyright © 2011-2022 走看看