AprilAndFriends / theoraplayer

A multi-threaded C++ library that plays video files supporting multiple codecs across platforms. Easy to use, fast, responsive, abstract interface and minimal dependencies, you'll soon be wondering how you lived without it! ;) Audio and Video interfaces are completely abstracted so the library can be used anywhere, regardless of what you use to display video frames and play audio samples (eg. OpenGL / OpenAL, Direct3D / DirectSound?, SDL / SDL_mixer, X11 / alsa ...) The library can pre-cache video frames and decoded audio samples for maximum efficiency and smooth playback, even on single-cpu systems. Currently, the library supports Theora on Windows, Mac, iOS, Linux, Android, WinRT and Windows Phone. H.264 is supported on Mac and iOS.
BSD 3-Clause "New" or "Revised" License
84 stars 43 forks source link

Not all WebM VP9 encoded files supported #17

Open AndriyAstakhov opened 7 years ago

AndriyAstakhov commented 7 years ago

Sample files: https://www.dropbox.com/sh/kvzxjsysyt98k0w/AADhYVREED6sm-62IGsqnYtta?dl=0 I've encode water.mov into WebM format with FFmpeg using this command line ffmpeg -y -i water.mov -c:v libvpx-vp9 -b:v 0 -crf 10 -an water_gbrp.webm This results with file that can be played by the library but all colors are corrupt. Using next command for encoding: ffmpeg -y -i water.mov -c:v libvpx-vp9 -b:v 0 -crf 10 -pix_fmt yuv420p -an water_yuv420p.webm produces file that plays correctly by the library.

MPC-HC (from https://www.codecguide.com/download_kl.htm) plays both files correctly and show next differences in file info: water_yuv420p.webm - vp9 profile 0, yuv420p water_gbrp.webm - vp9 profile 1, gbrp

Please note that I've tried Libvpx from Libtheoraplayer distribution and also build latest Libvpx from https://github.com/webmproject/libvpx/ separately. Since result is the same I think the problem somewhere in the Libtheoraplayer.

kspes commented 7 years ago

Hmm, we haven't finished webM integration fully. Just managed to get a "barely working" solution and then had to stop because of other project deadlines.

borisblizzard commented 7 years ago

WebM should work only for Win32 right now.

AndriyAstakhov commented 7 years ago

@kspes Since library version has been changed to 2.0 I've think that WebM is now fully integrated. Thanks for the info about current status, so we'll be with Theora for now. Nevertheless, when you'll return to WebM integration you know at least one issue :) @borisblizzard Yes, I've made builds for Win32 only.