下面是nginx.conf配置文件的部分代码
application hls {
            live on;  
             hls on;  
             hls_path /tmp/app;  
             hls_fragment 2s;  #将每段的长度限定
            hls_playlist_length 6s;  #设置 HLS 播放列表长度。默认为 30 秒钟。
            record keyframes;  
            record_path /tmp;  
            record_max_size 1280M;  
            record_interval 86400s;  
            record_suffix .this.is.flv; 
       } 
这个配置之后可以向服务器的 "域名"/hls/xxx 进行推流,现在因为业务原因需要将“hls”动态配置,不知道有人可以提供个思路吗?不胜感激。 
研究了一会突然想到ffmpeg命令是否有问题, 于是将ffmpeg放到命令行去执行, 发现报错libx264库不存在,非常高兴找到原因了, 于是换了一条能执行的命令
exec /root/bin/ffmpeg -re  -i  /usr/src/aa.flv  -vcodec copy -f flv rtmp://localho
st:1935/hls/name; 
这条命令成功了, 在我的站点生成了 .ts的流文件, 和.m3u8的文件, 于是换成流转换就不行了, nginx.conf改成这样,nginx重启时也不报错, 哪里都不报错,就是没法生成 ts和m3u8,有没有知道的大神求解!!!
exec /root/bin/ffmpeg -re  -i  rtmp://localhost:1935/$app/$name  -vcodec copy -f flv rtmp://localho
st:1935/hls/$name; 

解决方案 »

  1.   

    自己顶一下....... nginx-rtmp-module 模块推流时配置文件怎么写才能动态换推流地址,希望给个思路,谢谢
      

  2.   

    application hls {
                live on;  
                 hls on;  
                 hls_path /tmp/app;  
                 hls_fragment 2s;  #将每段的长度限定
                hls_playlist_length 6s;  #设置 HLS 播放列表长度。默认为 30 秒钟。
                push "域名/IP"   # 进行推流的地址
                record keyframes;  
                record_path /tmp;  
                record_max_size 1280M;  
                record_interval 86400s;  
                record_suffix .this.is.flv; 
           } 
      

  3.   

    自己研究了一会儿, 发现rtmp手册中有写一种方法使用exec可以实现:
    但是我用了没有效果,感觉是ffmpeg没有生效, 但是在命令行中,ffmpeg -version 是显示装好了的, 在nginx.conf配置文件中使用就是不行,请大神帮忙看看, 给点思路application src {
        live on;
        exec_push ffmpeg -i rtmp://localhost/src/$name -vcodec libx264 -vprofile baseline -g 10 -s 300x200 -acodec libfaac -ar 44100 -ac 1 -f flv rtmp://localhost/hls/$name 2>>/var/log/ffmpeg-$name.log;
    }application hls {
        live on;
        hls on;
        hls_path /tmp/hls;
        hls_fragment 15s;
    }
      

  4.   

    我跟你遇到了童谣的问题  如何把application 换成动态的
      

  5.   

    我也是,怎么样配置exec 才能让ffmpeg 生效?