Comment 64 for bug 1424201

Revision history for this message
In , Konstantin (hi-angel-z) wrote :

(In reply to Jean-Yves Avenard [:jya] from comment #51)

I shall say beforehand: I didn't have background in that area, so feel free to point out if I am wrong at anything.

> Can any of your standalone players manage decoding multiple videos at once
> on a canvas

 Both mplayer and VLC support many different surfaces; the most extreme one is "ascii" output, allowing one to watch video with no graphic at all. Canvas would just be such a surface.

> ;allow you to apply CSS transformation and transparency layers on the fly.
> Take a video element and move it around.

I think it would be done just as nowadays Compositors do. Transparency example: I can run a video in vlc, then to switch to another window; compositor makes VLC transparent. Transformation example: kwin and Compiz makes vlc window to wobble upon dragging it around.

The single purpose of a player is to play a video. Whatever happends with the surface later would determine browser, as compositors do in examples.

> Or record it while playing via simple JS code?

If I understood you right, you want to either α) redirect video to multiple surfaces, or β) stream as usual to canvas, and to additionally record whatever there to a file.

> Or stream it via WebRTC

The same as previous: e.g. additionally output a surface to an IP.

> The level of complexity is several order of magnitude greater.
> The issue isn't much about the hardware decoding part. It's the ability to
> render the decoded video in hardware.

Sorry, I'm not sure I understood you: isn't "hardware decoding part" is the "ability to render the decoded video in hardware"?

> Currently hardware accelerated layers aren't yet enabled on Linux. It will
> be soon. Once this is done, we will start working on hardware decoding. I
> have a personal timeline of a couple of months to get this done

Honestly, I think video acceleration should have higher priority than acceleration of layers. Because whilst browsing without layers acceleration is mostly fine, watching video isn't. If I'm trying to watch on youtube anything 1920×1080 and higher, I'm getting full CPU load, and lags on Firefox, though my CPU is Core i5.