linux-show-player icon indicating copy to clipboard operation
linux-show-player copied to clipboard

Video Support including Fading

Open tobi08151405 opened this issue 8 months ago • 5 comments

Extension of Basic Video Support

This PR builds upon #333 .

This PR provides:

  • Fade of video cues using the "Alpha" plugin
  • System sink expanded to also use autovideosink
  • Automatic adjustment and linking in the pipeline for audio-/video- and audiovideo-cues

TODO

  • [x] Fade of Audio and Video currently happen after eachother not concurrently
  • [x] adjust other video parameters (brightness, contrast, etc)
  • [ ] most of the TODOs from #333

tobi08151405 avatar Apr 11 '25 13:04 tobi08151405

@FrancescoCeruti I could not figure out how to let the fade of audio and video happen simultaneously when fading a Media with Audio an Video. I marked the functions as async, but that did not help. (See lisp/cues/media_cue.py)

tobi08151405 avatar Apr 11 '25 19:04 tobi08151405

@tobi08151405 since Fader.fade() is blocking, you cannot simply iterate over them, or they will run sequentially. async is a whole different world.

What I would do is one of these two:

  • refactor BaseFader and subclasses to allow for multiple "targets" at the same time
  • create a FadersGroup class that can "orchestrate" multiple Fader objects, it should implement a fade() method that, using a ThreadPoolExecutor, can start the faders and wait for them to finish

FrancescoCeruti avatar Apr 11 '25 19:04 FrancescoCeruti

@tobi08151405 since Fader.fade() is blocking, you cannot simply iterate over them, or they will run sequentially. async is a whole different world.

What I would do is one of these two:

* refactor `BaseFader` and subclasses to allow for multiple "targets" at the same time

* create a `FadersGroup` class that can "orchestrate" multiple `Fader` objects, it should implement a fade() method that, using a `ThreadPoolExecutor`, can start the faders and wait for them to finish

I implemented a FaderGroup as suggested, I also refactored the whole alpha/fade pipeline which can be handled much easier

tobi08151405 avatar Apr 12 '25 17:04 tobi08151405

I now added a few basic video filters. And I also fixed up the review notes of #333 , without the separate pipelines, since I removed them in my branch

tobi08151405 avatar Apr 12 '25 21:04 tobi08151405

Could this be included in next version? This is a game changer :)

linuxnow avatar Jun 12 '25 22:06 linuxnow