cutcutcodec.core.filter.video.add.FilterVideoAdd
- class cutcutcodec.core.filter.video.add.FilterVideoAdd(in_streams: Iterable[Stream])[source]
Combine the stream in once by additing the overlapping slices.
Examples
>>> from cutcutcodec.core.filter.video.add import FilterVideoAdd >>> from cutcutcodec.core.filter.video.delay import FilterVideoDelay >>> from cutcutcodec.core.generation.video.equation import GeneratorVideoEquation >>> >>> (s_video_0,) = GeneratorVideoEquation("(i+1)/2", "1/2").out_streams >>> (s_video_1,) = FilterVideoDelay( ... GeneratorVideoEquation("(j+1)/2", "1/2").out_streams, 10 ... ).out_streams >>> (s_add_video,) = FilterVideoAdd([s_video_0, s_video_1]).out_streams >>> >>> s_video_0.snapshot(10, (2, 2)) FrameVideo(10, [[[0. , 0.5], [0. , 0.5]], [[1. , 0.5], [1. , 0.5]]]) >>> s_video_1.snapshot(10, (2, 2)) FrameVideo(10, [[[0. , 0.5], [1. , 0.5]], [[0. , 0.5], [1. , 0.5]]]) >>> s_add_video.snapshot(10, (2, 2)) FrameVideo(10, [[[0. , 0.75 ], [0.33333334, 0.75 ]], [[0.6666667 , 0.75 ], [1. , 0.75 ]]]) >>>
Initialise and create the class.
Parameters
- in_streamstyping.Iterable[Stream]
Transmitted to
cutcutcodec.core.classes.filter.Filter. About the overlaping portions, if the stream is an audio stream, a simple addition is performed but if the stream is a video stream, the frames are combined like a superposition of semi-transparent windows.