Video Component

Here’s a component that will play video in Noodl.
Video Example.zip (375.4 KB)

Since Noodl is running in a browser there are some limitations:

  • It doesn’t run on iOS. iOS want’s to control the video experience on the web and requires a DOM node (we use WebGL or Canvas 2D), and it always uses quicktime with the standard iOS video controls for play/pause/fullscreen and won’t auto play video. It doesn’t allow the browser to do much customization. Guessing Apple wants to prevent bad UX with video ads.

  • Works on some, but not all, Android phones. Some work with Canvas 2D but not with WebGL (you can change between those in project settings)

  • Works well in desktop browsers, but they all support different codecs on different platforms. A video might work in Chrome, but not in Firefox, or the other way around.

  • Video in combination with WebGL and Canvas makes the CPU sweat.

1 Like

Great component, works like a charm (Tried on Windows 8.1)!

1 Like

What would be a good way to modify this for running a video only once? or any number for desired times?

I’ve tried checking for duration >= lenght but the clause gets executed too late (after the video has already started looping).

Thanks!

Ooops, missed the video.loop in the JS node. nevermind :slight_smile:

1 Like

and so the next question would be. How do I send out a signal if the video has ended? I seem to get it to work only 2 times. And then everything stops.

I’m trying to get it out with:

video.addEventListener("ended", function(){
    self.sendSignalOnOutput("videoEnded");
    video.currentTime = 0.00;
    video.pause();
});

alas, without success :frowning:

Oh, and in addition to that, is there a way to get rid of the ‘flicker’ in a looping video when jumping from end to beginning?

Thanks!