-
-
Save Brainiarc7/19ba19283de181949df6275486350d88 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