У меня есть сервер wowza, на котором я транслирую прямые трансляции, которые воспроизводятся с помощью jwplayer. Однако все отлично работает с Android и другими системами. (работает как с rtmp, так и с hls в android 4.4 и jwplayer (!)). Потоки отправляются на мой сервер wowza с avconv, запущенным на компьютере с Linux, это отлично работает.
Но когда я пытаюсь отправить свои потоки прямо с компьютера linux с помощью avconv (команда samme, как в приведенном выше случае, но в другом месте назначения) на локальный сервер, он не работает на Android со всеми браузерами, которые я пробовал, включая jwplayer. Потоки работают в других системах, но с jwplayer, например linux, chromebook. Ошибка, которую я получаю от jwplayer в Android: «Не найдено воспроизводимых источников»
Я пробовал использовать crtmp rtmp, а также модуль nginx rtp для rtmp и hls. Всегда с одним и тем же результатом андроид не работает. Почему эти потоки не работают, когда они работают на Android при использовании 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 вместо localhost (! 92.168.0.6) она работает на android с jwplayer.
Так что никакого успеха только для Android через локальный сервер, только при использовании wowza ... странно, есть идеи? Мой Android - это планшет с Android 4.4, но я пробовал и несколько других версий Android. Я, конечно, готов использовать другие проигрыватели для устранения неполадок, но для конечного результата это должен быть какой-нибудь проигрыватель на основе браузера.
avconv
. То, как это происходит сейчас, приведет по крайней мере к одной ошибке, поскольку вы добавляете-re
к выходу, когда ему нужен вход (должен быть помещен перед-i
) - person aergistal   schedule 27.04.2015