{"id":20994510,"url":"https://github.com/cyanide0081/rffmpeg","last_synced_at":"2026-05-14T13:41:42.771Z","repository":{"id":65653539,"uuid":"588266961","full_name":"cyanide0081/rffmpeg","owner":"cyanide0081","description":"CLI for batch conversions with FFmpeg","archived":false,"fork":false,"pushed_at":"2024-03-24T18:05:22.000Z","size":1530,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-27T19:50:19.310Z","etag":null,"topics":["batch-processor","command-line-tool","ffmpeg","os-agnostic"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyanide0081.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-12T18:10:13.000Z","updated_at":"2023-09-16T01:41:43.000Z","dependencies_parsed_at":"2023-09-25T22:35:58.953Z","dependency_job_id":"cc01c8b7-6cab-40bb-ba16-1c6f41211347","html_url":"https://github.com/cyanide0081/rffmpeg","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/cyanide0081/rffmpeg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyanide0081%2Frffmpeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyanide0081%2Frffmpeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyanide0081%2Frffmpeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyanide0081%2Frffmpeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyanide0081","download_url":"https://codeload.github.com/cyanide0081/rffmpeg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyanide0081%2Frffmpeg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33027731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["batch-processor","command-line-tool","ffmpeg","os-agnostic"],"created_at":"2024-11-19T07:18:38.667Z","updated_at":"2026-05-14T13:41:42.737Z","avatar_url":"https://github.com/cyanide0081.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **RFFmpeg**\n\nCommand-line/Console window tool for batch-processing files inside a specific directory (or more) with FFmpeg\n\n* Currently ships 64-bit binaries for *Windows*, *Linux*, *FreeBSD* and *MacOS*\n* Run with `--help` to read the help page (this one covers more examples though)\n\n\u003cbr\u003e\n\n**NOTE:** This tool's goal is being simple to use and robust, (error handling-wise) to make it easy to batch-convert files without all the manual organizational headache, so suggestions are welcome\n\n\u003cbr\u003e\n\n# **Table of contents**\n\n1. [Installation](#installation)\n2. [Usage](#usage)\n3. [Building](#building)\n\n\u003cbr\u003e\n\n\u003ca name=\"installation\"\u003e\u003c/a\u003e\n# **Installation**\n\n**1.** Installing *FFmpeg*\n\nIn order to use this tool you will first need to install FFmpeg, either by getting it from your system's package manager (usually a package just called 'ffmpeg'), or by downloading the binaries from a [stable release](https://ffmpeg.org/download.html), extracting them and adding the `bin` folder to your `PATH`\n\nYou can then check if your installation succeeded by running the version command below and seeing if it produces any output:\n\n    ffmpeg -version\n\n\u003cbr\u003e\n\n**2.** Installing *RFFmpeg* \n\nTo install this tool, just head to the [releases](https://github.com/cyanide0081/rffmpeg/releases) page and download the latest binaries for your system (if there are no pre-built ones for your system you can alternatively [build](#building) the program from source)\n\n(You can also optionally place the *rffmpeg* executable in the same directory as your *ffmpeg* binaries so you can run the tool from anywhere in your OS)\n\n\u003cbr\u003e\n\n\u003ca name=\"usage\"\u003e\u003c/a\u003e\n# **Usage**\n\nThis tool's argument syntax is not that different from FFmpeg itself, with the basic structure being:\n \n    rffmpeg [PATH(S)] -i [IN-FMT(S)] -p [PARAMS] -o [OUT-FMT]\n\nHere's a basic RFFmpeg command that looks for wav files and converts them to mp3:\n\n    rffmpeg C:\\Users\\Music -i wav -o mp3\n\nHere's an example of a more specific command that looks inside two folders for .flac and .m4a files, converts them\nto OPUS using the libopus codec, and finally stores them in a new subfolder named 'transcoded':\n\n    rffmpeg /home/Music /home/Videos -i flac,m4a -p \"-c:a libopus -vbr on -b:a 128k\" -o opus -subfolder:transcoded\n\n\u003cbr\u003e\n\n ### **Arguments**\n\n * **-i**   :   one or more formats you wish to transcode separated by commas, like: `-i mp4,m4v,mkv`\n\n * **-p**   :   optional ffmpeg conversion parameters, as in: `-p \"-c:v vp9 -crf 32 -c:a copy\"` \n\n * **-o**   :   extension for your output files (dot is implicit) `-o webm`\n\n    * NOTE: If you specify identical input and output formats, use the **-subfolder** or **-outpath** option otherwise the program won't run\n\n\u003cbr\u003e\n\n ### **Flags/Switches**\n\nYou can also pass any of the flags below to help you organize your batch conversions a little\n\n * **-subfolder**  :   puts your converted files inside a new folder (which is itself created inside the input file's directory)\n    * You can also give it a custom name like this: `-subfolder:你好`\n * **-outpath**    :   puts your converted files inside a new absolute directory\n    * Unlike -subfolder, you have to explicitly name the new path, as in: `-outpath:/home/Music/你好`\n\n * **-cl**         :   deletes the original files permanently after conversion (**don't use this if you're not sure the conversion will work properly**)\n\n * **-ow**         :   automatically overwrites files if they conflict with the output files generated by FFmpeg  (the program appends an index by default)\n\n * **-rn**         :   disables file searches inside subfolders, in case your directory contains many folders you  don't want to mess with\n\n * **-nt**         :   sets a custom number of threads to be spawned at the conversion stage e.g.: `-nt:8`\n     * NOTE: the number must be a positive value between 1 and double the current online threads in the system\n\n * **--version**   :   displays extended version information particular to the currently installed rffmpeg executable and exits\n\n\u003cbr\u003e\n\n\u003ca name=\"building\"\u003e\u003c/a\u003e\n# **Building**\n\nYou can build this program by simply having the LLVM [clang](https://releases.llvm.org/download.html) compiler installed\n\n\u003cbr\u003e\n\n### **POSIX** (Linux, FreeBSD, MacOS, ...)\n\nTo build it on (probably) most 'POSIX' systems you can run the bash build script:\n\n    ./build.sh \n\nYou can also build in release mode with:\n\n    ./build.sh rel\n\n\u003cbr\u003e\n\n### **Windows**\n\nOn Windows the build links with the [MSVC](https://visualstudio.microsoft.com/vs/features/cplusplus/) libraries so you'll have to install that\nif you don't have it already (though it should be pretty easy to build with something like MinGW if you modify the batch file a little)\n\n\u003cbr\u003e\n\nTo build it you can run the batch build script:\n\n    .\\build.cmd\n\nOr build it in release mode like this:\n\n    .\\build.cmd rel\n\n***\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyanide0081%2Frffmpeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyanide0081%2Frffmpeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyanide0081%2Frffmpeg/lists"}