173 lines
6.8 KiB
Markdown
173 lines
6.8 KiB
Markdown
![vlc-media-player-2-569258-4168599479](https://user-images.githubusercontent.com/88035011/175112324-06a64145-ff1a-43f0-adac-a1aeb9ce770a.png)
|
|
|
|
# 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 (e.g., 3.0.17.4). VLC 4.0.0-dev or below than version 3 won't work.
|
|
|
|
To install Inter Digital VLC VTM Decoder Plugin, you need VLC Media Player latest version installed on your computer and supported 64-bit.
|
|
|
|
Step 1: Copy libvtmdec.dll and libvvcdecoder_plugin.dll into your VLC Media Player folder following folder: VLC/plugins/codec
|
|
|
|
C:\Program Files\VideoLAN\VLC\plugins\codec
|
|
|
|
Step 2: Copy libvvctsdemux_plugin.dll into your VLC Media Player folder following: VLC/plugins/demux
|
|
|
|
C:\Program Files\VideoLAN\VLC\plugins\demux
|
|
|
|
Step 3: Enjoy and play your h266 file into your VLC Media Player :).
|
|
|
|
### For Linux users
|
|
|
|
Open terminal and copy code:
|
|
```
|
|
sudo cp libvvcdecoder_plugin.so 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:
|
|
```
|
|
sudo cp libvvcdecoder_plugin.so libvtmdec.so /snap/vlc/2344/usr/lib/vlc/plugins/codec
|
|
sudo cp libvctsdemux_plugin.so /snap/vlc/2344/usr/lib/vlc/plugins/demux
|
|
```
|
|
Preview:
|
|
|
|
![preview](vvceasylinuxvlc.png)
|
|
|
|
# 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 Win64 3.0.9.2](https://download.videolan.org/pub/vlc/3.0.9.2/win64/) or [latest version](https://download.videolan.org/pub/vlc) (choose zip or 7z only), VLC source files .tar.xz, [libvtmdec](https://vcgit.hhi.fraunhofer.de/delagrangep/VVCSoftware_VTM/-/tree/VTM-22.2-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.
|
|
|
|
![vscodethelinecommentvlcthreads](https://user-images.githubusercontent.com/88035011/175109219-6ea70dc4-b696-4045-a071-ef1306bc9634.png)
|
|
|
|
Build Decoder Plugin, see screenshot of CMAKE GUI:
|
|
|
|
![decoderplugin](https://user-images.githubusercontent.com/88035011/175105846-646ab744-ef1f-45b3-a084-a2f7ad3464a2.png)
|
|
|
|
Before building TS demuxer plugin, please download source code of VLC 3.0.9.2 or latest version following .tar.xz file container and decompress to vlc-3.0.9.2/src or latest version like example vlc-3.0.2.0/src:
|
|
|
|
https://download.videolan.org/pub/vlc/3.0.9.2/vlc-3.0.9.2.tar.xz
|
|
|
|
For latest version, you need to find latest version by looking ascending:
|
|
|
|
https://download.videolan.org/pub/vlc
|
|
|
|
Build TS Demuxer Plugin, see screenshot of CMAKE GUI:
|
|
|
|
![tsdemuxplugin](https://user-images.githubusercontent.com/88035011/175105943-1f9e41ad-2f20-451c-9123-f163252c7106.png)
|
|
|
|
### Linux
|
|
|
|
You need CMAKE GUI, build-essentials, VLC SDK (you have to get from Windows build of 7z or zip compressed file that contains `sdk/lib` and `sdk/include` folders), [libvtmdec](https://vcgit.hhi.fraunhofer.de/delagrangep/VVCSoftware_VTM/-/tree/VTM-22.2-MT) sources, dvbpsi source and VLC source files of the desktop version. You need to modify vlc_threads.h, before compile.
|
|
|
|
Please double-click downloaded compressed file and decompress VLC Windows SDK build to anywhere folder for example "~/vlc-3.0.9.2" or you can use CLI like 7-Zip `7z x vlc-3.0.9.2-win64.7z -o$HOME`.
|
|
|
|
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.
|
|
|
|
![vscodethelinecommentvlcthreads](https://user-images.githubusercontent.com/88035011/175109219-6ea70dc4-b696-4045-a071-ef1306bc9634.png)
|
|
|
|
libvtmdec build:
|
|
Compiled file could be found in lib folder in libvtmdec.
|
|
|
|
```
|
|
mkdir build && cd build
|
|
cmake -DCMAKE_BUILD_TYPE=Release ..
|
|
make -j
|
|
```
|
|
|
|
Before build Decoder Plugin, you need to find libvlccore in Linux.
|
|
|
|
### Option 1 (recommended):
|
|
|
|
To find libvlccore, you can simply install VLC by your package distribution like apt, pacman or Snap.
|
|
|
|
Most Linux package version can be found libvlccore:
|
|
|
|
```
|
|
/usr/lib/x86_64-linux-gnu/libvlccore.so.9.0.0
|
|
```
|
|
|
|
On Snap store version, the latest version of VLC can be found, but the numbers are different:
|
|
|
|
```
|
|
/snap/vlc/3777/usr/lib/libvlccore.so.9.0.1
|
|
```
|
|
|
|
If you can't find it, you can find libvlccore on `/` folder.
|
|
|
|
```
|
|
sudo find / -type f -name 'libvlccore.so*'
|
|
```
|
|
|
|
You can pick Linux package or Snap version, if unsure pick Linux package standalone or only that you installed on Linux package or Snap version.
|
|
|
|
Once you've found,
|
|
|
|
### Option 2 (optional):
|
|
|
|
If you don't want to find libvlccore and you don't want to get libvlccore installed on Linux package or Snap package, you can build source code of VLC shipped inside libVLC.
|
|
|
|
Instructions can be found there of LibVLC:
|
|
|
|
https://wiki.videolan.org/LibVLC#Compiling
|
|
|
|
If option one or/and two didn't work, you can create issue to [VLC Forums](https://forum.videolan.org) or/and VVCEasy, so the VLC community or I/we can help you to solve your problem.
|
|
|
|
dvbpsi build requires of TS Demuxer Plugin:
|
|
|
|
```
|
|
./bootstrap
|
|
./configure --enable-release
|
|
make -j
|
|
sudo make install
|
|
```
|
|
|
|
Build Decoder Plugin, see screenshot of CMAKE GUI:
|
|
|
|
![decoderpluginlinux](https://user-images.githubusercontent.com/88035011/175110060-ee1cf4e3-de96-478b-9bb6-6e7d0e11a2bd.png)
|
|
|
|
Build TS Demuxer Plugin, see screenshot of CMAKE GUI:
|
|
|
|
![tsdemuxpluginlinux](https://user-images.githubusercontent.com/88035011/175110701-d9a87f9f-ab25-40b9-b070-9e53a712b372.png)
|
|
|
|
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
|
|
|
|
Copy code following:
|
|
```
|
|
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"
|
|
```
|
|
|
|
Note to VLC 4.0.0-dev users:
|
|
|
|
The VVC video file cannot loaded by newest version of VLC 4.0.0-dev, because it is nightly build and it's unstable.
|
|
|
|
For more information about VLC 4.0.0-dev see: https://www.theverge.com/2021/2/12/22279750/vlc-4-0-new-user-interface-videolan-media-player-video-music-movie-database-web-player
|
|
|
|
I tried to build two DLL files on VLC 4.0.0 SDK, but the compiler failed, so you must use VLC 3.0.9.2 or latest of VLC 3 version branch.
|
|
|
|
- Martin Eesmaa
|