A fork of the abandoned ffmpeg-next crate which is a fork of the abandoned ffmpeg crate

Overview

crates.io docs.rs build

This is a fork of the abandoned ffmpeg-next crate which is a fork of the abandoned ffmpeg crate.

Currently supported FFmpeg versions: 4.x, 5.x.

Build instructions can be found on the wiki.

Documentation:

See CHANGELOG.md for other information on version upgrades.

If you have significant, demonstrable experience in Rust and multimedia-related programming, please let me know, I'll be more than happy to invite you as a collaborator.

You might also like...
A ffmpeg/rust based HLS stream generator
A ffmpeg/rust based HLS stream generator

hls-streamer Stream your heart's content with HLS. Movtivation I've got a CCTV camera from AliExpress, I know I can use ffmpeg hls demuxer to split up

AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf
AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf

ab-av1 AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf. Command: auto-encode Automatically determine the best crf to deliver th

Wrap a standalone FFmpeg binary in an intuitive Iterator interface. 🏍

FFmpeg Sidecar 🏍 Wrap a standalone FFmpeg binary in an intuitive Iterator interface. Motivation The core goal of this project is to provide a method

GBS/LSDj visualizer based on SameBoy and FFmpeg
GBS/LSDj visualizer based on SameBoy and FFmpeg

GBPresenter GBPresenter is a tool I wrote to generate visualizations of GameBoy chiptunes, based on SameBoy, FFmpeg, and Slint. The visualization desi

Rust port of ffmpeg's native AAC encoder

raash 🪇 An attempt at RIIR-ing the native AAC encoder from ffmpeg. First, I used c2rust to translate all relevant C code into Rust, and I'm in the pr

Dav-server-rs - Rust WebDAV server library. A fork of the webdav-handler crate.

dav-server-rs A fork of the webdav-handler-rs project. Generic async HTTP/Webdav handler Webdav (RFC4918) is defined as HTTP (GET/HEAD/PUT/DELETE) plu

📦  Crate Protocol allows anyone to create, manage, and trade a tokenized basket of assets, which we refer to as a Crate.
📦 Crate Protocol allows anyone to create, manage, and trade a tokenized basket of assets, which we refer to as a Crate.

📦 Crate Protocol Crate Protocol allows anyone to create, manage, and trade a tokenized basket of assets, which we refer to as a Crate. A Crate is alw

The next gen ls command
The next gen ls command

LSD (LSDeluxe) Table of Contents Description Screenshot Installation Configuration External Configurations Required Optional F.A.Q. Contributors Credi

An experimental next-generation Electron-based text editor
An experimental next-generation Electron-based text editor

Attention: GitHub has decided not to move forward with any aspect of this project. We'll archive the repository in case anybody finds value here, but

Ray Tracing: The Next Week implementation in Rust
Ray Tracing: The Next Week implementation in Rust

rttnw Ray Tracing: The Next Week implementation in Rust How to run Install Rust: Link here. Run project git clone https://github.com/luliic2/rttnw cd

write your next slideshow in rust 🦀, as a self-contained binary  📦.
write your next slideshow in rust 🦀, as a self-contained binary 📦.

🗣 bema Write your next slideshow in rust 🦀 , as a self-contained binary 📦 . 🦀 DSL See examples/basic.rs. 👀 frontends There are several ways you c

LSD (LSDeluxe) - The next gen ls command
LSD (LSDeluxe) - The next gen ls command

LSD (LSDeluxe) Table of Contents Description Screenshot Installation Configuration External Configurations Required Optional F.A.Q. Contributors Credi

A next-generation music player and manager

ouverture A next-generation music player and manager Very much at Work-In-Planning stage now Planned features GUI (localizable) Backend (something lik

Next-GEN Confguration Template Generation Language

Sap lang yet another configuration oriented language name comes from Sapphire which is the birthstone of september Language Feature the last expr of t

XIVLauncher: The Next Degeneration

xivlauncher-neo Concept for a XIVLauncher rewrite in Rust, UI via Vue + Tauri. Project setup yarn --cwd gui install Compiles and hot-reloads for deve

Next-GEN Confguration Template Generation Language

Sap lang yet another configuration oriented language name comes from Sapphire which is the birthstone of september Language Feature the last expr of t

Your next config manager, written in rust

confy Your next config manager, written in rust Based on uncomfyhalomacro/hmph but written for .ini files instead of json :) Getting started Take a lo

A formal, politely verbose programming language for building next-gen reliable applications

vfpl Pronounced "Veepl", the f is silent A politely verbose programming language for building next-gen reliable applications Syntax please initialize

Comments
  • [Windows] DLL not found

    [Windows] DLL not found

    I get the following error when trying to run the metadata example on windows

    C:\Users\brand\repos\ffmpeg-the-third> cargo run --example metadata
        Updating crates.io index
       Compiling ffmpeg-the-third v1.1.0+ffmpeg-5.1.2 (C:\Users\brand\repos\ffmpeg-the-third)
        Finished dev [unoptimized + debuginfo] target(s) in 2.75s
         Running `target\debug\examples\metadata.exe`
    error: process didn't exit successfully: `target\debug\examples\metadata.exe` (exit code: 0xc0000135, STATUS_DLL_NOT_FOUND)
    

    I have installed ffmpeg (and shared libraries) using the ffmpeg-shared package from chocolatey. My FFMPEG_DIR env variable is set to C:\Program Files\FFmpeg.

    Here's a tree of my FFMPEG_DIR

    C:\PROGRAM FILES\FFMPEG
    ├───bin
    ├───doc
    ├───ffmpeg-5.1.1-full_build-shared
    │   ├───bin
    │   ├───doc
    │   ├───include
    │   │   ├───libavcodec
    │   │   ├───libavdevice
    │   │   ├───libavfilter
    │   │   ├───libavformat
    │   │   ├───libavutil
    │   │   ├───libpostproc
    │   │   ├───libswresample
    │   │   └───libswscale
    │   ├───lib
    │   └───presets
    ├───include
    │   ├───libavcodec
    │   ├───libavdevice
    │   ├───libavfilter
    │   ├───libavformat
    │   ├───libavutil
    │   ├───libpostproc
    │   ├───libswresample
    │   └───libswscale
    ├───lib
    └───presets
    

    The build script seems to be able to find the header files just fine. in fact, if I run cargo build it compiles just fine. the contents of FFMPEG_DIR\lib:

     Directory of C:\Program Files\FFmpeg\lib
    
    01/24/2023  07:24 PM    <DIR>          .
    01/24/2023  07:24 PM    <DIR>          ..
    09/25/2022  09:50 AM             4,229 avcodec-59.def
    09/25/2022  09:50 AM           133,376 avcodec.lib
    09/25/2022  09:50 AM               544 avdevice-59.def
    09/25/2022  09:50 AM            16,444 avdevice.lib
    09/25/2022  09:50 AM             1,707 avfilter-8.def
    09/25/2022  09:50 AM            50,466 avfilter.lib
    09/25/2022  09:50 AM             3,594 avformat-59.def
    09/25/2022  09:50 AM           123,914 avformat.lib
    09/25/2022  09:50 AM            13,618 avutil-57.def
    09/25/2022  09:50 AM           456,536 avutil.lib
    09/25/2022  09:50 AM           178,834 libavcodec.dll.a
    09/25/2022  09:50 AM            13,518 libavdevice.dll.a
    09/25/2022  09:50 AM           164,002 libavfilter.dll.a
    09/25/2022  09:50 AM           139,952 libavformat.dll.a
    09/25/2022  09:50 AM           384,570 libavutil.dll.a
    09/25/2022  09:50 AM             7,514 libpostproc.dll.a
    09/25/2022  09:50 AM            17,288 libswresample.dll.a
    09/25/2022  09:50 AM            22,050 libswscale.dll.a
    09/25/2022  09:50 AM               223 postproc-56.def
    09/25/2022  09:50 AM             9,440 postproc.lib
    09/25/2022  09:50 AM               519 swresample-4.def
    09/25/2022  09:50 AM            21,154 swresample.lib
    09/25/2022  09:50 AM               746 swscale-6.def
    09/25/2022  09:50 AM            26,726 swscale.lib
                  24 File(s)      1,790,964 bytes
                   2 Dir(s)  158,021,533,696 bytes free
    
    

    now I think it's weird that the dll files here have the .a extension, but removing that extension doesn't seem to help. Also for reference my currently installed ffmpeg version is 5.1.2

    opened by ThatNerdUKnow 1
Owner
Josh Holmer
Wannabe multimedia engineer. Crab enthusiast. 10x polyglot rockstar ninja unicorn.
Josh Holmer
ffmpeg libraries precompiled for WebAsembly/WASI, as a Rust crate.

FFMPEG crate for WebAssembly/WASI This crate bundles FFMPEG's libraries, precompiled for WebAssembly. No native installation required. Compatible with

Frank Denis 45 Dec 14, 2022
rsmpeg is a thin&safe layer above the FFmpeg's Rust bindings

A Rust crate that exposes FFmpeg's power as much as possible.

Lark Technologies Pte. Ltd. 384 Jan 2, 2023
A ffmpeg/rust based HLS stream generator

hls-streamer Stream your heart's content with HLS. Movtivation I've got a CCTV camera from AliExpress, I know I can use ffmpeg hls demuxer to split up

null 16 Jan 9, 2023
AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf

ab-av1 AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf. Command: auto-encode Automatically determine the best crf to deliver th

Alex Butler 92 Jan 1, 2023
Wrap a standalone FFmpeg binary in an intuitive Iterator interface. 🏍

FFmpeg Sidecar ?? Wrap a standalone FFmpeg binary in an intuitive Iterator interface. Motivation The core goal of this project is to provide a method

Nathan Babcock 26 Feb 22, 2023
This is a lightweight audio-video player built in Rust using FFmpeg libraries. It demonstrates the usage of FFmpeg with Rust to play back video files.

FFmpeg Rust Video Player This is a lightweight audio-video player built in Rust using FFmpeg libraries. It demonstrates the usage of FFmpeg with Rust

Jenin Sutradhar 3 Apr 10, 2024
đź“Ľ Wrapper around ffmpeg which simplifies merging of multiple videos

Vidmerger A wrapper around ffmpeg which simplifies merging of multiple videos. ?? What is this exactly? Vidmerger is a command-line-tool which uses ff

Thomas Gotwig 51 Dec 16, 2022
An experimental fork of a16z's Helios Ethereum client which can run its network traffic over the Nym mixnet

Helios (Nym mixnet fork) Helios is a fully trustless, efficient, and portable Ethereum light client written in Rust. This fork of Helios includes nasc

Nym 4 Mar 3, 2023
ffmpeg libraries precompiled for WebAsembly/WASI, as a Rust crate.

FFMPEG crate for WebAssembly/WASI This crate bundles FFMPEG's libraries, precompiled for WebAssembly. No native installation required. Compatible with

Frank Denis 45 Dec 14, 2022
rsmpeg is a thin&safe layer above the FFmpeg's Rust bindings

A Rust crate that exposes FFmpeg's power as much as possible.

Lark Technologies Pte. Ltd. 384 Jan 2, 2023