Skip to content

Latest commit

 

History

History
64 lines (42 loc) · 1.4 KB

File metadata and controls

64 lines (42 loc) · 1.4 KB

WebRTC AV1 to H.264 Transcoding Project

Project Overview

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

Prerequisites

Ensure your Linux system has GStreamer installed with the complete plugin collection:

  • GStreamer base plugins
  • GStreamer good plugins
  • GStreamer bad plugins
  • GStreamer ugly plugins

Troubleshooting Plugin Issues

Missing rtpav1depay Plugin Error

If you encounter the following error during application execution:

No such element or plugin 'rtpav1depay'

Follow these resolution steps:

1. Clone GStreamer Rust Plugins Repository

git clone https://github.com/GStreamer/gst-plugins-rs

2. Install cargo-c Tool

cargo install cargo-c

3. Build the RTP Plugin

cargo cbuild -p gst-plugin-rtp

4. Configure GST_PLUGIN_PATH Environment Variable

Add the build directory to your GST_PLUGIN_PATH:

export GST_PLUGIN_PATH="$PWD/target/x86_64-unknown-linux-gnu/debug:$GST_PLUGIN_PATH"

5. Verify Plugin Installation

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.