Как перезаписать m3u8 с помощью ffmpeg - PullRequest
0 голосов
/ 09 марта 2020

Я использую 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, и она есть.

1 Ответ

0 голосов
/ 23 марта 2020

Если вы пытаетесь воспроизвести поток sh как 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;
    }

Попробуйте http://127.0.0.1/hls/stream.m3u8, если настройка прошла успешно и ffmpeg работает.

...