2015-04-22 2 views
3

У меня есть сервер wowza, где я транслирую livestreams, которые играют с jwplayer. Все работает отлично с Android и другими системами. (работает как с rtmp, так и с hls в android 4.4 и jwplayer (!)). Потоки отправляются на мой сервер wowza с avconv, работающим на компьютере linux, это отлично работает.play hls/rtmp on android

Но когда я пытаюсь отправить свои потоки непосредственно с компьютера linux с помощью avconv (команда samme, как в случае выше, но другого адресата) на локальный сервер, он не работает на андроиде со всеми пользователями на основе браузера, которые я пробовал, включая jwplayer. Потоки работают на других системах, но с jwplayer, например linux, chromebook. Ошибка, которую я получаю от jwplayer в Android, - «Нет доступных источников воспроизведения»

Я пробовал с crtmp rtmp, а также модуль nginx rtp для rtmp и hls. Всегда с тем же результатом, андроид терпит неудачу. Почему эти потоки терпят неудачу, когда они работают на андроиде при использовании wowza?

Моя текущая настройка являются Nginx с модулем RTMP, здесь являются nginx.conf:

worker_processes 1; 

#error_log logs/error.log; 
#error_log logs/error.log notice; 
#error_log logs/error.log info; 



events { 
    worker_connections 1024; 
} 


http { 

    server { 

     listen  8080; 


location/{ 
      add_header Access-Control-Allow-Origin *; 
      root html; 
      index index.html index.htm; 
     } 


     location /hls { 
      # Serve HLS fragments 
      types { 
      add_header Access-Control-Allow-Origin *; 

       application/vnd.apple.mpegurl m3u8; 
       video/mp2t ts; 
      } 
      root /tmp; 
      add_header Cache-Control no-cache; 
      add_header Access-Control-Allow-Origin *; 

     } 

     location /dash { 
      # Serve DASH fragments 
      root /tmp; 
      add_header Cache-Control no-cache; 
     } 
    } 
} 


rtmp { 

    server { 

     listen 1935; 
     chunk_size 4000; 

     application hls { 
      live on; 
      hls on; 
      hls_path /tmp/hls; 
     } 

     # MPEG-DASH is similar to HLS 

     application dash { 
      live on; 
      dash on; 
      dash_path /tmp/dash; 
     } 
    } 
} 

Вот команда avconv:

avconv -g 40 -threads 4 -f video4linux2 -video_size $SIZE -r 15 -i /dev/video0 -itsoffset -3.35 -i audio0.fifo -re -vcodec libx264 -r 15 -preset veryfast -tune zerolatency -aq 0 -q 3 -vbr 3 -maxrate 3M -threads 4 -f flv rtmp://192.168.0.6/hls/mycam 

При использовании команды выше через Wowza вместо локального хоста (! 92.168.0.6) он работает на android с jwplayer.

Так что не удастся просто настроить Android через локальный сервер, только при использовании wowza ... странно, любые идеи? Мой Android-планшет работает под управлением Android 4.4, но я также попробовал несколько других версий Android. Я, конечно, готов использовать других игроков для устранения неполадок, но для конечного результата это должен быть какой-то браузер.

+1

ли Вы пробовали его с Mx-плеер для целей debuggin? И как выглядит ваша команда avconv? – user1767754

+0

Просто добавила команду avplayer к моему первоначальному вопросу, спасибо, что указали это. Завтра заглянем в mx-player и обновите, спасибо за подсказку! – ziggestardust

+0

Как выглядит код установки JW Player? – emaxsaun

ответ

0

Вы также можете использовать свой вывод MPEG-DASH от Wowza и играть в HTML5 на Android с помощью bitdash HTML5 MPEG-DASH игрок: http://www.dash-player.com

+0

Это не отвечает на исходный вопрос. Это было бы более подходящим в качестве комментария. – aergistal