InterDigitalInc / VTMDecoder_VLCPlugin

VVC decoder plugin for VLC based on a multithreaded VTM
GNU Lesser General Public License v2.1
21 stars 1 forks source link

Add supported containers to play vvc codec of file #7

Open MartinEesmaa opened 2 years ago

MartinEesmaa commented 2 years ago

Hello, @FabriceUrban! I would like my pull request to review code:

Example link: https://www.elecard.com/storage/video/Traffic_1920x1080.webm

Playing .webm (vvc codec) will play automatically of vvc codec. Normally .webm (like AV1 codec) will also play automatically of av1 codec.

.webm, .mp4, .vvc, .mkv and .m4v can also detect VVC codec, else detects other codecs as well too.

Tested on Windows and Linux.

See screenshot: fixedcontainerofvlcvtmdecoder

FabriceUrban commented 2 years ago

The demux VvcDecoder::OpenDemux is only a raw file demuxer. it doesn't actually demux anything. My guess is that the VVC stream is extracted with the starting codes, and simply discards whatever webm is inserting. Try muxing with some sound, It will most probably crash, maybe just play video, or just play sound. For demuxing some container with VVC stream, I thing the container demux has to be updated with VVC.

MartinEesmaa commented 2 years ago

@FabriceUrban, I tried muxed VVC video with MP4 container after mp4box mux with VLC Media Player with your plugin, but it did not display video. If I seek the video, the application might crash. The audio worked pretty well with VVC muxed video with mp4 The problem is vvc1 codec does not show video of VLC Media Player, only normally non-muxed h266 codec is working fine for me, it's very different than vvc1 codec. It might be problem with libvtmdec.

MartinEesmaa commented 2 years ago

I disabled video track of vvc1 codec, because the audio and seek is working of vvc muxed video. For enabling video track back, it did not work to show vvc muxed mp4 unless I seek duration, it will crash. VVDec is different than VTM, see vvdec seek support: https://github.com/tbiat/FFmpeg/commit/7947147e20130d45aee808e424393792d020a9d1

FabriceUrban commented 2 years ago

Yes, seek is not supported in the plugin, crash is expected.