【问题标题】:How to restream m3u8 with ffmpeg如何使用 ffmpeg 重新流式传输 m3u8
【发布时间】:2020-03-09 15:59:09
【问题描述】:

我使用 nginx rtmp 和 followig 命令:

ffmpeg -fflags +igndts -hide_banner -i https://ch.iptvmate.net/ec6e5689ffd6f9690102640bddd2f9e7.m3u8 -c copy -f hls -hls_time 4 -hls_flags append_list+delete_segments -hls_list_size 6 -hls_segment_filename 'hls/ch2/file%03d.ts' hls/ch2/playlist.m3u8

它流式传输但不是直播,它已录制了频道的一个时段,并且此链接一次又一次地流式传输该时段。命令是否正确?我刚刚创建了名为 ch2 的文件夹。

【问题讨论】:

    标签: ffmpeg http-live-streaming m3u8


    【解决方案1】:

    如果您尝试将流作为 rtmp 推送,则不需要 HLS 参数。

    通过 rtmp 重新流式传输到 nginx 的简单方法:

    ffmpeg -fflags +igndts -hide_banner -i https://ch.iptvmate.net/ec6e5689ffd6f9690102640bddd2f9e7.m3u8 -c copy -f flv rtmp://127.0.0.1/live/stream
    

    之后,您可以在 Nginx 中配置您的实时区块以使用 HLS。

            application live {
            live on;
            hls on;
            hls_path /tmp/hls;
        }
    

    最终,您希望通过 HTTP 获得块:

            location /hls {
            # Serve HLS fragments
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            root /tmp;
            add_header Cache-Control no-cache;
        }
    

    当配置成功并且ffmpeg正在运行时尝试http://127.0.0.1/hls/stream.m3u8

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-08
      • 2014-06-14
      • 1970-01-01
      • 2018-06-30
      • 2020-07-12
      • 2015-06-24
      • 1970-01-01
      • 2015-08-20
      相关资源
      最近更新 更多