start fixing stream stuff

This commit is contained in:
Micha Albert 2024-09-10 07:39:22 -04:00
parent 8747a8ffe3
commit e468e0b9ab
3 changed files with 16 additions and 6 deletions

View file

@ -12,7 +12,9 @@ old_active_stream = active_stream
proc = None
if active_stream != "":
proc = subprocess.Popen(["/bin/ffmpeg", "-re", "-i", f"rtmp://mediamtx:1935/{active_stream}", "-c:a copy", "rtmp://host.containers.internal:1936/active-input"])
proc = subprocess.Popen(["/bin/ffmpeg", "-re", "-i", f"rtmp://mediamtx:1935/{active_stream}", "-c:a copy", "rtmp://live-stream:1936/active-input"])
else:
proc = subprocess.Popen(["/bin/ffmpeg", "-i", "anullsrc", "-c:a copy", "rtmp://live-stream:1936/active-input"])
while True:
@ -21,6 +23,8 @@ while True:
if old_active_stream is not active_stream:
if proc:
proc.terminate()
print("e")
proc = subprocess.Popen(["/bin/ffmpeg", "-re", "-i", f"rtmp://mediamtx:1935/{active_stream}", "-c:a copy", "rtmp://host.containers.internal:1936/active-input"])
if active_stream != "":
proc = subprocess.Popen(["/bin/ffmpeg", "-re", "-i", f"rtmp://mediamtx:1935/{active_stream}", "-c:a copy", "rtmp://live-stream:1936/active-input"])
else:
proc = subprocess.Popen(["/bin/ffmpeg", "-i", "anullsrc", "-c:a copy", "rtmp://live-stream:1936/active-input"])
old_active_stream = active_stream

View file

@ -1,7 +1,11 @@
FROM alpine:3.20
RUN apk add --no-cache gstreamer gst-plugins-bad
RUN apk add --no-cache gstreamer gstreamer-tools gst-plugins-bad
RUN apk add --no-cache ffmpeg
ENTRYPOINT [""]
RUN apk add --no-cache bash libwpe libwpe-dev
COPY run.sh /
ENTRYPOINT ["/run.sh"]

4
live-stream/run.sh Normal file → Executable file
View file

@ -1,6 +1,8 @@
#!/bin/bash
gst-launch-1.0 -e wpesrc location="https://en.wikipedia.org/wiki/Main_Page" \
! videoconvert ! videoscale ! videorate \
! "video/x-raw, format=BGRA, width=854, height=480, framerate=30/1" \
! videoconvert \
! x264enc speed-preset=1 \
! filesink location=/dev/stdout | ffmpeg -re -y -i - -listen 1 -i rtmp://127.0.0.1:1936/active-input -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -t 10 -f flv rtmp://x.rtmp.youtube.com/live2/no-way-am-i-doing-that-again
! filesink location=/dev/stdout | ffmpeg -re -y -i - -listen 1 -i rtmp://0.0.0.0:1936/active-input -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 -t 10 -f flv rtmp://x.rtmp.youtube.com/live2/no-way-am-i-doing-that-again