This Go application implements a WebRTC-based video transcoding solution that:
- Receives AV1 video streams from WebRTC clients
- Transcodes the video to H.264 format using GStreamer
- Returns the converted H.264 video stream back to the client
Ensure your Linux system has GStreamer installed with the complete plugin collection:
- GStreamer base plugins
- GStreamer good plugins
- GStreamer bad plugins
- GStreamer ugly plugins
If you encounter the following error during application execution:
No such element or plugin 'rtpav1depay'
Follow these resolution steps:
git clone https://github.com/GStreamer/gst-plugins-rs
cargo install cargo-c
cargo cbuild -p gst-plugin-rtp
Add the build directory to your GST_PLUGIN_PATH:
export GST_PLUGIN_PATH="$PWD/target/x86_64-unknown-linux-gnu/debug:$GST_PLUGIN_PATH"
Confirm the rtpav1depay plugin is properly installed and available:
gst-inspect-1.0 rtpav1depay
This command should display detailed information about the plugin if the installation was successful.