GStreamer Rust Bindings

Rust language bindings for the GStreamer multimedia framework, allowing developers to create GStreamer pipelines and plugins in Rust.

Link

Related resources

  • CompressAI-Vision: Video Compression for Machines BenchmarkPaper + framework for designing, testing and comparing "video coding for machines" pipelines, mixing neural CompressAI models against VVC/H…
  • video-toolbox-rsRust bindings for Apple VideoToolbox, supporting H.264/H.265 hardware encode and H.264/H.265/VP9/AV1 hardware decode.
  • libvpx-rsRust bindings for libvpx supporting VP8/VP9 encode/decode with prebuilt binaries.
  • mp4ePure Rust MP4 muxer producing fragmented MP4 output for H.264/H.265/AAC/Opus, suited for DASH/HLS packaging pipelines.
  • distributed-transcoderDistributed video transcoding system using RabbitMQ job distribution, GStreamer transcoding, and MinIO storage with FastAPI/React interface.
  • Differentiable VMAF Re-implementation on PyTorchDifferentiable PyTorch reimplementation of VMAF metric enabling gradient-based codec/RDO optimization, with companion code.
  • Performance Comparison of AV1, JEM, VP9, and HEVC EncodersFraunhofer HHI SPIE 2017 paper comparing codec internals, BD-BR, and complexity across AV1, JEM, VP9, and HEVC.
  • nano-hevcMinimal educational HEVC encoder written in pure Python, readable-over-fast, for teaching codec internals.
  • Opus (xiph/opus)Reference implementation of the Opus audio codec, recently adding deep-learning-based packet loss concealment.
  • dav1d.wasmWASM port of the dav1d AV1 decoder, SIMD-optimized with TypeScript interfaces, aimed at production use in browsers.