HLS NGINX-RTMP [ошибка] 1281 # 0: * 58 hls: принудительное разделение фрагмента: 10,002 с

Если бы вы могли пролить свет для меня, я был бы признателен.

Итак, в основном я вытягиваю поток из своего кодировщика, и он работает, я получаю вывод m3u8, и он доступен, но видео HLS дергается, и я теряю кадры. пьеса не является непрерывной.

2017/06/12 16:04:09 [error] 1281#0: *58 hls: force fragment split: 10.002 sec

(Редактировать после извлечения из RTSP...) 13.06.2017 10:48:55 [ошибка] 1281#0: *763 hls: принудительное разделение фрагмента: 10,416 сек, , клиент: XX, сервер: 0.0.0.0:1935

Вот мой файл конфигурации:

#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}

# RTMP configuration

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

        application live {
        live on;

        exec_pull ffmpeg -re -i rtsp://xxx/xxx -c copy -f flv rtmp://xxx:1935/live/xxx;

        exec_pull ffmpeg -re -i rtsp://xxx:8080/xxx -c copy -f flv rtmp://xxx:1935/live/xxx;

        # Turn on HLS
        hls on;
        hls_path /tmp/hls/;
        hls_fragment 3;
        hls_playlist_length 60;

        }
    }
}

http {
    sendfile off;
    tcp_nopush on;
    directio 512;
    default_type application/octet-stream;

    server {
        listen 80;
        server_name  localhost;

         # rtmp statistics
        location /stat {
        rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
        }

    location /stat.xsl {
        # you can move stat.xsl to a different location
        # under linux you could use /var/user/www for example
        root html;          
    }

    location / {
        # Disable cache
        add_header 'Cache-Control' 'no-cache';

        # CORS setup
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
        add_header 'Access-Control-Allow-Headers' 'Range';

        # allow CORS preflight requests
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Headers' 'Range';
            add_header 'Access-Control-Max-Age' 1728000;
            add_header 'Content-Type' 'text/plain charset=UTF-8';
            add_header 'Content-Length' 0;
            return 204;
        }

        types {
            application/dash+xml mpd;
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }

                root /tmp/;
        }
    }
}

person superdianix    schedule 12.06.2017    source источник
comment
pull предназначен для потоков RTMP, если документация соответствует требованиям -свидание. Вы используете поток RTMPT в качестве входных данных?   -  person aergistal    schedule 13.06.2017
comment
Я отредактировал сообщение, изменил источник, который я загружаю, на rtsp и добавил изображение статистики, чтобы лучше проиллюстрировать. Если бы вы могли мне помочь, это было бы признательно. Также подумал о настройке локального компьютера и репликации той же конфигурации, чтобы увидеть, не связана ли проблема с моим хостинг-провайдером. У меня есть выделенный сервер для этого.   -  person superdianix    schedule 13.06.2017
comment
Сначала попробуйте команды ffmpeg в CLI, чтобы узнать, есть ли сообщения об ошибках для этих источников. Что касается ошибки сообщения, вы копируете исходную кодировку, что означает, что вы используете существующие ключевые кадры, которые могут быть разделены не точно на 3 секунды.   -  person aergistal    schedule 14.06.2017
comment
никаких ошибок в CLI, как я сделал это с локальным файлом, фильмом, и все прошло нормально. Я даже учел тот факт, что мои кодировщики находятся в Южной Америке, а сервер - это выделенный сервер в США... Должен ли я уменьшить кадр до 1 или увеличить его? Я попробую настроить это!   -  person superdianix    schedule 14.06.2017


Ответы (1)


**ОК Итак... у меня есть новости. В принципе, эта конфигурация была идеальной. Причина, по которой я терял все эти пакеты, заключалась в расстоянии между кодировщиком и выделенным сервером.

Посоветовали иметь сервер локально, где кодировщики... Так что у меня это сработало.

Ваше здоровье**

person superdianix    schedule 15.06.2017
comment
Серьезно? не по какой другой причине? - person mullerivan; 15.01.2020