RTMP поток exec на сервер HLS nginx не работает - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь преобразовать поток RMTP в HLS, используя ffmpeg на сервере nginx. Это моя основная конфигурация nginx.Если использовать push rtmp: // localhost / show / вместо exec для сохранения данных, но exec ничего не делает.
Я вижу поток с помощью ffplay,
error -> RTMP_ReadPacket, не удалось прочитать RTMP-пакетheader
rtmp: // localhost / live / key: при обработке ввода обнаружены неверные данные
Для проверки я использую OBS и ffplay

#user  root;
worker_processes  auto;


events {
    worker_connections  1024;
}


# RTMP configuration
rtmp {
    server {
        listen 1935; # Listen on standard RTMP port
        chunk_size 4000; 

        # This application is to accept incoming stream
        application live {
            live on; # Allows live input

            # Once receive stream, transcode for adaptive streaming
            exec ffmpeg -i rtmp://localhost/$app/$name -async 1 -vsync -1 -c:v libx264 -c:a libvo_aacenc -b:v 256k -b:a 32k -vf "scale=480:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_low 2>>/tmp/ffmpeg.error; 
        }

        # This application is for splitting the stream into HLS fragments
        application show {
            live on; # Allows live input from above
            hls on; # Enable HTTP Live Streaming

            hls_path /mnt/hls/;

            # Instruct clients to adjust resolution according to bandwidth
            hls_variant _low BANDWIDTH=288000; # Low bitrate, sub-SD resolution
        }
    }
}
...