2017-06-12 7 views
0

Si vous pouviez me faire la lumière, je l'apprécierais. Donc, fondamentalement, je tire un flux de mon encodeur et cela fonctionne, j'ai la sortie m3u8 et il est accessible mais la vidéo HLS est nerveux et je perds des trames. le jeu n'est pas continu.HLS NGINX-RTMP [erreur] 1281 # 0: * 58 hls: fraction de force divisée: 10.002 sec

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

(Modifier après avoir tiré de RTSP, ...) 13.06.2017 10:48:55 [erreur] 1.281 # 0: * 763 hls: fragment force de scission: 10,416 sec,, client: XX , serveur: 0.0.0.0:1935

Voici mon fichier de configuration:

#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/; 
     } 
    } 
} 
+0

'pull' est pour RTMP cours d'eau si la [documentation] (https://github.com/arut/nginx-rtmp-module/wiki/Directives#pull) est en-to rendez-vous amoureux. Utilisez-vous un flux RTMPT en entrée? – aergistal

+0

J'ai édité le poste, changé la source je tire à RTSP et ajouté l'image de la stat pour mieux illustrer. Si vous pouviez m'aider, ce serait apprécié. J'ai également pensé à configurer un ordinateur local et répliquer la même configuration pour voir si le problème est avec mon fournisseur d'hébergement. J'ai un serveur dédié pour cela. – superdianix

+0

Essayez d'abord les commandes 'ffmpeg' dans CLI pour voir s'il y a des erreurs signalées pour ces sources. À propos de l'erreur de message, vous copiez l'encodage source, ce qui signifie que vous utilisez les images clés existantes qui ne sont pas séparées par des intervalles de 3 s. – aergistal

Répondre

0

** OK Alors .. j'ai des nouvelles. Fondamentalement, cette configuration était parfaite. La raison pour laquelle je perdais tous ces paquets était à cause de la distance entre l'encodeur et le serveur dédié.

Conseillé d'avoir le serveur localement où les encodeurs sont ... Donc, cela a fonctionné pour moi.

Vive **