Video Support including Fading#349
Video Support including Fading#349tobi08151405 wants to merge 29 commits intoFrancescoCeruti:masterfrom
Conversation
|
@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 since Fader.fade() is blocking, you cannot simply iterate over them, or they will run sequentially. What I would do is one of these two:
|
I implemented a |
|
I now added a few basic video filters. |
s0600204
left a comment
There was a problem hiding this comment.
Thank you for continuing on the work on this.
I haven't looked at the code: the following is merely from playing with a few random video clips. Also, as mentioned elsewhere, I don't have Wayland support on my computer yet, so the following is for the "System Out" sink only (and the List Layout).
(It's worth noting that I use the "Jack Sink" when running shows, and whilst that does work - to playback the audio of video clips - for obvious reasons I don't get the video output when doing this.)
General notes:
-
It would be nice to specify where the video output is sent (instead of a new window on top of LiSP). I realise (from the documentation) that
AutoVideoSinkdoesn't directly provide this functionality (unlike the Wayland sink), but the documentation forxvimagesink(whichautovideosinkuses under the hood on my machine) mentions GSTVideoOverlay, an interface through which it is possible to designate a pre-existing window to draw video on top of. Whether it is possible to create a dedicated, borderless, window that is placed programmatically, and draw all video there, is perhaps something to look into. -
If the user closes the output window, an error is raised (
ERROR GStreamer: Output window was closed) that should probably be caught and handled gracefully.
The new media elements:
-
Adding the "Alpha" element appears to break media looping for the clip it's added to - on some clips it doesn't loop at all, on others the audio loops but the video stalls/glitches before freezing.
-
Adding the "Rotate" element makes the output image somewhat fuzzy. Then again, this happens outside of LiSP by simply invoking
gst-launch-1.0 -v videotestsrc ! rotate angle=0 ! videoconvert ! autovideosinkon the command line, so it's not your code. -
Also, with "Rotate" - moving the slider to the right spins the images to the left (counter-clockwise), which is backwards to how I'd expect it. Whilst this is probably down to the backend interpreting positive numbers as a CCW rotation and negative as CW, it still seems (to me) to be un-intuitive. Perhaps a rotational widget (see QDial) would be better?
-
May I suggest adding a caption to the configuration of the "Blur" element so as to (a) explain what "Sigma" means, (b) hint at what a negative value is supposed to do, and (c) warn that high (positive or negative) values will/may cause juddering?
| self.methodComboBox.addItem(translate("FlipSettings", "Rotate 180°"), 2) | ||
| self.methodComboBox.addItem(translate("FlipSettings", "Counterclockwise 90°"), 3) | ||
| self.methodComboBox.addItem(translate("FlipSettings", "Horizontal Flip"), 4) | ||
| self.methodComboBox.addItem(translate("FlipSettings", "Vertial Flip"), 5) |
|
Could this be included in next version? This is a game changer :) |
Extension of Basic Video Support
This PR builds upon #333 .
This PR provides:
TODO