2017-06-20 8 views
-1

私はそれは、オープンブロードキャスターソフトウェアからのRTMPストリームを受信HLSに変換し、いくつかのHTML5プレーヤーで私個人のウェブサイト上で再生したい私のLinuxサーバ上のRTMPモジュールとnginxのインストールしたが動作していません。ストリームトラフを受信するとRTMPは機能しますが、HLSストリームは機能していないようです。私の現在の設定はそうのようなものです:nginxのHLSストリームは

worker_processes 1; 

events { 
    worker_connections 1024; 
} 


http { 
    #include  mime.types; 
    #default_type application/octet-stream; 
    sendfile  off; 
    #keepalive_timeout 65; 

    server { 
     listen  8080; 
     #server_name localhost; 

     #location/{ 
     # root html; 
     # index index.html index.htm; 
     #} 

     #error_page 404    /404.html; 

     # redirect server error pages to the static page /50x.html 
     #error_page 500 502 503 504 /50x.html; 
     #location = /50x.html { 
     # root html; 
     #} 

     #********************************************************************************************************************************* 
     location /hls { 
      types { 
       application/vnd.apple.mpegurl m3u8; 
     } 
      root /mnt/; 
      add_header Cache-Control no-cache; 

      # To avoid issues with cross-domain HTTP requests (e.g. during development) 
      #add_header Access-Control-Allow-Origin *; 
     } 
     #********************************************************************************************************************************* 

    } 

} 

rtmp { 
     server { 
       listen 1935; 
       chunk_size 4096; 

       application stream { 
         live on; 
         #record off; 

      hls on; 
      hls_path /mnt/hls; 
      #hls_fragment 6s; 
       } 
     } 
} 

は、私は私がブラウザに入力した場合、私に.m3u8ファイルを与えるhttp://ip:8080/hls/streamname.m3u8を使用しようとHLSを受信するために、正常に動作しますrtmp://ip/stream/streamnameを使用してRTMPストリームを受け取るために、しかし、 HTML5プレーヤーでファイルを再生しようとするとウェブページ上で動作しないようです。これらのページからテストしています:https://videojs.github.io/videojs-contrib-hls/https://demo.theoplayer.com/test-hls-mpeg-dash-stream

私が間違っていることを理解できる人は誰でも教えてください。

答えて

0

それはあなたがコンソールまたはネットワークエラーの種類を共有している場合、それらのページにあなたのHLSストリームをテストするとき、あなたが得るのを助けるでしょう。

トラブルシューティングの洞察が得られるかもしれません。たとえば、別のドメインからストリームにアクセスして、Access Control Allow Originエラーが発生している可能性があります。 nginx.confでこの行のコメントを外して再読み込みしてみてください。

#add_header Access-Control-Allow-Origin *; 

「ビデオ/ mp2t ts;」も参照してください。私のhlsの場所ブロックに。

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

乾杯。 イアン

+0

私は私がどのdefintiveエラーのフィードバックを得るdidntはそれらのプレーヤーでテストが、私はVLCでストリームをテストするときに、このソリューションは、作品のよう。私が気づいたもう一つの点は、接続しようとしたときにドメイン名ではなく私の直接IPを使用したときにのみ機能していたことでしたので、そこに間違った設定がある(または単にドメイン名プロバイダによってブロックされた) – Zamor

関連する問題