Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ArifAltiok26/FFmpegpp
Lightweight ffmpeg wrapper for modern cpp
https://github.com/ArifAltiok26/FFmpegpp
cpp14 ffmpeg ffmpeg-wrapper modern-cpp
Last synced: 27 days ago
JSON representation
Lightweight ffmpeg wrapper for modern cpp
- Host: GitHub
- URL: https://github.com/ArifAltiok26/FFmpegpp
- Owner: ArifAltiok26
- Created: 2023-02-15T18:13:45.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-07T19:43:29.000Z (almost 2 years ago)
- Last Synced: 2024-11-20T01:53:00.747Z (about 1 month ago)
- Topics: cpp14, ffmpeg, ffmpeg-wrapper, modern-cpp
- Language: C++
- Homepage:
- Size: 90.8 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# What is the purpose of this repo ?
FFmpeg is a great open source library for those who want to work on videos and sounds. However, since it is written in the C programming language, it is far from the object-oriented programming paradigm. The C++ Programming language can run FFmpeg directly because it supports the C language. This repo aims to pull a thin layer over FFmpeg with modern C++ to present it as object-oriented, as well as to easily present the components of FFmpeg.
Also, if you use it from this repo instead of using FFmpeg directly, you will be less affected by the changes between FFmpeg versions.
# What is not the purpose of this repo ?
This repo is definitely not a repo of a FFmpeg competitor. Even this repo has a direct FFmpeg dependency. You should understand that if you are looking for an alternative to FFmpeg, this repo will not benefit you. As described above, it is to make FFmpeg suitable for the object-oriented programming paradigm with modern C++ and provide ease of use.
# What are the design principles of this repo ?
- Simplicity is the primary goal.
- It is to avoid extra latency with compile time bindings.
- Wrapper classes should be able to work directly with FFmpeg functions if necessary.# Requirements
- C++ Compiler that defines at least the c++14 standard.
- The appropriate version of FFmpeg (version 5.0 for now)# To Do
- The documentation will be prepared.
- Sample programs will be prepared.
- The use of FFmpeg directly and its use through this repo will be compared and benchmarks will be prepared.
- FFmpeg installation for windows and linux os .bat/.sh their files will be prepared.
- The wrapping, which is currently FFmpeg version 5.0, will be extended backwards to all versions.# How do you contribute ?
Contributions to this repo are welcomed with satisfaction. Also, since this repo is still very new, even the smallest test result is a huge contribution. Please do not hesitate to contact.