mirror of
https://github.com/MartinEesmaa/VVCEasy.git
synced 2025-06-05 21:59:20 +02:00
Compare commits
46 Commits
Author | SHA1 | Date | |
---|---|---|---|
1bc30fd327 | |||
0460662adf | |||
846e71aa39 | |||
d32dd7f4a4 | |||
f712cd6a8d | |||
f292a82b72 | |||
1dff7ad5c2 | |||
7527ec1e03 | |||
c86076b391 | |||
c9433e00cd | |||
10f10ca4cb | |||
f7c19674f0 | |||
8b40e67e62 | |||
c2fe35941d | |||
fd43071cfa | |||
fe93a27f0f | |||
7b37e67e1b | |||
b8a2bd8695 | |||
c5b7fd3944 | |||
bc06ab5e30 | |||
395b764805 | |||
dd650bc9ed | |||
96f330513a | |||
c162655485 | |||
9b957ee4c7 | |||
e476cf1c22 | |||
5a85cff664 | |||
95709d71cd | |||
acb3a1433c | |||
a0a6d5346f | |||
4c29ead6b4 | |||
0b3603a89b | |||
a42e5caab5 | |||
782ed4dc56 | |||
cf6c84397d | |||
80ac019e01 | |||
45b947c6d3 | |||
7d9b47c820 | |||
d89f032ff4 | |||
17e3ad82a2 | |||
02101cc3fd | |||
7a1b1d1fba | |||
c438b0e4a6 | |||
b2928fa002 | |||
a71cde1a46 | |||
99efbf14ea |
BIN
AndroidVVDEC/AndroidVVDEC.7z
Normal file
BIN
AndroidVVDEC/AndroidVVDEC.7z
Normal file
Binary file not shown.
4
AndroidVVDEC/AndroidVVDEC.sha256
Normal file
4
AndroidVVDEC/AndroidVVDEC.sha256
Normal file
@ -0,0 +1,4 @@
|
||||
5800c994bde2955752025664272462cd3e56f955ef6b153b5dfc1ef6db8f957a arm64/vvdecapp
|
||||
9250431c7c390f7ee28207f5e46d8967013f8ea9133f67d253203deb334269ea armeabi/vvdecapp
|
||||
2b8687d9db101219ee4c45162a6b663629063e4d872b6331b943b8ef0bb0913b x86/vvdecapp
|
||||
198ebb08d3f74088058432c489601b726b7a586e655afc983126a446d12d16aa x86_64/vvdecapp
|
15
AndroidVVDEC/README.md
Normal file
15
AndroidVVDEC/README.md
Normal file
@ -0,0 +1,15 @@
|
||||
# Android vvdec applications (Termux app)
|
||||
|
||||
Requirements: Termux app with apk or F-Droid app.
|
||||
|
||||
See the screenshot of vvdecapp in Termux app:
|
||||
|
||||

|
||||
|
||||
All system types of arm64, armeabi, x86 and x86_64 are built on vvdecapp, it is use of Termux app.
|
||||
|
||||
arm64 - API 21 (phones only)
|
||||
armeabi - API 19 (some phones)
|
||||
x86 & x86_64 - API 21 (tablets only)
|
||||
|
||||
- Martin Eesmaa
|
22
FFMPEGMINGW.sh
Normal file
22
FFMPEGMINGW.sh
Normal file
@ -0,0 +1,22 @@
|
||||
echo Starting process of FFmpeg build with libvvenc and libvvdec...
|
||||
mkdir buildffmpegwin && cd buildffmpegwin
|
||||
git clone --depth=1 https://github.com/tbiat/FFmpeg
|
||||
git clone --depth=1 https://github.com/fraunhoferhhi/vvenc
|
||||
git clone --depth=1 https://github.com/fraunhoferhhi/vvdec
|
||||
echo Starting to build vvenc...
|
||||
cd vvenc
|
||||
mkdir build && cd build
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. -G "MinGW Makefiles"
|
||||
cmake --build . --config Release --target install
|
||||
cd ../../
|
||||
cd vvdec
|
||||
mkdir build && cd build
|
||||
cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. -G "MinGW Makefiles"
|
||||
cmake --build . --config Release --target install
|
||||
cd ../../
|
||||
cd FFmpeg
|
||||
./configure --enable-gpl --enable-version3 --enable-libvvenc --enable-libvvdec --enable-pic \
|
||||
--enable-libxml2 --enable-libaom --enable-libx264 --enable-libx265 --enable-libvpx --enable-libsvtav1 \
|
||||
--enable-libopus --enable-librav1e --disable-w32threads && \
|
||||
make -j
|
||||
echo FFmpeg VVC version tools are now compiled, please see buildffmpegwin/FFmpeg folder.
|
151
FFMPEGVVC.md
151
FFMPEGVVC.md
@ -1,4 +1,4 @@
|
||||
# FFmpeg VVC decoder installation (Windows, Mac OS and Linux)
|
||||
# FFmpeg VVC Encoder & Decoder installation (Windows, Mac OS and Linux)
|
||||
|
||||
Windows, Mac and Linux (Preview of vvc video in ffplay):
|
||||
|
||||
@ -6,27 +6,51 @@ Windows, Mac and Linux (Preview of vvc video in ffplay):
|
||||

|
||||

|
||||
|
||||
# Limitations of FFmpeg VVC decoder
|
||||
# Play video file
|
||||
|
||||
For Windows, Mac OS and Linux for preview without converting, you can do sample this, including audio support:
|
||||
You can play VVC video codec with .h266, .vvc, .266 and anything or .mp4 muxed with VVC codec:
|
||||
|
||||
```
|
||||
ffmpeg_g -i example.266 -i example.opus -vcodec libx264 -acodec libopus -af adelay=1000 -f matroska - | ffplay_g -
|
||||
ffplay_g versatile.266
|
||||
```
|
||||
|
||||
Or you can play vvc with audio support:
|
||||
# Limitations of FFmpeg VVC encoder
|
||||
|
||||
Before encode to VVC video codec, see the limitations below.
|
||||
|
||||
libvvenc (FFmpeg vvc version) works for:
|
||||
|
||||
- Pixel format ✅ (changeable of 8/10bit)
|
||||
- Video size (auto detects, but it doesn't detect for SAR and DAR anamorphic is glitch and corrupts the video ) ⚠️ (Better way to use vvencapp without FFmpeg)
|
||||
- Frame rate ✅ (auto detects)
|
||||
- MP4 Muxing :x: (does not support, you need MP4BOX after encode.)
|
||||
- Audio with encode VVC ⚠️ (does not support, because it can corrupt the file) To avoid corrupt file, you need to disable audio using `-an` or you could do output container for .266, .vvc and .h266 too.
|
||||
- Bitrates ✅
|
||||
- Passes ⚠️ (only one pass)
|
||||
- Presets ⚠️ (only medium preset)
|
||||
- QP/CRF ⚠️ (only you can set -global_quality command only, global_quality equals qp)
|
||||
|
||||
Built in libvvenc for FFmpeg command:
|
||||
|
||||
```
|
||||
ffplay_g -i convertedvvc.mp4
|
||||
ffmpeg -i example.mp4 -c:v libvvenc -global_quality 37 -pix_fmt yuv420p10 example.266
|
||||
```
|
||||
|
||||
Additional command: You can convert to vvc video without taking a much space for vvencapp, example:
|
||||
|
||||
```
|
||||
ffmpeg -i example.mp4 -f rawvideo -pix_fmt yuv420p - | vvencapp -i - -s 1920x1080 -r 25 --preset medium --qp 32 -o example1.266
|
||||
```
|
||||
|
||||
Replace video size for `-s` and frame rate for `-r`.
|
||||
|
||||
### Update 21th May 2022 of FFmpeg vvdec support
|
||||
|
||||
Good news, you can play .mp4 file after .h266 and audio format were merged into mp4 playable of VVC.
|
||||
|
||||
About [xHE-AAC](https://www.iis.fraunhofer.de/en/ff/amm/broadcast-streaming/xheaac.html), there is no decode support of FFmpeg, the reason is a license fee, but except [Exhale](https://gitlab.com/ecodis/exhale) (encoder) is free to use and open source. However, you can also merge encoded xHE-AAC audio into mp4 too.
|
||||
About [xHE-AAC](https://www.iis.fraunhofer.de/en/ff/amm/broadcast-streaming/xheaac.html), there is no decode support of FFmpeg. The reason is a license fee, but except [Exhale](https://gitlab.com/ecodis/exhale) (encoder) is free to use and open source. However, you can also merge your encoded xHE-AAC audio into mp4 too.
|
||||
|
||||
To make playable mp4 with audio and video together, you need VVC video encoded, audio file and [GPAC Nightly build](https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/). Code for mp4box/gpac:
|
||||
To make playable mp4 with audio and video together, you need VVC video encoded, audio file and [GPAC Nightly build](https://gpac.wp.imt.fr/downloads/gpac-nightly-builds/). Code for mp4box/gpac to merge VVC video encoded and audio file:
|
||||
```
|
||||
mp4box -no-probe -add video.266 -add audio.opus -new convertedvvc.mp4
|
||||
```
|
||||
@ -35,48 +59,131 @@ Containers are also acceptable video containers of .mkv, .mp4, .mov and more.
|
||||
|
||||
For Linux and Mac OS users: Replace **mp4box** by **gpac**
|
||||
|
||||
# FFmpeg Downloads (VVC decoder plugin compiled by Martin Eesmaa)
|
||||
# FFmpeg Downloads (VVC encoder & decoder plugin compiled by Martin Eesmaa)
|
||||
|
||||
[Windows](https://mega.nz/file/e1MEUAwR#c7u7vDvwzp6JiSaRDwhCyOaH4cGnx1xQDPyKgbAd-qM)
|
||||
[Windows](https://mega.nz/file/7xdRQSRT#S72TX8q8bkOdyeLSPWFUqcWCcztSSyi4qVrxpSwma5M)
|
||||
|
||||
[Mac OS](https://mega.nz/file/mxNTQTLb#1ifvaXap_a_cHLCIWZ-K5B0oKXvdHjgUc3Nb-YHFIio)
|
||||
[Mac OS](https://mega.nz/file/K8MW0IAR#NgTpDwR5nXk3QvpKlsTDdatYS32igd_-36acbe4eyCo)
|
||||
|
||||
[Linux](https://mega.nz/file/T8l0GTqa#oWsDDrFYjzf3LhS9zRkuqqBz6H4yJmNQUNiu_erVQLo) (Only Ubuntu 20.04 build)
|
||||
[Linux](https://mega.nz/file/jhkk0bqQ#0y-m_ieBbhTWgOI2Eenzd-zugxo2PLedqnobGmux51M) (Only Ubuntu 20.04 build)
|
||||
|
||||
# Mac OS downloaders (Important note)
|
||||
|
||||
Please note, that is not a malware of my compiled build, see the three screenshots to make run ffmpeg tools customised version
|
||||
|
||||
You need to allow the app on your Mac OS for chmod write access & Security & Privacy:
|
||||
|
||||
Step 1: Click cancel button, do not move to bin.
|
||||
|
||||

|
||||
|
||||
Step 2: Go to Security & Privacy on Mac OS Settings app, then check App Store & identified developers or anywhere is on. Click "Allow anyway" to unblock an application.
|
||||
|
||||

|
||||
|
||||
Step 3: Click "Open" button, this does not hurt your computer.
|
||||
|
||||

|
||||
|
||||
You may receive this error, if the vvc shared library was not found:
|
||||
```
|
||||
dyld: Library not loaded: @rpath/libvvdec.dylib
|
||||
Referenced from: /Users/martineesmaa/Downloads/dddd3/./ffplay_g
|
||||
Reason: image not found
|
||||
```
|
||||
|
||||
The libvv(enc/dec).dylib needs to be patched of FFmpeg VVC version before run. You need patch two files to make work FFmpeg VVC version, you don't need to build if necessary:
|
||||
|
||||
```
|
||||
sudo cp libvvenc.dylib /usr/local/lib/libvvenc.dylib
|
||||
sudo cp libvvenc.dylib /usr/local/lib/libvvenc.dylib
|
||||
```
|
||||
|
||||
Or outdated library was not found of some computers, so you can download x264 specified version of Homebrew or download new latest link of FFmpeg VVC version:
|
||||
```
|
||||
dyld: Library not loaded: /usr/local/opt/x264/lib/libx264.163.dylib
|
||||
Referenced from: /Users/runner/work/libvvdec_fixmywin/libvvdec_fixmywin/./ffmpeg_vvceasy_mac
|
||||
Reason: image not found
|
||||
```
|
||||
|
||||
### Build Mac OS for FFmpeg VVC build
|
||||
|
||||
Requirements:
|
||||
|
||||
Xcode
|
||||
|
||||
Cmake
|
||||
|
||||
NASM
|
||||
|
||||
Homebrew
|
||||
|
||||
Code to build FFmpeg VVC version:
|
||||
|
||||
```
|
||||
brew install x264 x265 libvpx libxml2 libopusenc
|
||||
git clone https://github.com/fraunhoferhhi/vvenc
|
||||
git clone https://github.com/fraunhoferhhi/vvdec
|
||||
cd vvenc && mkdir build && cd build
|
||||
cmake -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=/usr/local ..
|
||||
cmake --build . --config Release --target install
|
||||
cd ../../
|
||||
cd vvdec && mkdir build && cd build
|
||||
cmake -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=/usr/local ..
|
||||
cmake --build . --config Release --target install
|
||||
cd ../../
|
||||
git clone --depth=1 https://github.com/tbiat/FFmpeg
|
||||
cd FFmpeg
|
||||
./configure --enable-gpl --enable-version3 --enable-libvvenc --enable-libvvdec --enable-pic --enable-libxml2 --enable-libx264 --enable-libx265 --enable-libvpx --enable-libopus --enable-sdl2
|
||||
make
|
||||
```
|
||||
|
||||
# Linux downloaders (Important note)
|
||||
|
||||
Unfortunately, this is Ubuntu 20.04 LTS built only.
|
||||
Unfortunately, this is Ubuntu 20.04 LTS build only.
|
||||
|
||||
Before you use FFmpeg, make sure you install all these requirements:
|
||||
|
||||
```
|
||||
sudo apt install libxml2 libx264-dev libx265-dev libnuma-dev libxml2 libopus-dev
|
||||
sudo apt install libxml2 libx264-dev libx265-dev libnuma-dev libxml2 libopus-dev libsdl2-dev
|
||||
```
|
||||
|
||||
If you are using other linux without Ubuntu 20.04 LTS, you have to build using:
|
||||
If you are using other linux without Ubuntu 20.04 LTS, you have to build using this:
|
||||
|
||||
```
|
||||
sudo apt install build-essential cmake libx264-dev libx265-dev libnuma-dev libxml2 libopus-dev nasm && \
|
||||
git clone https://github.com/fraunhoferhhi/vvdec.git && cd vvdec \
|
||||
sudo apt install build-essential cmake libx264-dev libx265-dev libnuma-dev libxml2 libopus-dev nasm libsdl2-dev && \
|
||||
git clone https://github.com/fraunhoferhhi/vvdec.git && cd vvdec && \
|
||||
make release && make install install-prefix=/usr/local && \
|
||||
cd .. && git clone https://github.com/lehmann-c/FFmpeg.git && cd FFmpeg && \
|
||||
cd .. && \
|
||||
git clone https://github.com/fraunhoferhhi/vvenc.git && cd vvdec && \
|
||||
make release && make install install-prefix=/usr/local && \
|
||||
cd .. && git clone https://github.com/tbiat/FFmpeg.git && cd FFmpeg && \
|
||||
./configure --enable-gpl \
|
||||
--enable-version3 \
|
||||
--enable-version3 \
|
||||
--enable-libvvenc \
|
||||
--enable-libvvdec \
|
||||
--enable-pic \
|
||||
--enable-libxml2 \
|
||||
--enable-libx264 \
|
||||
--enable-libx265 \
|
||||
--enable-libopus &&
|
||||
--enable-sdl2 \
|
||||
--enable-libopus && \
|
||||
make -j
|
||||
```
|
||||
|
||||
If compiled is success and finished, you can install FFmpeg, using the code:
|
||||
If compiling is success and finished, you can install FFmpeg, using the code:
|
||||
|
||||
```
|
||||
make install
|
||||
```
|
||||
|
||||
For Linux downloaders to run FFmpeg, please copy these two files:
|
||||
|
||||
```
|
||||
sudo cp libvvenc.so /usr/lib/libvvenc.so
|
||||
sudo cp libvvdec.so /usr/lib/libvvdec.so
|
||||
```
|
||||
|
||||
# Special thanks
|
||||
|
||||
VVC programmers of FFmpeg:
|
||||
@ -87,4 +194,6 @@ Original author: [@FFmpeg](https://github.com/FFmpeg) Repository: https://github
|
||||
|
||||
[@tbiat](https://github.com/tbiat) Repository: https://github.com/tbiat/FFmpeg
|
||||
|
||||
VVC encoder programmer to FFMpeg: [@IsaMorphic] Repository: https://github.com/IsaMorphic/FFmpeg-VVC
|
||||
|
||||
- Martin Eesmaa
|
||||
|
@ -1,3 +1,5 @@
|
||||

|
||||
|
||||
# VLC Media Player (Inter Digital VLC VTM Decoder Plugin installation of Windows and Linux)
|
||||
This can work only for VLC 3.0.9.2 and later version (eg. 3.0.17.4). VLC 4.0.0-dev won't work.
|
||||
|
||||
@ -15,11 +17,11 @@ Step 3: Enjoy and play your h266 file into your VLC Media Player :).
|
||||
|
||||
### For Linux users
|
||||
|
||||
Open terminal, type `sudo su` to gain root access, copy code:
|
||||
Open terminal and copy code:
|
||||
```
|
||||
cp libvvcdecoder_plugin.so /lib/x86_64-linux-gnu/vlc/plugins/codec
|
||||
cp libvtmdec.so /lib/x86_64-linux-gnu/vlc/plugins/codec
|
||||
cp libvctsdemux_plugin.so /lib/x86_64-linux-gnu/vlc/plugins/demux
|
||||
sudo cp libvvcdecoder_plugin.so /lib/x86_64-linux-gnu/vlc/plugins/codec
|
||||
sudo cp libvtmdec.so /lib/x86_64-linux-gnu/vlc/plugins/codec
|
||||
sudo cp libvctsdemux_plugin.so /lib/x86_64-linux-gnu/vlc/plugins/demux
|
||||
```
|
||||
|
||||
VLC from Snap Store:
|
||||
@ -32,6 +34,79 @@ Preview:
|
||||
|
||||

|
||||
|
||||
# Build VLC InterDigital Plugin
|
||||
|
||||
Explanation of CMAKE names:
|
||||
|
||||
VLC_INCLUDE_DIR = Includes of VLC SDK Plugins
|
||||
|
||||
VLC_LIB_DIR = Libs of VLC SDK
|
||||
|
||||
VLC_PROGRAM_DIR = VLC Program directory
|
||||
|
||||
VTMDEC_LIB_NAME = Name title of libvtmdec
|
||||
|
||||
VTM_DIR = libvtmdec source files
|
||||
|
||||
VLC_SRC_DIR = VLC Source files of the desktop version
|
||||
|
||||
DVBPSI_DIR = DVBPSI source files
|
||||
|
||||
### Windows
|
||||
|
||||
You need the CMAKE GUI, Visual Studio 2017 or newer, VLC SDK, [libvtmdec](https://vcgit.hhi.fraunhofer.de/delagrangep/VVCSoftware_VTM/-/tree/VTM-16.0-MT) precompiled shared dll in lib folder + sources, dvbpsi source and VLC source files of the desktop version. You need to modify vlc_threads.h, before compile.
|
||||
|
||||
vlc_threads.h can be found in VLC folder/sdk/include/vlc/plugins. Search `val = poll(fds, nfds, timeout);` and comment the only one file, that's it.
|
||||
|
||||

|
||||
|
||||
Build Decoder Plugin, see screenshot of CMAKE GUI:
|
||||
|
||||

|
||||
|
||||
Build TS Demux Plugin, see screenshot of CMAKE GUI:
|
||||
|
||||

|
||||
|
||||
### Linux
|
||||
|
||||
You need CMAKE GUI, build-essentials, VLC SDK, [libvtmdec](https://vcgit.hhi.fraunhofer.de/delagrangep/VVCSoftware_VTM/-/tree/VTM-16.0-MT) sources, dvbpsi source and VLC source files of the desktop version. You need to modify vlc_threads.h, before compile.
|
||||
|
||||
vlc_threads.h can be found in VLC folder/sdk/include/vlc/plugins. Search `val = poll(fds, nfds, timeout);` and comment the only one file, that's it.
|
||||
|
||||

|
||||
|
||||
libvtmdec build:
|
||||
Compiled file could be found in lib folder in libvtmdec.
|
||||
|
||||
```
|
||||
mkdir build && cd build
|
||||
cmake -DBUILD_SHARED_LIBS=1 ..
|
||||
make -j
|
||||
```
|
||||
|
||||
Before build Decoder Plugin, you need to find libvlccore in Linux.
|
||||
|
||||
dvbpsi build requires of TS Demux Plugin:
|
||||
|
||||
```
|
||||
./bootstrap
|
||||
./configure --enable-release
|
||||
make -j
|
||||
sudo make install
|
||||
```
|
||||
|
||||
Build Decoder Plugin, see screenshot of CMAKE GUI:
|
||||
|
||||
|
||||

|
||||
|
||||
Build TS Demux Plugin, see screenshot of CMAKE GUI:
|
||||
|
||||

|
||||
|
||||
Original documentation must be in the original repository: https://github.com/InterDigitalInc/VTMDecoder_VLCPlugin
|
||||
|
||||
### Alternative using command line of Windows
|
||||
|
||||
Open Windows Terminal/Windows Command Prompt, make sure you do cd of C:/Users/(put your username)/Downloads/VVCEasy/VLC
|
||||
|
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
b6b00c32aae457d3c0f1742106eb629347e8aad297e19567430fe1ce299664c1 LinuxVVC.7z
|
||||
b55034464d869c9a0574ea85400b8a1c28626f0f78db1abca92bba761cd37cfc vvdecapp
|
||||
37d800140740b91db8b75ba56997b3bde6ee64f4efe7c3936d3ac8df7a09a762 vvencapp
|
||||
23efb4866a3fc959daa5f4f4b911414cbcebd2da07fd6807572183f42a90d273 vvencFFapp
|
||||
884ab4e1b438473842967aa1a78e280b92e0fb8f2c55b1108011a0a400b7c829 vvencinterfacetest
|
||||
e39176501602d6892f01f19083c56fc29f998aedd3255bbdd6da4f66eb170679 vvenclibtest
|
||||
43fa2d4ed2a5f39704c8e22ed4f7d3218d7c932962f17d970e882ee3a4d3deb5 LinuxVVC.7z
|
||||
61f24d46451b32f3403ccb096e000b643847ac2dc6b11e81ba12bfa55ce240ac vvdecapp
|
||||
63a73d97506af0e73e98b4f70cb1adaf8d97b9751793140fa2b6d97c0cd1c8e0 vvencapp
|
||||
6fe858c43db49bcf3a3365af42e036907a64b017584a55535beb569729904478 vvencFFapp
|
||||
2118edbe667506873aafe130d166d7d4592bb37f328818d78c73362df1ef1af1 vvencinterfacetest
|
||||
569580c9c528216eda43de8564fa4d0d6e00bf396299bb05b8774798d8e13f09 vvenclibtest
|
||||
|
44
MPV.md
44
MPV.md
@ -1,51 +1,53 @@
|
||||

|
||||
|
||||
# MPV Android Player (OpenVVC support)
|
||||
# MPV Windows/Android Player (libvvdec support)
|
||||
|
||||
MPV Android Player (OpenVVC support) can play your VVC decoded video file.
|
||||
MPV Windows/Android Player (libvvdec support) can play your VVC decoded video file and muxed MP4 container with VVC video codec + audio.
|
||||
|
||||
Screenshot preview, see top-left information of toggle stats:
|
||||
Screenshot preview, see top-left information of toggle stats on Windows/Android device:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
# Download MPV Android Player (OpenVVC plugin)
|
||||
# Download MPV Windows/ Android Player (libvvdec plugin)
|
||||
|
||||
[Android SDK 29 .APK Debug (Recommended)](https://mega.nz/file/K4FQFATS#7E6FmEOn9h3UIQLg0ZVb66_zItlHBT8DzT2qx5Zr23Q)
|
||||
[Windows 7 and later x64](https://mega.nz/file/exUDjD6S#0rSrMDIZdJcsb51QBNoJkobvWG_ZBXQWyaV714Y3yKU)
|
||||
|
||||
[Android SDK 29 .APK Release unsigned](https://mega.nz/file/Ch1AgJDD#f__m02qj0F8xkYTVY8o_BOUfZQkhtNkX1Y3fhKG8PKM)
|
||||
[Android API 29 .APK Debug (Recommended)](https://mega.nz/file/Txk2zYqL#kzmdpuXITsxxJItgRkukW2CjUkDqqy9qT3zWWtTBRD4)
|
||||
|
||||
[Android SDK 30 .APK Debug](https://mega.nz/file/v4shBToK#P8bBW70b5QG3SY4rqnz7DZaFq7vrXACmS9tHTWFHgqg)
|
||||
[Android API 29 .APK Release unsigned](https://mega.nz/file/K01RBKLb#k28EB0nKbPvi1HO8lZWFSs6h6d_vfoeigWtpI5toe84)
|
||||
|
||||
[Android SDK 30 .APK Release unsigned](https://mega.nz/file/L1d0RCRA#JyGcjFRsVQNjo_y0j11_Kdx9oXapOt3fg87-RzppURg)
|
||||
[Android Default 30 .APK Debug](https://mega.nz/file/y192xBCK#oCW2ieIOXQNiWnYNTq2nNDdQU7y743FrQ0e8ajtPelQ)
|
||||
|
||||
[Android .APK Debug Stable](https://mega.nz/file/H8kRUDBT#zWax2e1xxebrIZMmYPrmiWcbZBHnVAzAVZlY3EmuPnU)
|
||||
[Android Default 30 .APK Release unsigned](https://mega.nz/file/jg8iQZaS#2rjGnG91SJPmlW2g_dsDGU927G7Qc4hldPl0KSL6lgk)
|
||||
|
||||
# Limitations & Tips
|
||||
|
||||
This app might crash, slow or freeze on your Android phone for playing VVC high resolutions or/and old devices.
|
||||
|
||||
MPV Android OpenVVC App requires your system type of ARM64 (aarch64) and x86_64 to run on Android.
|
||||
MPV Android libvvdec app requires your system type of ARM64 (aarch64), x86 (i686), ARMv7 (armeabi-v7a) and x86_64 to run on Android or Windows requires to run x64.
|
||||
|
||||
Android MPV Player doesn't work seek duration of VVC decoded file.
|
||||
Windows/Android MPV Player doesn't work seek duration of VVC decoded file only, but only mp4 video container muxed with VVC video codec is seek only supported, including audio too.
|
||||
|
||||
Standby or sleep Android device may not return of your resume playback after you unlock device.
|
||||
Some Android users for 10-bit pixel format or/and tier high might not show video in mp4 container with VVC video codec only.
|
||||
|
||||
### Tips
|
||||
|
||||
Make sure to allow apps from unknown sources. [Link: Wikihow](https://www.wikihow.com/Allow-Apps-from-Unknown-Sources-on-Android)
|
||||
Make sure to allow apps from unknown sources. Link: [Wikihow](https://www.wikihow.com/Allow-Apps-from-Unknown-Sources-on-Android)
|
||||
|
||||
If Google warns you, that Android MPV (OpenVVC plugin) app is malicious by Play Protect, press "Install anyway".
|
||||
If Google warns you, that Android MPV (libvvdec plugin) app is malicious by Play Protect, press "Install anyway" on your phone.
|
||||
|
||||
You can also play external sound audio file from VVC video codec file.
|
||||
On Windows, you can copy mpv-2.dll, mpv-vvceasy and mpv-vvceasy of DLL to mpv.net of https://github.com/stax76/mpv.net
|
||||
|
||||
# SHA256 SUMS
|
||||
```
|
||||
ead8e9bdf617cc61bd1ed13f246bd3b247afc4f529dd50bba445975d7f3b7266 MPV-VVCEasy-API29debug.apk
|
||||
f184ee6eed67c944a79ae76a9efefd48adb6666313dc2e6f7fddfad2aee0ac77 MPV-VVCEasy-API29release-unsigned.apk
|
||||
f806f216b7eb407dcbfd3c05bbb2fc9c2b771fb482f0a111ddeefb110ac71e8e MPV-VVCEasy-debug.apk
|
||||
06bc7a8c3b2a97e96c89b9dca5d9b0f034afa6cdf1aec8ed80081890a6392985 MPV-VVCEasy-release-unsigned.apk
|
||||
f8c13279b23e334b985b69080e9cf755e593ac9f1fb0d2b98e0fa5ccf3ff4610 MPV-VVCEasy-stable.apk
|
||||
e44d5ce683130fe7918f6fd28597a773a1dcfe7d0aea3378034c6bdec2488680 MPV-VVCEasy-API29debug.apk
|
||||
2bc8436b7e5fd582eafb1537c6dbc0690c69a1c3e88aa7af55a2a5075c950eb6 MPV-VVCEasy-API29release-unsigned.apk
|
||||
2189669f44a85ae5585b3d47c6435be94e9b572ad224554c9dbf106fd2c431c2 MPV-VVCEasy-debug.apk
|
||||
27bed76d371dae7fd9091929c4a25b082f887fa1fe1b5c91f81ab5eb80c7f88d MPV-VVCEasy-release-unsigned.apk
|
||||
06adabf1ed41b96599e211ae264128a7f734a6c72b3b72ca3fd2de3e8992a305 MPV-VVCEasy-Windows-x64.7z
|
||||
```
|
||||
|
||||
- Martin Eesmaa
|
||||
|
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
bd4df44d5aa6b472e57e6a3b6ed4e5d1ea6d6a8e4d51fb114a51a3153faa310c MacOSVVC.7z
|
||||
0387616bdeb26de30cd9b5465321cd7292fc40cd4b00975401d17e7c9f91effb vvdecapp
|
||||
32fa76374ed08be1f2b4b70676afca71cccf6ecb8d450d0233dc0adc11b08129 vvencapp
|
||||
db0e243caab9e242378f239c29a4a4c88babe81f94a0e8a78aaadb8a47a54850 vvencFFapp
|
||||
e4f68a7a67eb0bcc33009f301204515ed5a608b7684d77ab54659302daadfc6e vvencinterfacetest
|
||||
59159c71eb2d324b1f6f86a8c5daad877fdd8b47f732bdd863b8c0eee5795cd0 vvenclibtest
|
||||
ba7c2ed5c694cef95d288502c934e578d351bf3b1fc6897305190d8f8bba77c1 MacOSVVC.7z
|
||||
235eb2bbe6da5eec89cb633585eb59fe86262cade06979fc0466b55b415a8158 vvdecapp
|
||||
feeef9924d46e41705b921db02da307c156f8738e80ac827645075ee08165da6 vvencapp
|
||||
44bc8aae0d1de0739836e72b9401d98aab3ce77933d20bf9946ecfe3ceda7f21 vvencFFapp
|
||||
7927a2396936e2d95a49a88dfaf61bcbcef619ffc1baafede80445a6a166f254 vvencinterfacetest
|
||||
208cf16d8728072ce39f71033d7d3975b14f09ad33518ff94ebaf6a8bb8e7500 vvenclibtest
|
||||
|
25
Program.cs
25
Program.cs
@ -11,15 +11,17 @@ namespace VVCEasy
|
||||
bool exit = false;
|
||||
Console.Title = "Martin Eesmaa / VVCEasy";
|
||||
Console.WriteLine("Martin Eesmaa / VVCEasy");
|
||||
Console.WriteLine("Welcome to VVCEasy. (.NET Console Beta Version, v.0.9.0)");
|
||||
Console.WriteLine("Welcome to VVCEasy. (.NET Console Release Version, v.1.0.1)");
|
||||
Console.WriteLine("Version codename: Summer time for fun.");
|
||||
Console.ReadLine();
|
||||
do
|
||||
{
|
||||
Console.Clear();
|
||||
Console.WriteLine("VVCEasy (.NET Console Beta Version, v.0.9.0)");
|
||||
Console.WriteLine("VVCEasy (.NET Console Release Version, v.1.0.1)");
|
||||
Console.WriteLine("Version codename: Summer time for fun.");
|
||||
Console.WriteLine("Note: C# is not ready yet, malfunction mode\n");
|
||||
Console.Title = "Martin Eesmaa / VVCEasy";
|
||||
Console.WriteLine("What would you like to do for encode/decode of VVC?\n1. Encode\n2. Decode\n3. Help\n4. Exit\n5. Install/Test path environment\n6. Install FFmpeg VVDec support\n7. Install quickly through Anaconda for ffmpeg (Windows)\n8. Install VVdec Web Player\n9. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)\n10. Install vvDecPlayer from BitMovin\n11. Install VLC VTM Plugins (Windows/Linux x64 of VLC, plugins by Inter Digital Inc)\n12. Install MPV Android (OpenVVC plugin)");
|
||||
Console.WriteLine("What would you like to do for encode/decode of VVC?\n1. Encode\n2. Decode\n3. Help\n4. Exit\n5. Install/Test path environment\n6. Install FFmpeg VVDec support\n7. Install quickly through Anaconda for ffmpeg (Windows)\n8. Install VVdec Web Player\n9. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)\n10. Install vvDecPlayer from BitMovin\n11. Install/Update VLC VTM Plugins (Windows/Linux x64 of VLC plugins by Inter Digital Inc)\n12. Install MPV Windows/Android (libvvdec plugin)\n13. Tests of VVC videos");
|
||||
|
||||
string input = Console.ReadLine();
|
||||
|
||||
@ -173,7 +175,7 @@ namespace VVCEasy
|
||||
Console.Title = "INSTALLING VVDEC WEB PLAYER...";
|
||||
|
||||
using (WebClient web1 = new())
|
||||
web1.DownloadFile("", "");
|
||||
web1.DownloadFile("", "");
|
||||
|
||||
Console.WriteLine("Sorry, the command is not ready yet...");
|
||||
Console.ReadLine();
|
||||
@ -207,7 +209,7 @@ namespace VVCEasy
|
||||
Console.WriteLine("Installing vvDecPlayer from BitMovin for Windows...\nSorry, the C# console is not ready yet...");
|
||||
|
||||
using (WebClient web1 = new())
|
||||
web1.DownloadFile("", "");
|
||||
web1.DownloadFile("", "");
|
||||
|
||||
Console.ReadLine();
|
||||
}
|
||||
@ -216,7 +218,7 @@ namespace VVCEasy
|
||||
Console.WriteLine("Installing vvDecPlayer from BitMovin for Mac OS...\nSorry, the C# console is not ready yet...");
|
||||
|
||||
using (WebClient web1 = new())
|
||||
web1.DownloadFile("", "");
|
||||
web1.DownloadFile("", "");
|
||||
|
||||
Console.ReadLine();
|
||||
}
|
||||
@ -225,7 +227,7 @@ namespace VVCEasy
|
||||
Console.WriteLine("Installing vvDecPlayer from BitMovin for Linux...\nSorry, the C# console is not ready yet...");
|
||||
|
||||
using (WebClient web1 = new())
|
||||
web1.DownloadFile("", "");
|
||||
web1.DownloadFile("", "");
|
||||
|
||||
Console.ReadLine();
|
||||
}
|
||||
@ -254,7 +256,7 @@ namespace VVCEasy
|
||||
Console.WriteLine("Installing of VLC VTM Plugins by Inter Digital Inc... (Compiled by Martin Eesmaa)\nSorry C# is malfunction mode...");
|
||||
|
||||
using (WebClient web1 = new())
|
||||
web1.DownloadFile("", "");
|
||||
web1.DownloadFile("", "");
|
||||
|
||||
Console.ReadLine();
|
||||
}
|
||||
@ -266,6 +268,13 @@ namespace VVCEasy
|
||||
Console.WriteLine("See information MPV.md or online Github: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md\nPress enter to go back menu.\n");
|
||||
Console.ReadLine();
|
||||
}
|
||||
else if (input == "13")
|
||||
{
|
||||
Console.Clear();
|
||||
Console.Title = "Tests of VVC videos";
|
||||
Console.WriteLine("Please see the paragraph in README.md.\nhttps://github.com/MartinEesmaa/VVCEasy/#tests-of-vvc-videos\n\nSee information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md\n\nPress enter to go back menu.");
|
||||
Console.ReadLine();
|
||||
}
|
||||
}
|
||||
while (exit == false);
|
||||
}
|
||||
|
88
README.md
88
README.md
@ -16,9 +16,6 @@ VVCEasy comes to one-easy command of ffmpeg, VVC Tools, python, VLC o266player,
|
||||
|
||||
Installation: Go to the releases and download latest version.
|
||||
|
||||
VVCEasy is not finished yet. I'm trying to work out with my codes. I'm not good for code programming, just simple coding.
|
||||
Sorry to say this. I will give you of my update announcement once I release the news.
|
||||
|
||||
Windows source run (Batchfile): VVCEasy.bat
|
||||
|
||||
Windows/Mac/Linux source run (Csharp): Bin/Release or Debug/netX.x/VVCEasy.exe (after build of C#), this requires VVCEasy.dll to run console application.
|
||||
@ -33,15 +30,17 @@ Discord: https://discord.gg/t54cADTbWW
|
||||
|
||||
- [Donate to Martin Eesmaa using cryptocurrency](#donate-to-martin-eesmaa-using-cryptocurrency)
|
||||
|
||||
- [Tests of VVC videos](#tests-of-vvc-videos)
|
||||
|
||||
- [VLC InterDigital VTM VVC Plugin](#vlc-interdigital-vtm-vvc-plugin)
|
||||
|
||||
- [VLC o266player](#vlc-o266player-windows-only-mac-os-will-be-later)
|
||||
|
||||
- [Bitmovin VVDec Player](#bitmovin-vvdec-player)
|
||||
|
||||
- [FFmpeg VVC Decoder support](#ffmpeg-vvdec-support)
|
||||
- [FFmpeg VVC Encoder & Decoder support](#ffmpeg-vvenc--vvdec-support)
|
||||
|
||||
- [MPV OpenVVC support (Android only)](#mpv-openvvc-support-android-only)
|
||||
- [MPV libvvdec support (Windows x64/Android only)](#mpv-libvvdec-support-windows-x64android-only)
|
||||
|
||||
- [Compile for VVCEasy](#compile-for-vvceasy)
|
||||
|
||||
@ -59,7 +58,7 @@ Discord: https://discord.gg/t54cADTbWW
|
||||
|
||||
- [Credits & Licenses](#credits--licenses)
|
||||
|
||||
# Donate to Martin Eesmaa using cryptocurrency
|
||||
# Donate to Martin Eesmaa for an cryptocurrencies
|
||||
|
||||
- **BTC (BITCOIN):**
|
||||
```
|
||||
@ -71,6 +70,12 @@ bc1qhf4zu5uythr7vyt2dru73qp0k2rzrx355fsx47yjxc2ueunz8frqxmwap3
|
||||
```
|
||||
- **BAT (BASIC ATTENTION TOKEN):** For Brave Browser users only, you can also contribute by supporting me, I'm verified Brave user on Brave Rewards.
|
||||
|
||||
# Tests of VVC videos
|
||||
|
||||
You can test Martin Eesmaa's encoded movies of VVC video codec and follow README.txt instructions.
|
||||
|
||||
[Tears of Steel VVC](https://mega.nz/folder/64swUYxI#WE5njn2aX6-6fxypNC3gtA)
|
||||
|
||||
# VLC InterDigital VTM VVC Plugin
|
||||
|
||||
I have a great news. VLC latest version worked out well of Inter Digital VTM plugins. On o266player, there was some problems on my computer for one reason...
|
||||
@ -93,35 +98,31 @@ When you try to play your MPEG-TS or TS file, it will crash with your InterDigit
|
||||
|
||||
Without InterDigital VLC VTM Plugin, playing MPEG-TS or TS file will play fine in your all original plugins (except VLC VTM Plugin) on your VLC Media Player.
|
||||
|
||||
About o266player: Since o266player repository have no new commits than one year.
|
||||
|
||||
We will remove o266player list, if no new commits than one year.
|
||||
|
||||
# VLC o266player (Windows only, Mac OS will be later)
|
||||
# VLC o266player (Windows only, Mac OS will be later) (closed-source decoder)
|
||||
|
||||
For more information about o266player.
|
||||
|
||||
See [o266player.md](https://github.com/MartinEesmaa/VVCEasy/blob/master/o266player.md).
|
||||
See [o266player.md](o266player.md).
|
||||
|
||||
# Bitmovin VVDec Player
|
||||
|
||||
For more information about Bitmovin VVDec Player.
|
||||
|
||||
See [Bitmovin.md](https://github.com/MartinEesmaa/VVCEasy/blob/master/Bitmovin.md).
|
||||
See [Bitmovin.md](Bitmovin.md).
|
||||
|
||||
# FFmpeg VVDEC support
|
||||
# FFmpeg VVENC & VVDEC support
|
||||
|
||||
FFmpeg VVC Decoder supports of Windows, Mac and Linux.
|
||||
FFmpeg VVC Encoder & Decoder supports of Windows, Mac and Linux.
|
||||
|
||||
See [FFMPEGVVC.md](https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md).
|
||||
See [FFMPEGVVC.md](FFMPEGVVC.md).
|
||||
|
||||
# MPV OpenVVC support (Android only)
|
||||
# MPV libvvdec support (Windows x64/Android only)
|
||||
|
||||
MPV OpenVVC Decoder supports only of Android.
|
||||
MPV libvvdec Decoder supports only of Windows x64 & Android.
|
||||
|
||||
Only VVC file can play, but merged .mp4 is black screen, so you need external sound from vvc video codec, if necessary.
|
||||
The VVC and MP4 muxed with VVC codec can be played on MPV libvvdec version. Only MP4 muxed with VVC supports seek.
|
||||
|
||||
See [MPV.md](https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md).
|
||||
See [MPV.md](MPV.md).
|
||||
|
||||
# Compile for VVCEasy
|
||||
|
||||
@ -133,7 +134,7 @@ Inno Setup link: https://jrsoftware.org/isdl.php
|
||||
Step 1: Clone VVCEasy git and open VVCEasy_compiler.iss
|
||||
```
|
||||
cd %userprofile%\Downloads
|
||||
git clone https://github.com/MartinEesmaa/VVCEasy.git
|
||||
git clone https://github.com/MartinEesmaa/VVCEasy && cd VVCEasy
|
||||
VVCEasy_compiler.iss
|
||||
```
|
||||
|
||||
@ -152,7 +153,7 @@ Link: https://dotnet.microsoft.com/en-us/download
|
||||
|
||||
Step 1: Clone git and cd VVCEasy
|
||||
```
|
||||
git clone https://github.com/MartinEesmaa/VVCEasy.git && cd VVCEasy
|
||||
git clone https://github.com/MartinEesmaa/VVCEasy && cd VVCEasy
|
||||
```
|
||||
|
||||
Step 2: Before you build, make sure to build and test it. Don't worry, when you build with .NET, it will restore project and build.
|
||||
@ -216,17 +217,23 @@ ffmpeg -i input.mp4 -pix_fmt yuv420p -strict 1 inputtranscode.yuv
|
||||
|
||||
For Y4M transcode (lossless from uncompressed video files, only 8 bit):
|
||||
```
|
||||
ffmpeg -i input.mp4 -pix_fmt yuv420p -strict 1 inputtranscode.y4m
|
||||
ffmpeg -i input.mp4 -pix_fmt yuv420p -c:v wrapped_avframe -strict 1 inputtranscode.y4m
|
||||
```
|
||||
|
||||
Verify uncompressed video using ffplay before encode to VVENC (important replace video size, otherwise it will not correctly show video, it's like scrambled eggs video):
|
||||
```
|
||||
ffplay -i inputtranscode.yuv -video_size 1280x720
|
||||
ffplay inputtranscode.yuv -video_size 1280x720
|
||||
```
|
||||
|
||||
Default pixel format of ffplay for yuv and y4m is yuv420p without `-pix_fmt` command.
|
||||
|
||||
For y4m videos, replace `-i inputtranscode.yuv` with `-i inputtranscode.y4m`. For yuv420p10 on your input video 10 bit, add `-pix_fmt yuv420p10`.
|
||||
For y4m, replace `-i inputtranscode.yuv` with `-i inputtranscode.y4m`. In `-c:v wrapped_avframe` for y4m only, so you can verify to play Y4M (wrapped_avframe) for VLC, FFplay or MPV player. For yuv420p10 on your input video 10 bit, add `-pix_fmt yuv420p10`.
|
||||
|
||||
Playing ffplay for y4m video with wrapped_avframe, you don't need to put anything commands, just simple play this:
|
||||
|
||||
```
|
||||
ffplay transcoded.y4m
|
||||
```
|
||||
|
||||
For easy to verify YUV/Y4M, use YUView, open your YUV or Y4M encoded, make sure video size, YUV/Y4M format and frame rate same like from input video file (e.g. MP4, AVI, MKV and others.
|
||||
|
||||
@ -235,7 +242,13 @@ Encode with VVENC (Simple settings, example)
|
||||
```
|
||||
vvencapp -i out.yuv -s 854x480 -r 30 -o vvc.266
|
||||
```
|
||||
-s means video size, -r means frame per second and -o means output. Note: (Simple) as Default settings is YUV420P (8-bit)
|
||||
`-s` means video size, `-r` means frame per second and `-o` means output. Note: (Simple) as Default settings is YUV420P (8-bit)
|
||||
|
||||
TIP: You could do alternative without taking much disk space for uncompressed video:
|
||||
|
||||
```
|
||||
ffmpeg -i example.mp4 -pix_fmt yuv420p -f rawvideo - | vvencapp -i - -s 1920x1080 -r 25 --preset medium --qp 35 -o converted.266
|
||||
```
|
||||
|
||||
**WARNING: If you encode from yuv/y4m of your frame rate is 11.988, 14.985, 23.976, 29.970 or 59.940 FPS, replace this command -r by --fps.**
|
||||
|
||||
@ -249,20 +262,22 @@ vvencapp -i out.yuv -s 854x480 -r 30 -o vvc.266
|
||||
|
||||
59.940 fps = `--fps 60000/1001`
|
||||
|
||||
The default of VVENC: Constant Quality is 32 and speed is medium.
|
||||
If you want to get smaller video size and lossy video, add --qp 38. (Not recommended)
|
||||
If you want to get lossless video without losing quality (minimum loss quality), use CQ 16-19 and preset slow (optional slower). (Recommended, only Y4M, Raw and Uncompressed video files)
|
||||
The default of VVENC: Quantization Parameter is 32 and preset is medium.
|
||||
|
||||
If you want to get smaller video size and lossy video, add `--qp 38`. (for web video or anything)
|
||||
|
||||
If you want to get lossless video without losing quality (visually lossless, minimum loss quality), use QP 16-19 and preset slow (optional slower). (Recommended for movies, camera footages or anything)
|
||||
|
||||
Lossy video/Smallest video size:
|
||||
```
|
||||
vvencapp --qp 38 -i out.yuv -s 854x480 -r 30 -o vvc.266
|
||||
```
|
||||
|
||||
**NOTE: If you want have true lossless on your video, please visit [FFV1](http://ffv1.org) or H.264 Lossless video codec**
|
||||
**NOTE 1: If you want have true lossless on your video, please visit [FFV1](http://ffv1.org) or H.264 Lossless video codec**
|
||||
|
||||
**NOTE 2: VVENC does not support lossless.**
|
||||
**NOTE 1.1: VVENC does not support lossless.**
|
||||
|
||||
Lossless video (minimum loss quality, only Y4M, Raw, Uncompressed video used) (or compress smaller than preset slow, use --preset slower):
|
||||
Lossless video (visually lossless) (or compress smaller than preset slow, use --preset slower):
|
||||
```
|
||||
vvencapp --qp 18 -i out.yuv -s 854x480 -r 30 --preset slow -o vvc.266
|
||||
```
|
||||
@ -271,7 +286,7 @@ For Apple Mac OS and Linux terminal users: Command with `./vvencapp`
|
||||
|
||||
For Windows Users using Windows PowerShell: Command with `.\vvencapp`
|
||||
|
||||
Encode with VVENC (Best settings (lossless only of Y4M, Raw and Uncompressed video files), replace video size (-s), framerate (-r) and maximize threads of your cores (--threads), example) (Minimum loss quality) If you want true lossless video, use FFV1 latest version 3.4. (Necessary make smaller file slower than preset slow, use --preset slower)
|
||||
Encode with VVENC (Best settings (visually lossless), replace video size (`-s`), framerate (`-r`) and maximize threads of your cores (`--threads`), example) (Minimum loss quality) If you want true lossless video, use FFV1 latest version 3.4. (Necessary make smaller file (slower) than preset slow, use `--preset slower`)
|
||||
```
|
||||
vvencapp --qp 18 -i out.yuv -s 854x480 -r 30 --preset slow --threads 16 --tier high -o EXTREME.266
|
||||
```
|
||||
@ -285,9 +300,6 @@ Note to 8-bit Y4M users: It is only from input video (8-bit) to Y4M (8 bit)
|
||||
After VVEnc, you can play in YUView of latest version.
|
||||
Drag any your video file of .h266, .266 or .vvc to play. YUView will play your video only about 10 seconds’ limit.
|
||||
|
||||
UPDATE 13th December 2021: VLC Media Player (custom VLC build of o266player, 3.0.11.1 Vetenari, Windows 11) is tested by Martin Eesmaa. It can play only about 600 frames limit / 20+ seconds.
|
||||

|
||||
|
||||
If you are still not happy about VVC (known as Versatile Video Coding), that you think is too hard to encode and decode, use AOMEDIA ONE (AV1) that is recommended for most users to easily play VLC Media Player and others. VVC should need played on VLC Media Player in future.
|
||||
|
||||
# Compatibility results (VVENC AND VVDEC) TESTED BY MARTIN EESMAA
|
||||
@ -312,7 +324,7 @@ Well yes... it takes longer time to make VVCEasy easier, but VVCEasy is not yet
|
||||
Is it okay to bring my proof screenshots of errors?
|
||||
I allow you to bring error screenshots, you can bring proof. More proofs, easier to solve it.
|
||||
|
||||
My question is not listed on FAQ. Can I ask any question?
|
||||
My question is not listed on FAQ. Can I ask any question to you?
|
||||
Sure, just go to Issues tab, ask questions or/and give your issue to me.
|
||||
|
||||
Do you know what you have skills in your programming?
|
||||
@ -378,7 +390,7 @@ License: LGPL-2.1
|
||||
|
||||
[FFmpeg](https://github.com/FFmpeg/FFmpeg) - Mirror of https://git.ffmpeg.org/ffmpeg.git
|
||||
|
||||
VVC developers & forkers: [lehmann-c](https://github.com/lehmann-c) and [tbiat](https://github.com/tbiat)
|
||||
VVC developers & forkers: [lehmann-c](https://github.com/lehmann-c), [tbiat](https://github.com/tbiat) and [Isabelle Santin](https://github.com/IsaMorphic)
|
||||
|
||||
License: LGPL-2.1+ & GPL-2.0+
|
||||
|
||||
|
@ -14,4 +14,8 @@ LinkedIn: https://www.linkedin.com/in/martin-eesmaa-4b355587/
|
||||
|
||||
Wikipedia: [MartinHero13](https://en.wikipedia.org/wiki/User:MartinHero13)
|
||||
|
||||
Imgur: [MartinHero13](https://imgur.com/user/MartinHero13)
|
||||
|
||||
Doom9 Forum: [MartinEesmaa](https://forum.doom9.org/member.php?u=248978)
|
||||
|
||||
- Martin Eesmaa
|
||||
|
@ -8,4 +8,8 @@ See the lists:
|
||||
|
||||
- ありがとう, ネクストスケープ (delsoladmin)! [NEXTSPACE Streaming Tech Blog](https://media-streaming.nextscape.net/blog/1153/)
|
||||
|
||||
- Thank you, Doom9 Forum Community! [VVCEasy search posts of Doom9](https://forum.doom9.org/search.php?searchid=9418447)
|
||||
|
||||
- Danke, LigH (@LigH-de)! [My issue mention of xHE-AAC](https://forum.doom9.org/showthread.php?p=1970068&highlight=Martin+Eesmaa#post1970068)
|
||||
|
||||
- Martin Eesmaa (@MartinEesmaa)
|
||||
|
44
VVCEasy.bat
44
VVCEasy.bat
@ -42,7 +42,8 @@ goto welcomenow
|
||||
cls
|
||||
title Martin Eesmaa / VVCEasy
|
||||
echo Martin Eesmaa / VVCEasy
|
||||
echo Welcome to VVCEasy. (Batchfile Beta Version, v.0.9.0)
|
||||
echo Welcome to VVCEasy. (Batchfile Release Version, v.1.0.1, 2 July 2022)
|
||||
echo Version codename: Summer time for fun.
|
||||
pause
|
||||
goto start
|
||||
|
||||
@ -50,7 +51,8 @@ goto start
|
||||
title Martin Eesmaa / VVCEasy
|
||||
color 07
|
||||
cls
|
||||
echo VVCEasy (Batchfile Beta Version, v.0.9.0)
|
||||
echo VVCEasy (Batchfile Release Version, v.1.0.1, 2 July 2022)
|
||||
echo echo Version codename: Summer time for fun.
|
||||
echo.
|
||||
echo What would you like to do for encode/decode of VVC?
|
||||
echo 1. Encode
|
||||
@ -62,9 +64,10 @@ echo 6. Install quickly through Anaconda (Python distribution) for ffmpeg (Windo
|
||||
echo 7. Install/Update VVdec Web Player
|
||||
echo 8. Decompress WindowsVVC.7z (Before you use new VVCEasy version!!!)
|
||||
echo 9. Install vvDecPlayer from BitMovin
|
||||
echo 10. Install VLC VTM Plugins (Windows/Linux x64 of VLC, plugins by Inter Digital Inc)
|
||||
echo 10. Install/Update VLC VTM Plugins (Windows/Linux x64 of VLC plugins by Inter Digital Inc)
|
||||
echo 11. Install FFmpeg VVDec support
|
||||
echo 12. Install MPV Android (OpenVVC plugin)
|
||||
echo 12. Install MPV Windows/Android (libvvdec plugin)
|
||||
echo 13. Tests of VVC videos
|
||||
set /p VVCSTART=Number:
|
||||
if %VVCSTART% == 1 goto encodestart
|
||||
if %VVCSTART% == 2 goto decodestart
|
||||
@ -78,6 +81,7 @@ if %VVCSTART% == 9 goto installbitmovin
|
||||
if %VVCSTART% == 10 goto vlcvtmplugininstall
|
||||
if %VVCSTART% == 11 goto vvdecffmpeg
|
||||
if %VVCSTART% == 12 goto mpvandroidvvc
|
||||
if %VVCSTART% == 13 goto testsofvideo
|
||||
|
||||
:encodestart
|
||||
title Encode to VVC
|
||||
@ -416,7 +420,8 @@ del /q BitVVDecPlayerWIN.7z
|
||||
vvDecPlayer
|
||||
echo Successfully running on BitVVDecPlayer, now if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
|
||||
echo If you receive error, that MSVCP140.DLL is missing, you might need download Microsoft Visual C++ Redistributable of 2015-2017-2019-2022: https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
|
||||
echo Or contact Bitmovin at https://www.bitmovin.com.
|
||||
echo To build vvDecPlayer, please go to https://github.com/bitmovin/vvDecPlayer
|
||||
echo Or contact Bitmovin at https://www.bitmovin.com or create issue on VVCEasy.
|
||||
goto downloadbitmovinvvcsample
|
||||
|
||||
:installbitmovin1macos
|
||||
@ -431,7 +436,9 @@ del /q BitVVDecPlayerMAC.7z
|
||||
./vvDecPlayer
|
||||
echo Successfully running on vvDecPlayer, now if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
|
||||
echo If vvDecPlayer won't work probably, it might be issue that you haven't installed Qt on your Mac OS. Please install using code: "brew install qt" on Homebrew.
|
||||
echo Or contact Bitmovin at https://www.bitmovin.com.
|
||||
echo To build vvDecPlayer, please go to https://github.com/bitmovin/vvDecPlayer
|
||||
echo Or contact Bitmovin at https://www.bitmovin.com or create issue on VVCEasy.
|
||||
echo For more information, see Bitmovin.md.
|
||||
goto downloadbitmovinvvcsample
|
||||
|
||||
:installbitmovin1linux
|
||||
@ -445,12 +452,11 @@ wget https://www.dropbox.com/s/bihm3pyh21lcvte/BitVVDecPlayerLINUX.7z?dl=0
|
||||
del /q BitVVDecPlayerLINUX.7z
|
||||
./vvDecPlayer
|
||||
echo Successfully running on vvDecPlayer, now if you have any problems, please go to Bitmovin/vvDecPlayer issues of https://github.com/bitmovin/vvDecPlayer/issues
|
||||
echo You might get this message error, that you can't run vvDecPlayer without Qt framework:
|
||||
echo ./vvDecPlayer: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./vvDecPlayer)
|
||||
echo ./vvDecPlayer: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./vvDecPlayer)
|
||||
echo ./vvDecPlayer: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.12' not found (required by ./vvDecPlayer)
|
||||
echo Note, this is only Ubuntu 20.04 LTS build.
|
||||
echo If you're running other Linux without Ubuntu 20.04, you might need to read Bitmovin.md instructions and build vvDecPlayer yourself.
|
||||
echo To build vvDecPlayer, please go to https://github.com/bitmovin/vvDecPlayer
|
||||
echo If vvDecPlayer won't work probably, it might be issue that you haven't installed Qt on your Linux. Please install using code: "sudo apt install qt5-default build-essential" on Linux terminal.
|
||||
echo Or contact Bitmovin at https://www.bitmovin.com.
|
||||
echo Or contact Bitmovin at https://www.bitmovin.com or create issue on VVCEasy.
|
||||
goto downloadbitmovinvvcsample
|
||||
|
||||
:downloadbitmovinvvcsample
|
||||
@ -501,9 +507,9 @@ if %vlcvtmyesorno% == n goto start
|
||||
title Installing of VLC VTM Plugins by Inter Digital Inc... (Compiled by Martin Eesmaa)
|
||||
echo Installing VLC VTM Plugins by Inter Digital Inc... (Compiled by Martin Eesmaa)
|
||||
cd INSTALLVLCPLUGIN
|
||||
copy libvtmdec.dll "%programfiles%\VideoLAN\VLC\plugins\codec"
|
||||
copy libvvcdecoder_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\codec"
|
||||
copy libvvctsdemux_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\demux"
|
||||
copy libvtmdec.dll "%programfiles%\VideoLAN\VLC\plugins\codec" /y
|
||||
copy libvvcdecoder_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\codec" /y
|
||||
copy libvvctsdemux_plugin.dll "%programfiles%\VideoLAN\VLC\plugins\demux" /y
|
||||
cd ../
|
||||
taskkill /im vlc.exe
|
||||
echo Three dll files are patched to your VLC Media Player.
|
||||
@ -546,6 +552,16 @@ MPV.md
|
||||
echo.
|
||||
echo See information MPV.md or online Github: https://github.com/MartinEesmaa/VVCEasy/blob/master/MPV.md
|
||||
echo.
|
||||
echo Press enter to go back main menu.
|
||||
pause
|
||||
goto start
|
||||
|
||||
:testsofvideo
|
||||
echo Please see the paragraph in README.md.
|
||||
echo https://github.com/MartinEesmaa/VVCEasy/#tests-of-vvc-videos
|
||||
echo.
|
||||
echo See information on FFMPEGVVC.md or online GitHub: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md
|
||||
echo.
|
||||
echo Press enter to go back menu.
|
||||
pause
|
||||
goto start
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
1ac79ae1553e5e52f7fdf0e3d952d6755b39a1a480f1279eb858543b5d0adc34 vvdecapp.exe
|
||||
ed0e90795b04ea4a906e09772dad20c555f0658a5904b7f5a89272d34a424d8e vvencapp.exe
|
||||
9c08748131220e382b03f911fa62e62b580bcbbd5792477c1932f0666622f56d vvencFFapp.exe
|
||||
ae6570cbd021ca079b0eb2ac064e414cb6c054108c6a84f68003351df4c0aedc vvencinterfacetest.exe
|
||||
6b01073ff7b402db159cbe0cae566b2f58ee98e1dca752d543599210413fb8fb vvenclibtest.exe
|
||||
26071beb1006498b9e4dd505a55012373ff82ce54a29bd7757c89b3e5383d089 WindowsVVC.7z
|
||||
54c2e747436c2a8c5d40036df289d979d56cab5a3b7b7381e58195888efab195 vvdecapp.exe
|
||||
e612f90582a2f0717bf39055947d7ee8ff055c00773e57be75555b8eb879e020 vvencapp.exe
|
||||
2212d35daa3b3eee943e273c6479de46682bf5d555e1d52135a27cfcdc8b2b6b vvencFFapp.exe
|
||||
a4d8acc6c5c6cfc8261b5f75c416db2b1411aaf505bb1f805ef1d8a8c6bceec1 vvencinterfacetest.exe
|
||||
c0b1ddcfbb0a34de06141c403f91965916d232c70db8746ea3a27a66efbf38a8 vvenclibtest.exe
|
||||
a362e72978ec26bbd8dd8fb33d17b07ad262ef9106cded754746f6acb68fe6c3 WindowsVVC.7z
|
||||
|
@ -1,15 +1,22 @@
|
||||
#!/bin/bash
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
sudo apt install libxml2 libsdl2-dev libx264-dev libx265-dev libvpx-dev -y
|
||||
sudo apt install libxml2 libsdl2-dev libx264-dev libx265-dev libvpx-dev libopus-dev -y
|
||||
echo Downloading libvvdec...
|
||||
cd ~/Downloads
|
||||
git clone https://github.com/fraunhoferhhi/vvdec.git
|
||||
mkdir buildforlinux
|
||||
cd buildforlinux
|
||||
git clone https://github.com/fraunhoferhhi/vvenc
|
||||
git clone https://github.com/fraunhoferhhi/vvdec
|
||||
cd vvenc
|
||||
make install install-prefix=/usr/local
|
||||
cd ../
|
||||
cd vvdec
|
||||
make install install-prefix=/usr/local
|
||||
cd ../
|
||||
echo Downloading FFmpeg with VVC support
|
||||
git clone https://github.com/lehmann-c/FFmpeg.git
|
||||
git clone https://github.com/tbiat/FFmpeg
|
||||
cd FFmpeg
|
||||
./configure --enable-libvvdec --enable-pic --enable-libxml2 --enable-libx264 --enable-libx265 --enable-libvpx && make -j
|
||||
./configure --enable-libvvenc --enable-libvvdec --enable-pic --enable-libxml2 --enable-libx264 --enable-libx265 --enable-libvpx --enable-libopus
|
||||
make -j
|
||||
echo You're ready to preview VVC, view VVC information or convert from VVC using ffmpeg, ffplay and ffprobe.
|
||||
echo - Martin Eesmaa
|
||||
|
@ -39,4 +39,7 @@ Reminder: Some operating systems are working to load VVC video format in Virtual
|
||||
|
||||
If your operating system is working to decode VVC video format like you're running on Windows 10, please fork this repository, edit README and make pull request of my original repository from your forked repository. Screenshot must be required winver and VLC Media Player (custom build of o266player)
|
||||
|
||||
UPDATE 13th December 2021: VLC Media Player (custom VLC build of o266player, 3.0.11.1 Vetenari, Windows 11) is tested by Martin Eesmaa. It can play only about 600 frames limit / 20+ seconds.
|
||||

|
||||
|
||||
- Martin Eesmaa
|
||||
|
11
openvvc.sh
11
openvvc.sh
@ -2,19 +2,16 @@
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
echo Downloading OpenVVC...
|
||||
cd ~/Downloads
|
||||
mkdir OpenVVC && cd OpenVVC
|
||||
git clone https://github.com/OpenVVC/OpenVVC.git
|
||||
mkdir OpenVVCbuild && cd OpenVVCbuild
|
||||
git clone https://github.com/OpenVVC/OpenVVC
|
||||
echo Configuring, making and installing of OpenVVC on your computer...
|
||||
cd OpenVVC
|
||||
./configure && make && sudo make install
|
||||
cd ../
|
||||
echo Downloading FFmpeg with OpenVVC support...
|
||||
git clone https://github.com/OpenVVC/FFmpeg.git
|
||||
git clone --depth=1 https://github.com/tbiat/FFmpeg
|
||||
cd FFmpeg
|
||||
echo Configuring and making of FFmpeg with OpenVVC support...
|
||||
echo One more thing to do is type code to finish it:
|
||||
echo export LD_LIBRARY_PATH=~/Downloads/OpenVVC/OpenVVC/install/lib
|
||||
echo export PKG_CONFIG_PATH=~/Downloads/OpenVVC/OpenVVC/install/lib/pkgconfig
|
||||
echo ./configure && make -j
|
||||
./configure --enable-libopenvvc && make -j
|
||||
echo Once you typed code, you're ready to preview VVC, view VVC information or convert from VVC using ffmpeg, ffplay and ffprobe.
|
||||
echo - Martin Eesmaa
|
||||
|
Reference in New Issue
Block a user