Я хочу настроить сервер nginx Dash Live Streaming для потоковой передачи в приложение node.js.Я новичок в nginx, поэтому много раз пытался найти решение, но не повезло.У меня установлены все необходимые модули, и я хочу отобразить поток тире через Shaka Player.
Мой сервер nginx работает на порту 8080, а мое приложение node.js работает на порту 3000. Я настроил сервер таким образомчто любой пользователь в локальной сети может транслировать на этот сервер через OBS.Он получает и хранит потоковые файлы правильно.Но каждый раз, когда приложение моего узла запрашивает .mpd через проигрыватель shaka, оно отображает:
GET http://192.168.0.107/dash/test.mpd
net :: ERR_CONNECTION_REFUSED
Скрипт Shaka Player отображает ошибку 1002, которая, как я обнаружил, связана с CORS.Я пробовал так много способов разрешить запрос перекрестного происхождения, но ни один из них не сработал.Вот мой текущий файл nginx.config:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
server {
listen 8080;
location / {
root html;
index index.html index.htm;
}
location /dash {
add_header Access-Control-Allow-Origin * always;
add_header Cache-Control no-cache always;
root usr/local/nginx/stream/dash;
}
}
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application dash {
live on;
record off;
dash on;
dash_nested on;
dash_path usr/local/nginx/stream/dash;
dash_fragment 3;
dash_playlist_length 120;
dash_cleanup on;
}
}
}
Моя текущая версия nginx - 1.15.7.Я тестировал как на Windows, так и на Ubuntu 17.10, с другими версиями.Мне не удалось решить проблему.
Я также хочу знать, должны ли аргументы add_header быть в кавычках или нет, потому что я видел обе версии в разных местах.
Обновление:
Изменен URL запроса на http://192.168.0.107:8080/dash/test/index.mpd и http://192.168.0.107:8080/dash/test.mpd,, изменен корень nginx.conf / dash на usr / local / nginx / stream / dash и usr / local / nginx / streamно никто не работал.