Я установил nginx для потоковой передачи по rtmp, и я в состоянии выполнить потоковую передачу на него и воспроизвести его по адресу rtmp: // [insterip]: 1935 / stream / test with VL C.
Я попытался использовать ffmpeg для транскодирования, и он начал заполнять / mnt / hls соответствующими файлами. Я хотел избежать транскодирования на этом сервере, так как он старше, поэтому я пытался использовать функцию pull, чтобы просто вытянуть его прямо из потока rtmp.
Я использую OBS для потоковой передачи на сервер, который по умолчанию должен использовать правильный код c для видео и аудио для использования hls. Имейте в виду, что я играл с URL-адресом по запросу, вводя IP-адрес таким, каким он должен быть, а порты пропускаются через брандмауэр, поскольку я смог подключиться к потоку с помощью дополнительного p c в сети. Все это настроено в Centos 8.
nginx config
worker_processes auto;
events {
worker_connections 1024;
}
# RTMP configuration
rtmp {
server {
listen 1935; # Listen on standard RTMP port
chunk_size 4000;
# Define the Application
application show {
live on;
pull rtmp://localhost:1935/stream/test;
# Turn on HLS
hls on;
hls_path /mnt/hls/;
hls_fragment 3;
hls_playlist_length 60;
# disable consuming the stream from nginx as rtmp
deny play all;
}
# RTMP video on demand for mp4 files
application vod {
play /mnt/mp4s;
}
# RTMP stream using OBS
application stream {
live on;
}
}
}
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/;
}
}
}