Nginx RTMP ffmpeg Streamweiterleitung funktioniert nicht

SirLoading

Lt. Junior Grade
Registriert
Dez. 2021
Beiträge
355
Hallo zusammen,

ich möchte gerne meinen OBS Stream an einen "Streaming-Server" senden und dieser soll das an mehrere Plattformen weiterleiten.
2x Weiterleitung (Funktioniert)
2x via ffmpeg umcodieren auf 720p30 (das funktioniert nicht)

ich habe den ganzen Tag gesucht und nichts hat geholfen.
Eventuell kann mir jemand helfen.

Das ganze läuft auf einem ARM64 Server. (auch auf x86 Server ohne Erfolg getestet)

rtmp {
server {
listen 1935;
chunk_size 4096;
max_message 5M;

application live {
live on;
record off;
meta copy;

push rtmp://localhost/live2/$name;

exec ffmpeg -i rtmp://localhost/live/$name -vcodec libx264 -preset veryfast -x264opts nal-hrd=cbr:force-cfr=1:keyint=60 -b:v 3500k -maxrate 3500k -bufsize 3000k -s 1280x720 -sws_flags lanczos -acodec copy -f flv rtmp://localhost/live3/$name;

}

application live2 {
live on;
record off;
meta copy;

push 1;
push 2;
}

application live3 {
live on;
record off;
meta copy;

push 3;
push 4;
}
}
}

ffmpeg -version:
ffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100


Vielen Dank
Grüße
SirLoading
 
Also, ich habe auf dem ROOT Docker installiert, der RTMP Test-Stream funktioniert.

Nun habe ich im GitHub die Config gefunden.
Wie kann ich die bearbeiten?
Ich mache das normalerweise mit dem raus führen von den Ordnern, dann putty und los gehts.

Nachtrag:
War nicht die richtige Config....
 
Zuletzt bearbeitet:
Habe gerade nicht soviel Zeit und konnte es nicht testet, aber versuch mal:
  1. Ordner anlegen, z.B.: /opt/srs
  2. Datei erstellen: /opt/srs/hosts mit Inhalt: 127.0.0.1 stream.local
  3. SRS config anlegen unter: /opt/srs/srs.conf
  4. Docker starten mit: docker run -it -p 1935:1935 -p 1985:1985 -p 8080:8080 -v /opt/srs/hosts:/etc/hosts -v /opt/srs/srs.conf:conf/srs.conf ossrs/srs:5 ./objs/srs -c conf/srs.conf
 
Vielen Dank @jb_alvarado

Habe jetzt die OSSRS und die RTMP Geschichte am laufen. :D
 
  • Gefällt mir
Reaktionen: jb_alvarado
An die, die auch das Problem haben, also NGINX RTMP FFMPEG:
Debian war das Problem.
Hab nun Ubuntu genommen, da geht das.
Ich werde die Tage Mal meine Config reinschreiben.
Und wenn man einen Stream an RTMPS (z.B. Kick) senden möchte, dann muss man das über Stunnel machen. :)
 
Zurück
Oben