-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added title, description, lists and explanations.
- Loading branch information
0 parents
commit a021722
Showing
3 changed files
with
124 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2024 Martin Eesmaa | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
# EncodeMe (by Martin Eesmaa) | ||
|
||
EncodeMe is a video media encoder of multi edition. This tool can bring of all encoders & decoders using FFmpeg and external others too with multi platform operating systems. | ||
|
||
Operating systems: | ||
Windows, Mac, Linux & FreeBSD (QT C++, Imgui C++, Python, or other programming language) | ||
|
||
Android (Kotlin or/and Java) | ||
|
||
iOS (Swift) | ||
|
||
WebAssembly (TypeScript or Javascript) | ||
|
||
CLI (Batchfile, shell script, Python or other programming language) | ||
|
||
For using CLI, almost all supported OS can handle in terminal. | ||
|
||
Some operating systems can handle all external tools, but it is limited available of some external tools like in mobile and old operating systems. | ||
|
||
Also this is construction experimental working on this project since 30th March 2024. | ||
|
||
# To-do lists to make release | ||
|
||
- CLI | ||
- GUI | ||
- Design of GUI applications | ||
- UV transmissions | ||
- Animations | ||
- Icons | ||
- Detect any fakes | ||
- Optimizations | ||
- Scores of calculation tools | ||
- External tools | ||
|
||
# Detect any fakes | ||
|
||
The tool uses to detect any media files when using "Detect fake" tab for fake audio bits, audio channels, sample rate, frame per second and video size. | ||
|
||
- Duplicated frames must be reencoded to deduplicate video of frames. **It's experimental.** | ||
|
||
- Fake video size may be upscaled, needs to be manually check after resized video by human. **It's experimental.** | ||
|
||
- Detects fake pixel format for example the original Y4M file is pixel format of 8 bit and upsampled to 10-bit file. 10-bit Y4M file to 8-bit Y4M is match checksum using FFmpeg MD5 format are same video without loss. | ||
|
||
- Audio bits & fake audio channels can detect when fake original like 32-bit than original 16-bit or 24-bit. | ||
|
||
- Fake audio sample rate of upsampled have to be done on SoX resampler to get back best high quality. | ||
|
||
- Check if the audio is lossless or not with cutoff. | ||
|
||
# Optimizations | ||
|
||
Optimize can be done using FFmpeg to minimize file size without loss quality such as like Matroska, Windows Media and Audio Video Interleave, but stream copy. | ||
|
||
# Scores of calculation tools | ||
|
||
Video: VMAF from Netflix | ||
|
||
Audio: VISQOL from Google | ||
|
||
For VISQOL, the maximum range of Audio mode is 4.7321 and needs to be resampled 48khz. For speech mode, it is maximum of range 5 and targets 16khz. | ||
|
||
# External tools | ||
|
||
External tools are welcome to implement to our tool, includes improvement: | ||
|
||
- a52dec (AC3 decoder) | ||
- aften (AC3 encoder) | ||
- AMR-WB+ | ||
- Atrac1 & Atrac3 (encoder) | ||
- AudioDec | ||
- AVS3 encoder | ||
- Exhale USAC encoder | ||
- Bonk audio (encoder) | ||
- Encodec | ||
- Enhanced Voice Services | ||
- FAAC & FAAD2 (encoder and decoder) | ||
- FLAC (external) | ||
- FLACCID (best to minimize FLAC audio of encoder) | ||
- FLACCL (CUDA Flac Encoder) | ||
- Flake (Fast Flac Encoder) | ||
- Lagarith (encoder) | ||
- LC3 Google | ||
- LC3plus | ||
- Lyra Google | ||
- MOI (My Optimized IMA-ADPCM) | ||
- Monkey's Audio (encoder, but decode more than stereo channels) | ||
- MP1 (Uzura) | ||
- MPEG-4 ALS | ||
- MPEG-5 | ||
- Musepack (encoder) | ||
- NIHAV Encoders | ||
- Nintendo DSP-ADPCM | ||
- Quite OK Audio (encoder) | ||
- Sac (state-of-the-art codec lossless) | ||
- WavPack (external) | ||
- More tools lists will come later... | ||
|
||
# About this program | ||
|
||
This program was created and founded by Martin Eesmaa. |