ffmpreg 0.1.1

An experimental general-purpose multimedia toolkit.
Documentation
  • Coverage
  • 0%
    0 out of 85 items documented0 out of 44 items with examples
  • Size
  • Source code size: 21.94 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 4.84 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 27s Average build duration of successful builds.
  • all releases: 26s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • yazaldefilimone
ffmpreg-0.1.1 has been yanked.

io → container → codec → transform → codec → container → io

Todo

  • Minimal WAV pipeline

    End-to-end pipeline, audible audio.

    • Create project and basic folders (core, containers/wav, codecs/pcm, cli)
    • Implement Packet, Frame, Timebase
    • Read WAV and produce Packets (containers/wav/read.rs)
    • Write Packets back (containers/wav/write.rs)
    • PCM passthrough codec (decode → encode)
    • Connect pipeline: read → decode → encode → write
    • Minimal CLI: ffmpreg -i input.wav -o output.wav
    • Test with a simple WAV file
  • Frame inspection / Media info

    Show internal frame info, minimal ffprobe alternative.

    • Add CLI option --show
    • Iterate over Packets → Frames
    • Display pts, sample count, channels, sample rate
    • Test output with example WAV
  • Basic transform

    Apply simple operation on frames (e.g., gain)

    • Create transforms/gain.rs
    • Implement trait Transform
    • Integrate pipeline: read → decode → transform → encode → write
    • CLI: ffmpreg -filter gain=2.0
    • Test amplified audio
  • Multi-file / batch

    Process multiple files using the same pipeline

    • CLI accepts multiple files or wildcard (folder/*.wav)
    • Iterate files → pipeline
    • Create separate output for each file
    • Test with 2-3 WAV files
  • More containers

    Add raw video support (Y4M)

    • Create containers/y4m/read.rs and write.rs
    • Parse Y4M header (width, height, framerate, colorspace)
    • Produce Packets/Frames
    • Minimal pipeline: decode → encode → write
    • CLI: ffmpreg -i input.y4m -o output.y4m
    • Test with a Y4M file
  • More codecs

    ADPCM, multi-channel PCM

    • Add ADPCM codec
    • Support multi-channel PCM
    • Pipeline: decode → transform → encode → write
    • Roundtrip tests for each codec
  • Chained filters

    Apply multiple transforms in sequence

    • CLI: ffmpreg-filter gain=2.0 -filter normalize
    • Create transforms/normalize.rs
    • Pipeline applies filters in sequence
    • Test audio with two chained filters