VideoComponent - unsupported stream

Has anyone managed to get the VideoComponent to work? No matter what URL or file I’m giving it (mp4, mov, mpk, etc.) I received an “unsupported Stream” error.

I’m on Windows10, has anyone managed to get this to work?

Try installing DirectShow codec pack.

Not using Windows and not recommending anything - k-lite codec pack

Thanks for the link, but would this mean all users of my plugin would be forced to download a codec pack to load the video?

Just to take a step back, in case there’s a better approach: I’d like to offer animated tutorials / videos / images within my application, but as far as I know there’s no proper GIF support, and if I have to force users to download and install codecs it’s not really viable.

The only other Idea I had was to use WebView2 to show web videos but in Windows we’re still forced to either include the runtime in our app (150mb!) or make them download it at runtime, not super ideal.

Encode videos to format/codec which are supported by DirectShow on Windows 10.

If you are familiar with ffmpeg you can try encoding to AVI file format - see FFmpeg Wiki.

Ah I see… thanks for the tip. I tried loading an AVI and now I’m getting an “Unknown error”. It seems to fail in juce.win32_video.h and my ability to trace stops here. I guess I’ll try digging around the windows docs to see if there’s anything else I can do.

The problem is that AVI is just a container (exactly like MPEG-4) for audio/video data but different codecs can be used for encoding. Microsoft lists here containers/codecs which are supported by default in their systems:

I guess MPEG-4 with H263 codec would be ok and will work on most platforms (I released an application which generates such videos using platform specific rendering engines and have no complaints).

Oh interesting, thank you! I’m very uneducated in the subject and this particular rabbit hole runs deeper than I expected. I’ll mess around with encoding some videos and see if I can get it to work.

Thanks again guys for all the useful info!

I went once this road and it’s indeed a rabbit hole. Codecs themselves can have a lot of parameters, options etc. so personally I would save time and find a simplest working solution. I was checking if movies encoded by my app could be played on all available systems and that was it (I am not an expert in video encoding, just had to do it).