Итак, у меня есть бесплатный домен, и я настроил его так, чтобы на моем маршрутизаторе перенаправлялись точки записи на мой внешний ip, порты 80, 1935 и 8080. OBS передает потоки в домен правильно, и поток можно увидеть на VLC, но его нельзя увидеть ни на моем блогере (в локальной сети), ни публично. Я также изменил файл хостов Windows, поместив имя домена и локальный ip (мой компьютер)
. Я могу только смотреть поток, используя VLC, то есть, используя следующую «формулу» -> rtmp // mydomain.xx/ app / streamkey
Хотя я вижу это в vlc, он больше нигде не работает. Вот мой файл nginx.conf
#user nobody;
# multiple workers works !
worker_processes auto;
#pid logs/nginx.pid;
events {
worker_connections 8192;
}
rtmp {
server {
listen 1935;
allow play all;
chunk_size 4000;
application live {
live on;
allow publish all;
allow play all;
#enable HLS
hls on;
hls_path "my path";
hls_fragment 3;
hls_playlist_length 60;
}
}
}
http {
# Disable server tokens
server_tokens off;
# Include MIME types
include mime.types;
# Set timeout limit
keepalive_timeout 65;
server {
listen 80; # HTTP IPv4
listen [::]:80; # HTTP IPv6
server_name mydomain.xx www.mydomain.xx; # Your domain (RECOMMENDED BUT OPTIONAL)
location / {
# Disable cache
add_header Cache-Control no-cache;
# Enable CORS
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length';
# Allow CORS preflight requests
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
# Specify file type to be served (.m3u8)
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t;
}
# File location
# Set to the same hls_path specified in the rtmp application
root "my path";
}
}
}
и это файл index.html, который я использую для его проверки
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Player - Live 🔴</title>
<link href="https://vjs.zencdn.net/7.5.4/video-js.css" rel="stylesheet">
<script src='https://vjs.zencdn.net/7.5.4/video.js'></script>
</head>
<body>
<video id="player" class="video-js vjs-default-skin" width="800" height="440" controls preload="none">
<source src="http://mydomain.xx/app/streamkey.m3u8" type="application/x-mpegURL" />
</video>
<script>
var player = videojs('#player')
</script>
</body>
</html>
Плеер загружается бесконечно, но никогда не показывает ни одного кадра ... я уверен, что мне здесь не хватает некоторых вещей, но я могу ошибаться (только новичок, смеется)