Last active
August 14, 2024 07:43
-
-
Save tmehlinger/dfc18668745399eb1ad91c34d48527b5 to your computer and use it in GitHub Desktop.
gstreamer RTP to RTMP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# tested on Ubuntu 16.04 | |
apt-get install -y \ | |
gstreamer1.0-libav \ | |
gstreamer1.0-plugins-bad \ | |
gstreamer1.0-plugins-base \ | |
gstreamer1.0-plugins-good \ | |
gstreamer1.0-tools | |
# start gstreamer... assumes you have mediasoup configured to use Opus/H264 | |
gst-launch-1.0 -em \ | |
rtpbin name=rtpbin latency=5 \ | |
udpsrc port=10000 caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,encoding-name=(string)OPUS" ! rtpbin.recv_rtp_sink_0 \ | |
rtpbin. ! queue ! rtpopusdepay ! opusdec ! audioconvert ! audioresample ! voaacenc ! mux. \ | |
udpsrc port=10002 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" ! rtpbin.recv_rtp_sink_1 \ | |
rtpbin. ! queue ! rtph264depay ! h264parse ! mux. \ | |
flvmux name=mux streamable=true ! rtmpsink sync=false location=rtmp://127.0.0.1:1935/stream |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// snippet from the mediasoup server that actually sets up the `RtpStreamer` | |
room.on('newpeer', (peer) => { | |
peer.on('newproducer', (producer) => { | |
let rtpParams = { | |
remoteIP: '127.0.0.1', | |
remotePort: (producer.kind === 'audio') ? 10000 : 10002 | |
} | |
room.createRtpStreamer(producer, rtpParams).then((streamer) => { | |
console.log('started mirroring RTP for', producer.kind); | |
}); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@tmehlinger do you know how to solved:
WARNING: erroneous pipeline: no element "voaacenc"
?