У меня есть коммерческий потоковый сервер, который транслирует потоки через HLS в Европе.
http://europe.server/stream1/index.m3u8
Теперь у моих клиентов в США возникли проблемы с сетью из-за расстояния.
Итак, я развернул новый сервер в США. Я бы хотел, чтобы он получал потоки HLS с европейского сервера и отвечал клиентам из США.
Таким образом, пользователи могут получить доступ как
http://usa.server/stream1/index.m3u8
Это будет только H265 / HEVC, поэтому использование RTMP невозможно. Каждый учебник, который я вижу в Интернете, основан на RTMP.
Я использовал следующую конфигурацию из https://docs.peer5.com/guides/setting-up-hls-live-streaming-server-using-nginx/ для справки.
worker_processes auto;
events {
worker_connections 1024;
}
http {
sendfile off;
tcp_nopush on;
aio on;
directio 512;
default_type application/octet-stream;
server {
listen 8080;
location / {
# Disable cache
add_header 'Cache-Control' 'no-cache';
# CORS setup
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;
}
types {
application/dash+xml mpd;
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /mnt/;
}
}
}