How do I change YOUTUBE Live Stream to another RTMP server url?

please read my post.

1 Like

latest apt-get update will break the jibri recording
happened to me, the error was chromedriver require specific version on chrome.
after i have updated to latest chromedriver notification bar with message “the chrome is controlled by automated …” start coming on top of recording.

any idea how can it be removed.

what are you chrome & chrome driver versions?

also i dont use jibri for recording… since i anyway stream to rtmp, i can record it there

Hi, I am trying to stream from jigasi to icecast with the above script. It runs for about a minute and then quits. Should this be possible with this script or something similiar?
Below is my script and the log.

#!/bin/bash

COMMAND="/usr/bin/ffmpeg"

while test $# -gt 0
do
T="1" if [ "{T:0:32}" == “rtmp://a.rtmp.youtube.com/live2/” ]; then
COMMAND="COMMAND -acodec libmp3lame -ac 1 -content_type audio/mpeg -f mp3 icecast://source:12345678@my-server.com:8000/{T:32}"
else
COMMAND="$COMMAND $T"
fi
shift
done

echo “Llamando a ffmpeg sustituyendo rtmp si hay: «$COMANDO».”

exec COMMAND PROCESS_FFMPEG=!

echo “Esperando finalización del proceso: ${PROCESS_FFMPEG}.”
wait $PROCESS_FFMPEG
;

Log
2020-06-22 21:26:26.895 INFO: [77] ffmpeg.call() Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (icecast://source:12345678@my-server.com:8000/special) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
2020-06-22 21:26:26.895 INFO: [77] ffmpeg.call() Stream mapping:
2020-06-22 21:26:26.895 INFO: [77] ffmpeg.call() Stream #1:0 -> #0:0 (pcm_s16le (native) -> mp3 (libmp3lame))
2020-06-22 21:26:26.895 INFO: [77] ffmpeg.call() Press [q] to stop, [?] for help
2020-06-22 21:26:26.895 INFO: [77] ffmpeg.call() Output #0, mp3, to ‘icecast://source:12345678@my-server.com:8000/special’:
2020-06-22 21:26:26.895 INFO: [77] ffmpeg.call() Metadata:
2020-06-22 21:26:26.895 INFO: [77] ffmpeg.call() TSSE : Lavf57.83.100
2020-06-22 21:26:26.896 INFO: [77] ffmpeg.call() Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, mono, s16p
2020-06-22 21:26:26.896 INFO: [77] ffmpeg.call() Metadata:
2020-06-22 21:26:26.896 INFO: [77] ffmpeg.call() encoder : Lavc57.107.100 libmp3lame
2020-06-22 21:26:26.896 INFO: [77] ffmpeg.call() size= 4kB time=00:00:00.47 bitrate= 67.9kbits/s speed=0.927x
2020-06-22 21:26:27.896 INFO: [77] ffmpeg.call() size= 8kB time=00:00:00.96 bitrate= 66.0kbits/s speed=0.955x
2020-06-22 21:26:27.896 INFO: [77] ffmpeg.call() size= 12kB time=00:00:01.49 bitrate= 65.2kbits/s speed=0.981x
2020-06-22 21:26:28.896 INFO: [77] ffmpeg.call() size= 16kB time=00:00:01.98 bitrate= 64.9kbits/s speed=0.979x
2020-06-22 21:26:28.899 INFO: [77] ffmpeg.call() size= 20kB time=00:00:02.48 bitrate= 64.7kbits/s speed=0.982x
2020-06-22 21:26:29.899 INFO: [77] ffmpeg.call() size= 24kB time=00:00:03.00 bitrate= 64.6kbits/s speed=0.99x
2020-06-22 21:26:29.899 INFO: [77] ffmpeg.call() size= 28kB time=00:00:03.50 bitrate= 64.5kbits/s speed=0.989x
2020-06-22 21:26:30.899 INFO: [77] ffmpeg.call() size= 31kB time=00:00:04.00 bitrate= 64.5kbits/s speed=0.989x
2020-06-22 21:26:30.899 INFO: [77] ffmpeg.call() size= 36kB time=00:00:04.52 bitrate= 64.4kbits/s speed=0.994x
2020-06-22 21:26:31.900 INFO: [77] ffmpeg.call() size= 39kB time=00:00:05.01 bitrate= 64.4kbits/s speed=0.991x
2020-06-22 21:26:31.900 INFO: [77] ffmpeg.call() size= 44kB time=00:00:05.54 bitrate= 64.3kbits/s speed=0.995x
2020-06-22 21:26:32.900 INFO: [77] ffmpeg.call() size= 47kB time=00:00:06.03 bitrate= 64.3kbits/s speed=0.994x
2020-06-22 21:26:32.900 INFO: [77] ffmpeg.call() size= 51kB time=00:00:06.53 bitrate= 64.3kbits/s speed=0.993x
2020-06-22 21:26:33.901 INFO: [77] ffmpeg.call() size= 55kB time=00:00:07.05 bitrate= 64.3kbits/s speed=0.996x
2020-06-22 21:26:33.901 INFO: [77] ffmpeg.call() size= 59kB time=00:00:07.55 bitrate= 64.3kbits/s speed=0.994x
2020-06-22 21:26:34.901 INFO: [77] ffmpeg.call() size= 63kB time=00:00:08.07 bitrate= 64.2kbits/s speed=0.997x
2020-06-22 21:26:34.901 INFO: [77] ffmpeg.call() size= 67kB time=00:00:08.57 bitrate= 64.2kbits/s speed=0.996x
2020-06-22 21:26:35.901 INFO: [77] ffmpeg.call() size= 71kB time=00:00:09.06 bitrate= 64.2kbits/s speed=0.995x
2020-06-22 21:26:35.902 INFO: [77] ffmpeg.call() size= 75kB time=00:00:09.56 bitrate= 64.2kbits/s speed=0.995x
2020-06-22 21:26:36.902 INFO: [77] ffmpeg.call() size= 79kB time=00:00:10.08 bitrate= 64.2kbits/s speed=0.997x
2020-06-22 21:26:36.902 INFO: [77] ffmpeg.call() size= 83kB time=00:00:10.58 bitrate= 64.2kbits/s speed=0.996x
2020-06-22 21:26:37.902 INFO: [77] ffmpeg.call() size= 87kB time=00:00:11.07 bitrate= 64.2kbits/s speed=0.995x
2020-06-22 21:26:37.903 INFO: [77] ffmpeg.call() size= 91kB time=00:00:11.60 bitrate= 64.1kbits/s speed=0.997x
2020-06-22 21:26:38.903 INFO: [77] ffmpeg.call() size= 95kB time=00:00:12.09 bitrate= 64.2kbits/s speed=0.996x
2020-06-22 21:26:38.903 INFO: [77] ffmpeg.call() size= 99kB time=00:00:12.59 bitrate= 64.1kbits/s speed=0.996x
2020-06-22 21:26:39.904 INFO: [77] ffmpeg.call() size= 103kB time=00:00:13.11 bitrate= 64.1kbits/s speed=0.998x
2020-06-22 21:26:39.904 INFO: [77] ffmpeg.call() size= 107kB time=00:00:13.61 bitrate= 64.1kbits/s speed=0.997x
2020-06-22 21:26:40.904 INFO: [77] ffmpeg.call() size= 110kB time=00:00:14.10 bitrate= 64.1kbits/s speed=0.997x
2020-06-22 21:26:40.904 INFO: [77] ffmpeg.call() size= 114kB time=00:00:14.60 bitrate= 64.1kbits/s speed=0.997x
2020-06-22 21:26:41.904 INFO: [77] ffmpeg.call() size= 118kB time=00:00:15.12 bitrate= 64.1kbits/s speed=0.998x
2020-06-22 21:26:41.905 INFO: [77] ffmpeg.call() size= 122kB time=00:00:15.62 bitrate= 64.1kbits/s speed=0.997x
2020-06-22 21:26:42.905 INFO: [77] ffmpeg.call() size= 126kB time=00:00:16.12 bitrate= 64.1kbits/s speed=0.997x
2020-06-22 21:26:42.905 INFO: [77] ffmpeg.call() size= 130kB time=00:00:16.64 bitrate= 64.1kbits/s speed=0.998x
2020-06-22 21:26:43.906 INFO: [77] ffmpeg.call() size= 134kB time=00:00:17.13 bitrate= 64.1kbits/s speed=0.997x
2020-06-22 21:26:43.906 INFO: [77] ffmpeg.call() size= 138kB time=00:00:17.66 bitrate= 64.1kbits/s speed=0.998x
2020-06-22 21:26:44.914 INFO: [77] ffmpeg.call() size= 142kB time=00:00:18.15 bitrate= 64.1kbits/s speed=0.998x
2020-06-22 21:26:45.105 INFO: [77] ffmpeg.call() size= 146kB time=00:00:18.68 bitrate= 64.1kbits/s speed=0.999x
2020-06-22 21:26:47.606 INFO: [77] ffmpeg.call() [alsa @ 0x556b6bb83280] ALSA buffer xrun.

I tested with the rtmp nginx server & this works for me. you can modify this to suite your use case

ffmpeg -re -i rtmp://192.168.22.12/live/key -vn \
       -codec:a libmp3lame -b:a 64k -f mp3 \
       -content_type audio/mpeg \
       icecast://source:pass@example.com:8000/mountpoint.mp3

I am not much for writing code so how would I implement this in my code for streaming from jigasi to icecast?

Has anyone got this to work in Docker?

FROM jitsi/jibri:latest

#Set up custom RTMP endpoint
RUN mkdir -p /opt/util
COPY ffmpeg /opt/util/ffmpeg
RUN chmod +x /opt/util/ffmpeg

#Set Java path in service file
COPY jibri.service /etc/systemd/system/jibri.service

That is the setup I am trying, but when I check the Jibri logs, it is still sending to YouTube. I can get this to work perfectly to my own RTMP endpoint without Docker though.

UPDATE:

What I did was edit the /etc/hosts and hardcoded the IP of a.rtmp.youtube.com to be my RTMP endpoint and handled the path /live2 there. Not sure if anyone has a better solution?

1 Like

Gracias, thank you, obrigado, merci, todah rabah, and so on. You kind of saved the world, as long as we are concerned.

I am able to live stream on Facebook or youtube using https://bridge01.videomeet.in , these guys have done some wonderful customisation

1 Like

I need some help, I can’t configure multiple transmission to various destinations, that is, YouTube and FB. Currently I have my jitsi server and a server with jibli both with ubuntu 20.04 lst for the installation, I followed the @masteryoda gia without success, after so much searching, I found this thread and I have carefully checked looking for a possible error and without success to see what I got It seems that I am not lifting the created file ffmpeg and my jibri is taking the old file. Can you give me any advice?

Hello @jose2808,

My recommendation is as the followings:

  • step 1: customize ffmpeg according to this post

  • step 2: Install a stream server according to this document

  • step 3: use the full RTMP address as the stream key on the jitsi UI to push the stream to your stream server.

  • step 4: use the stream cloner to push the stream to the multiple destinations concurrently.

1 Like

Thank you very much for your help I will start working on it and I will let you know the results. A single doubt from what I see here only allows me to transmit to a single instance to say if I transmit to FB I will not be able to do it to YT in this solution it only allows me a final client?

@emrah it gives me an error when I go to run bash eb eb-livestream it returns this root @ recording: / home / myuser # bash eb eb-livestream

ERROR: unsupported OS release
Please, use ‘buster’ on host machine

I am using ubuntu 20.04 if you wrote it for debian I don’t know why it can give such an error if you have any ideas I would appreciate it.

This script is for Debian Buster. The stream server is a seperate fresh-installed Debian Buster in my recommendation.

Jibri allows to stream to a single destination but if this destination is our stream server, the stream server can publish it to the multiple destinations concurrently.

thank you very much for both answers

Hi ther.
I install jitsi and jibri and wish for streaming on my own rtmp server. but in advance i have a problem, please guide me if you can.
i get an error message when i want to record something, it says :Recording failed to start and recording unavailable.
An other issue is that during the jibri installation, when i have to make changes the file in /etc/jitsi/jibri/config.json , this file does not exist at all, and i have to create it my self.
This file does not even exist in the Github documents, but it is a part of installation instruction.
May the recording problem be related to this issue?
Any tips on solving my recording problem will make me happy and thankful.

Did you able to find a better solution for custom RTMP server on Dockerized Jibris?

Not yet. This is maybe not the best, but at least it works for now.