{"id":24822327,"url":"https://github.com/massimo-rnd/ffmp","last_synced_at":"2025-03-25T21:23:59.282Z","repository":{"id":274297883,"uuid":"922492347","full_name":"massimo-rnd/FFMP","owner":"massimo-rnd","description":"⚡A multithreaded C# CLI for digital media processing using FFMPEG. Transcode as many files in parallel as your system can handle.","archived":false,"fork":false,"pushed_at":"2025-02-08T15:14:57.000Z","size":58,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T15:44:35.571Z","etag":null,"topics":["audio-processing","av1","cli","cpu-encoding","encoding","ffmpeg","ffmpeg-wrapper","gpu-encoding","h264","h265","media-processing","multithreading","parallel","svt-av1","transcoding","video-processing"],"latest_commit_sha":null,"homepage":"https://massimo.gg/ffmp/","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/massimo-rnd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-01-26T11:14:21.000Z","updated_at":"2025-02-08T15:15:01.000Z","dependencies_parsed_at":"2025-01-26T12:33:13.976Z","dependency_job_id":null,"html_url":"https://github.com/massimo-rnd/FFMP","commit_stats":null,"previous_names":["massimo-rnd/ffmp"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massimo-rnd%2FFFMP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massimo-rnd%2FFFMP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massimo-rnd%2FFFMP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/massimo-rnd%2FFFMP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/massimo-rnd","download_url":"https://codeload.github.com/massimo-rnd/FFMP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245544295,"owners_count":20632797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["audio-processing","av1","cli","cpu-encoding","encoding","ffmpeg","ffmpeg-wrapper","gpu-encoding","h264","h265","media-processing","multithreading","parallel","svt-av1","transcoding","video-processing"],"created_at":"2025-01-30T18:41:00.402Z","updated_at":"2025-03-25T21:23:59.275Z","avatar_url":"https://github.com/massimo-rnd.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# FFMP - FFMPEG Multi-Processing\n\n![License](https://img.shields.io/github/license/massimo-rnd/FFMP)\n![Issues](https://img.shields.io/github/issues/massimo-rnd/FFMP)\n![Forks](https://img.shields.io/github/forks/massimo-rnd/FFMP)\n![Stars](https://img.shields.io/github/stars/massimo-rnd/FFMP)\n![Last Commit](https://img.shields.io/github/last-commit/massimo-rnd/FFMP)\n![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/massimo-rnd/FFMP?include_prereleases)\n![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/massimo-rnd/FFMP/total?label=Total%20Users)\n\n\u003c/div\u003e\n\n## 🚀 Overview\n\nA multithreaded C# CLI for digital media processing using FFMPEG. Transcode as many files in parallel as your system can handle.\n\n## 🎯 Features\n\n- Processing Multiple video files at once\n- As many concurrent processes as your system can handle\n\n## ℹ️ Requirements\n- .NET 8.0 Runtime\n\n## 🛠️ Installation\n\n1. Go to the [Releases](https://github.com/massimo-rnd/FFMP/releases/latest) page and Download the latest Version for your OS\n2. Open a Terminal/CMD Window\n\n## 💻 Usage\n\n### General Usage\n\nFFMP's usage is almost identical to FFMPEG, consider this simple example:\n\n```bash\ndotnet path/to/FFMP.dll --codec libx265 --preset fast -d \"/path/to/input/files\" --output-pattern \"/path/to/output/files/{{name}}_compressed{{ext}}\" --threads 2\n```\nUsing FFMP for a single file doesn't really make sense. Use this tool if you have a folder of videos you want to process.\n\nYou can also use a text-file with paths to video files as an input like this:\n\n```bash\ndotnet path/to/FFMP.dll --codec libx265 --preset fast -t \"/path/to/videos.txt\" --output-pattern \"/path/to/output/files/{{name}}_compressed{{ext}}\" --threads 2\n```\n\nYou can adjust your codec by using any codec that is installed on your system behind the `--codec` parameter. Same goes for the preset in `--preset`.\n\nIf you need to pass any other arguments to FFMPEG (like audio codecs, video bitrate, subtitle processing, etc.) you can do it like this:\n\n### Advanced Arguments for FFMPEG\n\n```bash\ndotnet path/to/FFMP.dll --codec libx265 --preset fast -t \"/path/to/videos.txt\" --output-pattern \"/path/to/output/files/{{name}}_compressed{{ext}}\" --threads 2 -- -crf 22 -pix_fmt yuv420p10le -c:a libopus -b:a 320k -c:s copy\n```\nEverything behind the `--` indicator is passed directly to FFMPEG.\n\n### Mass-Converting Files\n\nIntroduced in Version 1.3.0, FFMP now features \"Mass-Converting\" Files. This takes advantage of everything FFMP already offers and enables Mass-Converting files from one format to another.\nNot only can you provide directories or txt-files as sources, multiple videos are converted in parallel.\n\n**Converting using a directory**\n\n```bash\ndotnet path/to/FFMP.dll --convert -d \"/path/to/videos/directory\" --output-pattern \"/path/to/output/files/{{name}}_compressed.mkv\"\n```\n\n**Converting using a txt-file**\n```bash\ndotnet path/to/FFMP.dll --convert -d \"/path/to/videos.txt\" --output-pattern \"/path/to/output/files/{{name}}_compressed.mkv\"\n```\n\nIf you want to see all of FFMPEGs output, just use the `--verbose` flag.\n\nFor more ffmpeg options, visit [ffmpeg's documentation](https://ffmpeg.org/ffmpeg.html).\n\n## 🤝 Contributing\n\nContributions, issues, and feature requests are welcome!  \nFeel free to check the [issues page](https://github.com/massimo-rnd/FFMP/issues).\n\n1. Fork the project.\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`).\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).\n4. Push to the branch (`git push origin feature/AmazingFeature`).\n5. Open a pull request.\n\n## 📜 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## 📊 Repository Metrics\n\n![Repo Size](https://img.shields.io/github/repo-size/massimo-rnd/FFMP)\n![Contributors](https://img.shields.io/github/contributors/massimo-rnd/FFMP)\n![Commit Activity](https://img.shields.io/github/commit-activity/m/massimo-rnd/FFMP)\n\n---\n\n### 🌟 Acknowledgments\n\n- [Inspiration for this Project comes from CodeF0x](https://github.com/CodeF0x)\n- [FFZAP - The same thing just based on RUST](https://github.com/CodeF0x/ffzap)\n\n---\n\n### 📞 Contact\n\nFor any inquiries, feel free to reach out:\n- email: [hi@massimo.gg](mailto:hi@massimo.gg)\n- X: [massimo-rnd](https://x.com/massimo-rnd)\n- [Discord](https://discord.gg/wmC5AA6c)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmassimo-rnd%2Fffmp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmassimo-rnd%2Fffmp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmassimo-rnd%2Fffmp/lists"}