typed-ffmpeg-compatible 3.5.2__py3-none-any.whl → 3.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- typed_ffmpeg/__init__.py +4 -1
- typed_ffmpeg/_version.py +16 -3
- typed_ffmpeg/base.py +4 -1
- typed_ffmpeg/codecs/__init__.py +2 -0
- typed_ffmpeg/codecs/decoders.py +1852 -1853
- typed_ffmpeg/codecs/encoders.py +2001 -1782
- typed_ffmpeg/codecs/schema.py +6 -12
- typed_ffmpeg/common/__init__.py +1 -0
- typed_ffmpeg/common/cache.py +9 -6
- typed_ffmpeg/common/schema.py +11 -0
- typed_ffmpeg/common/serialize.py +14 -8
- typed_ffmpeg/compile/__init__.py +1 -0
- typed_ffmpeg/compile/compile_cli.py +23 -4
- typed_ffmpeg/compile/compile_json.py +4 -0
- typed_ffmpeg/compile/compile_python.py +15 -0
- typed_ffmpeg/compile/context.py +15 -4
- typed_ffmpeg/compile/validate.py +4 -3
- typed_ffmpeg/dag/factory.py +2 -0
- typed_ffmpeg/dag/global_runnable/__init__.py +1 -0
- typed_ffmpeg/dag/global_runnable/global_args.py +2 -2
- typed_ffmpeg/dag/global_runnable/runnable.py +6 -2
- typed_ffmpeg/dag/io/__init__.py +1 -0
- typed_ffmpeg/dag/io/_input.py +20 -5
- typed_ffmpeg/dag/io/_output.py +24 -9
- typed_ffmpeg/dag/io/output_args.py +22 -9
- typed_ffmpeg/dag/nodes.py +20 -0
- typed_ffmpeg/dag/schema.py +19 -6
- typed_ffmpeg/dag/utils.py +2 -2
- typed_ffmpeg/exceptions.py +2 -1
- typed_ffmpeg/expressions.py +884 -0
- typed_ffmpeg/ffprobe/__init__.py +1 -0
- typed_ffmpeg/ffprobe/parse.py +7 -1
- typed_ffmpeg/ffprobe/probe.py +3 -1
- typed_ffmpeg/ffprobe/schema.py +83 -1
- typed_ffmpeg/ffprobe/xml2json.py +8 -2
- typed_ffmpeg/filters.py +598 -631
- typed_ffmpeg/formats/__init__.py +2 -0
- typed_ffmpeg/formats/demuxers.py +1869 -1921
- typed_ffmpeg/formats/muxers.py +1382 -1107
- typed_ffmpeg/formats/schema.py +6 -12
- typed_ffmpeg/info.py +8 -0
- typed_ffmpeg/options/__init__.py +15 -0
- typed_ffmpeg/options/codec.py +711 -0
- typed_ffmpeg/options/format.py +196 -0
- typed_ffmpeg/options/framesync.py +43 -0
- typed_ffmpeg/options/timeline.py +22 -0
- typed_ffmpeg/schema.py +15 -0
- typed_ffmpeg/sources.py +392 -381
- typed_ffmpeg/streams/__init__.py +2 -0
- typed_ffmpeg/streams/audio.py +1071 -882
- typed_ffmpeg/streams/av.py +9 -3
- typed_ffmpeg/streams/subtitle.py +3 -3
- typed_ffmpeg/streams/video.py +2250 -1724
- typed_ffmpeg/types.py +3 -2
- typed_ffmpeg/utils/__init__.py +1 -0
- typed_ffmpeg/utils/escaping.py +8 -4
- typed_ffmpeg/utils/frozendict.py +31 -1
- typed_ffmpeg/utils/lazy_eval/__init__.py +1 -0
- typed_ffmpeg/utils/lazy_eval/operator.py +75 -27
- typed_ffmpeg/utils/lazy_eval/schema.py +176 -4
- typed_ffmpeg/utils/run.py +2 -0
- typed_ffmpeg/utils/snapshot.py +1 -0
- typed_ffmpeg/utils/typing.py +2 -1
- typed_ffmpeg/utils/view.py +2 -1
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.7.dist-info}/METADATA +10 -1
- typed_ffmpeg_compatible-3.7.dist-info/RECORD +73 -0
- typed_ffmpeg_compatible-3.5.2.dist-info/RECORD +0 -67
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.7.dist-info}/WHEEL +0 -0
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.7.dist-info}/entry_points.txt +0 -0
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.7.dist-info}/licenses/LICENSE +0 -0
- {typed_ffmpeg_compatible-3.5.2.dist-info → typed_ffmpeg_compatible-3.7.dist-info}/top_level.txt +0 -0
typed_ffmpeg/filters.py
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
# NOTE: this file is auto-generated, do not modify
|
|
2
|
-
|
|
2
|
+
"""FFmpeg filters."""
|
|
3
3
|
|
|
4
4
|
from typing import Any, Literal
|
|
5
5
|
|
|
6
6
|
from .common.schema import FFMpegFilterDef
|
|
7
7
|
from .dag.factory import filter_node_factory
|
|
8
|
-
from .dag.nodes import
|
|
8
|
+
from .dag.nodes import (
|
|
9
|
+
FilterableStream,
|
|
10
|
+
FilterNode,
|
|
11
|
+
)
|
|
12
|
+
from .options.framesync import FFMpegFrameSyncOption
|
|
13
|
+
from .options.timeline import FFMpegTimelineOption
|
|
9
14
|
from .schema import Auto, Default
|
|
10
15
|
from .streams.audio import AudioStream
|
|
11
16
|
from .streams.video import VideoStream
|
|
@@ -31,9 +36,9 @@ def acrossfade(
|
|
|
31
36
|
_crossfade0: AudioStream,
|
|
32
37
|
_crossfade1: AudioStream,
|
|
33
38
|
*,
|
|
34
|
-
nb_samples: Int = Default(44100),
|
|
35
|
-
duration: Duration = Default(0
|
|
36
|
-
overlap: Boolean = Default(
|
|
39
|
+
nb_samples: Int = Default("44100"),
|
|
40
|
+
duration: Duration = Default("0"),
|
|
41
|
+
overlap: Boolean = Default("true"),
|
|
37
42
|
curve1: Int
|
|
38
43
|
| Literal[
|
|
39
44
|
"nofade",
|
|
@@ -102,6 +107,7 @@ def acrossfade(
|
|
|
102
107
|
overlap: overlap 1st stream end with 2nd stream start (default true)
|
|
103
108
|
curve1: set fade curve type for 1st stream (from -1 to 22) (default tri)
|
|
104
109
|
curve2: set fade curve type for 2nd stream (from -1 to 22) (default tri)
|
|
110
|
+
extra_options: Extra options for the filter
|
|
105
111
|
|
|
106
112
|
Returns:
|
|
107
113
|
default: the audio stream
|
|
@@ -147,6 +153,7 @@ def ainterleave(
|
|
|
147
153
|
Args:
|
|
148
154
|
nb_inputs: set number of inputs (from 1 to INT_MAX) (default 2)
|
|
149
155
|
duration: how to determine the end-of-stream (from 0 to 2) (default longest)
|
|
156
|
+
extra_options: Extra options for the filter
|
|
150
157
|
|
|
151
158
|
Returns:
|
|
152
159
|
default: the audio stream
|
|
@@ -176,12 +183,8 @@ def ainterleave(
|
|
|
176
183
|
def alphamerge(
|
|
177
184
|
_main: VideoStream,
|
|
178
185
|
_alpha: VideoStream,
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
shortest: Boolean = Default(False),
|
|
182
|
-
repeatlast: Boolean = Default(True),
|
|
183
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
184
|
-
enable: String = Default(None),
|
|
186
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
187
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
185
188
|
extra_options: dict[str, Any] | None = None,
|
|
186
189
|
) -> VideoStream:
|
|
187
190
|
"""
|
|
@@ -189,11 +192,9 @@ def alphamerge(
|
|
|
189
192
|
Copy the luma value of the second input into the alpha channel of the first input.
|
|
190
193
|
|
|
191
194
|
Args:
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
196
|
-
enable: timeline editing
|
|
195
|
+
framesync_options: Framesync options
|
|
196
|
+
timeline_options: Timeline options
|
|
197
|
+
extra_options: Extra options for the filter
|
|
197
198
|
|
|
198
199
|
Returns:
|
|
199
200
|
default: the video stream
|
|
@@ -211,14 +212,10 @@ def alphamerge(
|
|
|
211
212
|
_main,
|
|
212
213
|
_alpha,
|
|
213
214
|
**merge(
|
|
214
|
-
{
|
|
215
|
-
"eof_action": eof_action,
|
|
216
|
-
"shortest": shortest,
|
|
217
|
-
"repeatlast": repeatlast,
|
|
218
|
-
"ts_sync_mode": ts_sync_mode,
|
|
219
|
-
"enable": enable,
|
|
220
|
-
},
|
|
215
|
+
{},
|
|
221
216
|
extra_options,
|
|
217
|
+
framesync_options,
|
|
218
|
+
timeline_options,
|
|
222
219
|
),
|
|
223
220
|
)
|
|
224
221
|
return filter_node.video(0)
|
|
@@ -235,6 +232,7 @@ def amerge(
|
|
|
235
232
|
|
|
236
233
|
Args:
|
|
237
234
|
inputs: specify the number of inputs (from 1 to 64) (default 2)
|
|
235
|
+
extra_options: Extra options for the filter
|
|
238
236
|
|
|
239
237
|
Returns:
|
|
240
238
|
default: the audio stream
|
|
@@ -266,9 +264,9 @@ def amix(
|
|
|
266
264
|
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
|
267
265
|
"longest"
|
|
268
266
|
),
|
|
269
|
-
dropout_transition: Float = Default(2
|
|
267
|
+
dropout_transition: Float = Default("2"),
|
|
270
268
|
weights: String = Default("1 1"),
|
|
271
|
-
normalize: Boolean = Default(
|
|
269
|
+
normalize: Boolean = Default("true"),
|
|
272
270
|
extra_options: dict[str, Any] | None = None,
|
|
273
271
|
) -> AudioStream:
|
|
274
272
|
"""
|
|
@@ -281,6 +279,7 @@ def amix(
|
|
|
281
279
|
dropout_transition: Transition time, in seconds, for volume renormalization when an input stream ends. (from 0 to INT_MAX) (default 2)
|
|
282
280
|
weights: Set weight for each input. (default "1 1")
|
|
283
281
|
normalize: Scale inputs (default true)
|
|
282
|
+
extra_options: Extra options for the filter
|
|
284
283
|
|
|
285
284
|
Returns:
|
|
286
285
|
default: the audio stream
|
|
@@ -319,6 +318,9 @@ def amultiply(
|
|
|
319
318
|
|
|
320
319
|
Multiply two audio streams.
|
|
321
320
|
|
|
321
|
+
Args:
|
|
322
|
+
extra_options: Extra options for the filter
|
|
323
|
+
|
|
322
324
|
Returns:
|
|
323
325
|
default: the audio stream
|
|
324
326
|
|
|
@@ -334,7 +336,10 @@ def amultiply(
|
|
|
334
336
|
),
|
|
335
337
|
_multiply0,
|
|
336
338
|
_multiply1,
|
|
337
|
-
**merge(
|
|
339
|
+
**merge(
|
|
340
|
+
{},
|
|
341
|
+
extra_options,
|
|
342
|
+
),
|
|
338
343
|
)
|
|
339
344
|
return filter_node.audio(0)
|
|
340
345
|
|
|
@@ -343,12 +348,12 @@ def anlmf(
|
|
|
343
348
|
_input: AudioStream,
|
|
344
349
|
_desired: AudioStream,
|
|
345
350
|
*,
|
|
346
|
-
order: Int = Default(256),
|
|
347
|
-
mu: Float = Default(0.75),
|
|
348
|
-
eps: Float = Default(1
|
|
349
|
-
leakage: Float = Default(0
|
|
351
|
+
order: Int = Default("256"),
|
|
352
|
+
mu: Float = Default("0.75"),
|
|
353
|
+
eps: Float = Default("1"),
|
|
354
|
+
leakage: Float = Default("0"),
|
|
350
355
|
out_mode: Int | Literal["i", "d", "o", "n", "e"] | Default = Default("o"),
|
|
351
|
-
|
|
356
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
352
357
|
extra_options: dict[str, Any] | None = None,
|
|
353
358
|
) -> AudioStream:
|
|
354
359
|
"""
|
|
@@ -361,7 +366,8 @@ def anlmf(
|
|
|
361
366
|
eps: set the filter eps (from 0 to 1) (default 1)
|
|
362
367
|
leakage: set the filter leakage (from 0 to 1) (default 0)
|
|
363
368
|
out_mode: set output mode (from 0 to 4) (default o)
|
|
364
|
-
|
|
369
|
+
timeline_options: Timeline options
|
|
370
|
+
extra_options: Extra options for the filter
|
|
365
371
|
|
|
366
372
|
Returns:
|
|
367
373
|
default: the audio stream
|
|
@@ -383,9 +389,9 @@ def anlmf(
|
|
|
383
389
|
"eps": eps,
|
|
384
390
|
"leakage": leakage,
|
|
385
391
|
"out_mode": out_mode,
|
|
386
|
-
"enable": enable,
|
|
387
392
|
},
|
|
388
393
|
extra_options,
|
|
394
|
+
timeline_options,
|
|
389
395
|
),
|
|
390
396
|
)
|
|
391
397
|
return filter_node.audio(0)
|
|
@@ -395,12 +401,12 @@ def anlms(
|
|
|
395
401
|
_input: AudioStream,
|
|
396
402
|
_desired: AudioStream,
|
|
397
403
|
*,
|
|
398
|
-
order: Int = Default(256),
|
|
399
|
-
mu: Float = Default(0.75),
|
|
400
|
-
eps: Float = Default(1
|
|
401
|
-
leakage: Float = Default(0
|
|
404
|
+
order: Int = Default("256"),
|
|
405
|
+
mu: Float = Default("0.75"),
|
|
406
|
+
eps: Float = Default("1"),
|
|
407
|
+
leakage: Float = Default("0"),
|
|
402
408
|
out_mode: Int | Literal["i", "d", "o", "n", "e"] | Default = Default("o"),
|
|
403
|
-
|
|
409
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
404
410
|
extra_options: dict[str, Any] | None = None,
|
|
405
411
|
) -> AudioStream:
|
|
406
412
|
"""
|
|
@@ -413,7 +419,8 @@ def anlms(
|
|
|
413
419
|
eps: set the filter eps (from 0 to 1) (default 1)
|
|
414
420
|
leakage: set the filter leakage (from 0 to 1) (default 0)
|
|
415
421
|
out_mode: set output mode (from 0 to 4) (default o)
|
|
416
|
-
|
|
422
|
+
timeline_options: Timeline options
|
|
423
|
+
extra_options: Extra options for the filter
|
|
417
424
|
|
|
418
425
|
Returns:
|
|
419
426
|
default: the audio stream
|
|
@@ -435,9 +442,9 @@ def anlms(
|
|
|
435
442
|
"eps": eps,
|
|
436
443
|
"leakage": leakage,
|
|
437
444
|
"out_mode": out_mode,
|
|
438
|
-
"enable": enable,
|
|
439
445
|
},
|
|
440
446
|
extra_options,
|
|
447
|
+
timeline_options,
|
|
441
448
|
),
|
|
442
449
|
)
|
|
443
450
|
return filter_node.audio(0)
|
|
@@ -446,8 +453,7 @@ def anlms(
|
|
|
446
453
|
def apsnr(
|
|
447
454
|
_input0: AudioStream,
|
|
448
455
|
_input1: AudioStream,
|
|
449
|
-
|
|
450
|
-
enable: String = Default(None),
|
|
456
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
451
457
|
extra_options: dict[str, Any] | None = None,
|
|
452
458
|
) -> AudioStream:
|
|
453
459
|
"""
|
|
@@ -455,7 +461,8 @@ def apsnr(
|
|
|
455
461
|
Measure Audio Peak Signal-to-Noise Ratio.
|
|
456
462
|
|
|
457
463
|
Args:
|
|
458
|
-
|
|
464
|
+
timeline_options: Timeline options
|
|
465
|
+
extra_options: Extra options for the filter
|
|
459
466
|
|
|
460
467
|
Returns:
|
|
461
468
|
default: the audio stream
|
|
@@ -471,10 +478,9 @@ def apsnr(
|
|
|
471
478
|
_input0,
|
|
472
479
|
_input1,
|
|
473
480
|
**merge(
|
|
474
|
-
{
|
|
475
|
-
"enable": enable,
|
|
476
|
-
},
|
|
481
|
+
{},
|
|
477
482
|
extra_options,
|
|
483
|
+
timeline_options,
|
|
478
484
|
),
|
|
479
485
|
)
|
|
480
486
|
return filter_node.audio(0)
|
|
@@ -484,11 +490,11 @@ def arls(
|
|
|
484
490
|
_input: AudioStream,
|
|
485
491
|
_desired: AudioStream,
|
|
486
492
|
*,
|
|
487
|
-
order: Int = Default(16),
|
|
488
|
-
_lambda: Float = Default(1
|
|
489
|
-
delta: Float = Default(2
|
|
493
|
+
order: Int = Default("16"),
|
|
494
|
+
_lambda: Float = Default("1"),
|
|
495
|
+
delta: Float = Default("2"),
|
|
490
496
|
out_mode: Int | Literal["i", "d", "o", "n", "e"] | Default = Default("o"),
|
|
491
|
-
|
|
497
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
492
498
|
extra_options: dict[str, Any] | None = None,
|
|
493
499
|
) -> AudioStream:
|
|
494
500
|
"""
|
|
@@ -500,7 +506,8 @@ def arls(
|
|
|
500
506
|
_lambda: set the filter lambda (from 0 to 1) (default 1)
|
|
501
507
|
delta: set the filter delta (from 0 to 32767) (default 2)
|
|
502
508
|
out_mode: set output mode (from 0 to 4) (default o)
|
|
503
|
-
|
|
509
|
+
timeline_options: Timeline options
|
|
510
|
+
extra_options: Extra options for the filter
|
|
504
511
|
|
|
505
512
|
Returns:
|
|
506
513
|
default: the audio stream
|
|
@@ -521,9 +528,9 @@ def arls(
|
|
|
521
528
|
"lambda": _lambda,
|
|
522
529
|
"delta": delta,
|
|
523
530
|
"out_mode": out_mode,
|
|
524
|
-
"enable": enable,
|
|
525
531
|
},
|
|
526
532
|
extra_options,
|
|
533
|
+
timeline_options,
|
|
527
534
|
),
|
|
528
535
|
)
|
|
529
536
|
return filter_node.audio(0)
|
|
@@ -532,8 +539,7 @@ def arls(
|
|
|
532
539
|
def asdr(
|
|
533
540
|
_input0: AudioStream,
|
|
534
541
|
_input1: AudioStream,
|
|
535
|
-
|
|
536
|
-
enable: String = Default(None),
|
|
542
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
537
543
|
extra_options: dict[str, Any] | None = None,
|
|
538
544
|
) -> AudioStream:
|
|
539
545
|
"""
|
|
@@ -541,7 +547,8 @@ def asdr(
|
|
|
541
547
|
Measure Audio Signal-to-Distortion Ratio.
|
|
542
548
|
|
|
543
549
|
Args:
|
|
544
|
-
|
|
550
|
+
timeline_options: Timeline options
|
|
551
|
+
extra_options: Extra options for the filter
|
|
545
552
|
|
|
546
553
|
Returns:
|
|
547
554
|
default: the audio stream
|
|
@@ -557,10 +564,9 @@ def asdr(
|
|
|
557
564
|
_input0,
|
|
558
565
|
_input1,
|
|
559
566
|
**merge(
|
|
560
|
-
{
|
|
561
|
-
"enable": enable,
|
|
562
|
-
},
|
|
567
|
+
{},
|
|
563
568
|
extra_options,
|
|
569
|
+
timeline_options,
|
|
564
570
|
),
|
|
565
571
|
)
|
|
566
572
|
return filter_node.audio(0)
|
|
@@ -569,8 +575,7 @@ def asdr(
|
|
|
569
575
|
def asisdr(
|
|
570
576
|
_input0: AudioStream,
|
|
571
577
|
_input1: AudioStream,
|
|
572
|
-
|
|
573
|
-
enable: String = Default(None),
|
|
578
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
574
579
|
extra_options: dict[str, Any] | None = None,
|
|
575
580
|
) -> AudioStream:
|
|
576
581
|
"""
|
|
@@ -578,7 +583,8 @@ def asisdr(
|
|
|
578
583
|
Measure Audio Scale-Invariant Signal-to-Distortion Ratio.
|
|
579
584
|
|
|
580
585
|
Args:
|
|
581
|
-
|
|
586
|
+
timeline_options: Timeline options
|
|
587
|
+
extra_options: Extra options for the filter
|
|
582
588
|
|
|
583
589
|
Returns:
|
|
584
590
|
default: the audio stream
|
|
@@ -594,10 +600,9 @@ def asisdr(
|
|
|
594
600
|
_input0,
|
|
595
601
|
_input1,
|
|
596
602
|
**merge(
|
|
597
|
-
{
|
|
598
|
-
"enable": enable,
|
|
599
|
-
},
|
|
603
|
+
{},
|
|
600
604
|
extra_options,
|
|
605
|
+
timeline_options,
|
|
601
606
|
),
|
|
602
607
|
)
|
|
603
608
|
return filter_node.audio(0)
|
|
@@ -611,11 +616,12 @@ def astreamselect(
|
|
|
611
616
|
) -> FilterNode:
|
|
612
617
|
"""
|
|
613
618
|
|
|
614
|
-
Select audio streams
|
|
619
|
+
Select audio streams.
|
|
615
620
|
|
|
616
621
|
Args:
|
|
617
622
|
inputs: number of input streams (from 2 to INT_MAX) (default 2)
|
|
618
623
|
map: input indexes to remap to outputs
|
|
624
|
+
extra_options: Extra options for the filter
|
|
619
625
|
|
|
620
626
|
Returns:
|
|
621
627
|
filter_node: the filter node
|
|
@@ -648,7 +654,7 @@ def axcorrelate(
|
|
|
648
654
|
_axcorrelate0: AudioStream,
|
|
649
655
|
_axcorrelate1: AudioStream,
|
|
650
656
|
*,
|
|
651
|
-
size: Int = Default(256),
|
|
657
|
+
size: Int = Default("256"),
|
|
652
658
|
algo: Int | Literal["slow", "fast", "best"] | Default = Default("best"),
|
|
653
659
|
extra_options: dict[str, Any] | None = None,
|
|
654
660
|
) -> AudioStream:
|
|
@@ -659,6 +665,7 @@ def axcorrelate(
|
|
|
659
665
|
Args:
|
|
660
666
|
size: set the segment size (from 2 to 131072) (default 256)
|
|
661
667
|
algo: set the algorithm (from 0 to 2) (default best)
|
|
668
|
+
extra_options: Extra options for the filter
|
|
662
669
|
|
|
663
670
|
Returns:
|
|
664
671
|
default: the audio stream
|
|
@@ -919,22 +926,19 @@ def blend(
|
|
|
919
926
|
"interpolate",
|
|
920
927
|
"hardoverlay",
|
|
921
928
|
]
|
|
922
|
-
| Default = Default(-1),
|
|
929
|
+
| Default = Default("-1"),
|
|
923
930
|
c0_expr: String = Default(None),
|
|
924
931
|
c1_expr: String = Default(None),
|
|
925
932
|
c2_expr: String = Default(None),
|
|
926
933
|
c3_expr: String = Default(None),
|
|
927
934
|
all_expr: String = Default(None),
|
|
928
|
-
c0_opacity: Double = Default(1
|
|
929
|
-
c1_opacity: Double = Default(1
|
|
930
|
-
c2_opacity: Double = Default(1
|
|
931
|
-
c3_opacity: Double = Default(1
|
|
932
|
-
all_opacity: Double = Default(1
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
repeatlast: Boolean = Default(True),
|
|
936
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
937
|
-
enable: String = Default(None),
|
|
935
|
+
c0_opacity: Double = Default("1"),
|
|
936
|
+
c1_opacity: Double = Default("1"),
|
|
937
|
+
c2_opacity: Double = Default("1"),
|
|
938
|
+
c3_opacity: Double = Default("1"),
|
|
939
|
+
all_opacity: Double = Default("1"),
|
|
940
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
941
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
938
942
|
extra_options: dict[str, Any] | None = None,
|
|
939
943
|
) -> VideoStream:
|
|
940
944
|
"""
|
|
@@ -957,11 +961,9 @@ def blend(
|
|
|
957
961
|
c2_opacity: set color component #2 opacity (from 0 to 1) (default 1)
|
|
958
962
|
c3_opacity: set color component #3 opacity (from 0 to 1) (default 1)
|
|
959
963
|
all_opacity: set opacity for all color components (from 0 to 1) (default 1)
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
964
|
-
enable: timeline editing
|
|
964
|
+
framesync_options: Framesync options
|
|
965
|
+
timeline_options: Timeline options
|
|
966
|
+
extra_options: Extra options for the filter
|
|
965
967
|
|
|
966
968
|
Returns:
|
|
967
969
|
default: the video stream
|
|
@@ -993,13 +995,10 @@ def blend(
|
|
|
993
995
|
"c2_opacity": c2_opacity,
|
|
994
996
|
"c3_opacity": c3_opacity,
|
|
995
997
|
"all_opacity": all_opacity,
|
|
996
|
-
"eof_action": eof_action,
|
|
997
|
-
"shortest": shortest,
|
|
998
|
-
"repeatlast": repeatlast,
|
|
999
|
-
"ts_sync_mode": ts_sync_mode,
|
|
1000
|
-
"enable": enable,
|
|
1001
998
|
},
|
|
1002
999
|
extra_options,
|
|
1000
|
+
framesync_options,
|
|
1001
|
+
timeline_options,
|
|
1003
1002
|
),
|
|
1004
1003
|
)
|
|
1005
1004
|
return filter_node.video(0)
|
|
@@ -1013,17 +1012,17 @@ def blend_vulkan(
|
|
|
1013
1012
|
c1_mode: Int | Literal["normal", "multiply"] | Default = Default("normal"),
|
|
1014
1013
|
c2_mode: Int | Literal["normal", "multiply"] | Default = Default("normal"),
|
|
1015
1014
|
c3_mode: Int | Literal["normal", "multiply"] | Default = Default("normal"),
|
|
1016
|
-
all_mode: Int | Literal["normal", "multiply"] | Default = Default(-1),
|
|
1017
|
-
c0_opacity: Double = Default(1
|
|
1018
|
-
c1_opacity: Double = Default(1
|
|
1019
|
-
c2_opacity: Double = Default(1
|
|
1020
|
-
c3_opacity: Double = Default(1
|
|
1021
|
-
all_opacity: Double = Default(1
|
|
1015
|
+
all_mode: Int | Literal["normal", "multiply"] | Default = Default("-1"),
|
|
1016
|
+
c0_opacity: Double = Default("1"),
|
|
1017
|
+
c1_opacity: Double = Default("1"),
|
|
1018
|
+
c2_opacity: Double = Default("1"),
|
|
1019
|
+
c3_opacity: Double = Default("1"),
|
|
1020
|
+
all_opacity: Double = Default("1"),
|
|
1022
1021
|
extra_options: dict[str, Any] | None = None,
|
|
1023
1022
|
) -> VideoStream:
|
|
1024
1023
|
"""
|
|
1025
1024
|
|
|
1026
|
-
Blend two video frames in Vulkan
|
|
1025
|
+
Blend two video frames in Vulkan.
|
|
1027
1026
|
|
|
1028
1027
|
Args:
|
|
1029
1028
|
c0_mode: set component #0 blend mode (from 0 to 39) (default normal)
|
|
@@ -1036,6 +1035,7 @@ def blend_vulkan(
|
|
|
1036
1035
|
c2_opacity: set color component #2 opacity (from 0 to 1) (default 1)
|
|
1037
1036
|
c3_opacity: set color component #3 opacity (from 0 to 1) (default 1)
|
|
1038
1037
|
all_opacity: set opacity for all color components (from 0 to 1) (default 1)
|
|
1038
|
+
extra_options: Extra options for the filter
|
|
1039
1039
|
|
|
1040
1040
|
Returns:
|
|
1041
1041
|
default: the video stream
|
|
@@ -1073,18 +1073,18 @@ def blend_vulkan(
|
|
|
1073
1073
|
|
|
1074
1074
|
def bm3d(
|
|
1075
1075
|
*streams: VideoStream,
|
|
1076
|
-
sigma: Float = Default(1
|
|
1077
|
-
block: Int = Default(16),
|
|
1078
|
-
bstep: Int = Default(4),
|
|
1079
|
-
group: Int = Default(1),
|
|
1080
|
-
range: Int = Default(9),
|
|
1081
|
-
mstep: Int = Default(1),
|
|
1082
|
-
thmse: Float = Default(0
|
|
1083
|
-
hdthr: Float = Default(2.7),
|
|
1076
|
+
sigma: Float = Default("1"),
|
|
1077
|
+
block: Int = Default("16"),
|
|
1078
|
+
bstep: Int = Default("4"),
|
|
1079
|
+
group: Int = Default("1"),
|
|
1080
|
+
range: Int = Default("9"),
|
|
1081
|
+
mstep: Int = Default("1"),
|
|
1082
|
+
thmse: Float = Default("0"),
|
|
1083
|
+
hdthr: Float = Default("2.7"),
|
|
1084
1084
|
estim: Int | Literal["basic", "final"] | Default = Default("basic"),
|
|
1085
|
-
ref: Boolean = Default(
|
|
1086
|
-
planes: Int = Default(7),
|
|
1087
|
-
|
|
1085
|
+
ref: Boolean = Default("false"),
|
|
1086
|
+
planes: Int = Default("7"),
|
|
1087
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1088
1088
|
extra_options: dict[str, Any] | None = None,
|
|
1089
1089
|
) -> VideoStream:
|
|
1090
1090
|
"""
|
|
@@ -1103,7 +1103,8 @@ def bm3d(
|
|
|
1103
1103
|
estim: set filtering estimation mode (from 0 to 1) (default basic)
|
|
1104
1104
|
ref: have reference stream (default false)
|
|
1105
1105
|
planes: set planes to filter (from 0 to 15) (default 7)
|
|
1106
|
-
|
|
1106
|
+
timeline_options: Timeline options
|
|
1107
|
+
extra_options: Extra options for the filter
|
|
1107
1108
|
|
|
1108
1109
|
Returns:
|
|
1109
1110
|
default: the video stream
|
|
@@ -1132,9 +1133,9 @@ def bm3d(
|
|
|
1132
1133
|
"estim": estim,
|
|
1133
1134
|
"ref": ref,
|
|
1134
1135
|
"planes": planes,
|
|
1135
|
-
"enable": enable,
|
|
1136
1136
|
},
|
|
1137
1137
|
extra_options,
|
|
1138
|
+
timeline_options,
|
|
1138
1139
|
),
|
|
1139
1140
|
)
|
|
1140
1141
|
return filter_node.video(0)
|
|
@@ -1146,10 +1147,10 @@ def colormap(
|
|
|
1146
1147
|
_target: VideoStream,
|
|
1147
1148
|
*,
|
|
1148
1149
|
patch_size: Image_size = Default("64x64"),
|
|
1149
|
-
nb_patches: Int = Default(0),
|
|
1150
|
+
nb_patches: Int = Default("0"),
|
|
1150
1151
|
type: Int | Literal["relative", "absolute"] | Default = Default("absolute"),
|
|
1151
1152
|
kernel: Int | Literal["euclidean", "weuclidean"] | Default = Default("euclidean"),
|
|
1152
|
-
|
|
1153
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1153
1154
|
extra_options: dict[str, Any] | None = None,
|
|
1154
1155
|
) -> VideoStream:
|
|
1155
1156
|
"""
|
|
@@ -1161,7 +1162,8 @@ def colormap(
|
|
|
1161
1162
|
nb_patches: set number of patches (from 0 to 64) (default 0)
|
|
1162
1163
|
type: set the target type used (from 0 to 1) (default absolute)
|
|
1163
1164
|
kernel: set the kernel used for measuring color difference (from 0 to 1) (default euclidean)
|
|
1164
|
-
|
|
1165
|
+
timeline_options: Timeline options
|
|
1166
|
+
extra_options: Extra options for the filter
|
|
1165
1167
|
|
|
1166
1168
|
Returns:
|
|
1167
1169
|
default: the video stream
|
|
@@ -1185,9 +1187,9 @@ def colormap(
|
|
|
1185
1187
|
"nb_patches": nb_patches,
|
|
1186
1188
|
"type": type,
|
|
1187
1189
|
"kernel": kernel,
|
|
1188
|
-
"enable": enable,
|
|
1189
1190
|
},
|
|
1190
1191
|
extra_options,
|
|
1192
|
+
timeline_options,
|
|
1191
1193
|
),
|
|
1192
1194
|
)
|
|
1193
1195
|
return filter_node.video(0)
|
|
@@ -1196,9 +1198,9 @@ def colormap(
|
|
|
1196
1198
|
def concat(
|
|
1197
1199
|
*streams: FilterableStream,
|
|
1198
1200
|
n: Int = Auto("len(streams) // (int(v) + int(a))"),
|
|
1199
|
-
v: Int = Default(1),
|
|
1200
|
-
a: Int = Default(0),
|
|
1201
|
-
unsafe: Boolean = Default(
|
|
1201
|
+
v: Int = Default("1"),
|
|
1202
|
+
a: Int = Default("0"),
|
|
1203
|
+
unsafe: Boolean = Default("false"),
|
|
1202
1204
|
extra_options: dict[str, Any] | None = None,
|
|
1203
1205
|
) -> FilterNode:
|
|
1204
1206
|
"""
|
|
@@ -1210,6 +1212,7 @@ def concat(
|
|
|
1210
1212
|
v: specify the number of video streams (from 0 to INT_MAX) (default 1)
|
|
1211
1213
|
a: specify the number of audio streams (from 0 to INT_MAX) (default 0)
|
|
1212
1214
|
unsafe: enable unsafe mode (default false)
|
|
1215
|
+
extra_options: Extra options for the filter
|
|
1213
1216
|
|
|
1214
1217
|
Returns:
|
|
1215
1218
|
filter_node: the filter node
|
|
@@ -1244,14 +1247,11 @@ def convolve(
|
|
|
1244
1247
|
_main: VideoStream,
|
|
1245
1248
|
_impulse: VideoStream,
|
|
1246
1249
|
*,
|
|
1247
|
-
planes: Int = Default(7),
|
|
1250
|
+
planes: Int = Default("7"),
|
|
1248
1251
|
impulse: Int | Literal["first", "all"] | Default = Default("all"),
|
|
1249
|
-
noise: Float = Default(1e-07),
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
repeatlast: Boolean = Default(True),
|
|
1253
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
1254
|
-
enable: String = Default(None),
|
|
1252
|
+
noise: Float = Default("1e-07"),
|
|
1253
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
1254
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1255
1255
|
extra_options: dict[str, Any] | None = None,
|
|
1256
1256
|
) -> VideoStream:
|
|
1257
1257
|
"""
|
|
@@ -1262,11 +1262,9 @@ def convolve(
|
|
|
1262
1262
|
planes: set planes to convolve (from 0 to 15) (default 7)
|
|
1263
1263
|
impulse: when to process impulses (from 0 to 1) (default all)
|
|
1264
1264
|
noise: set noise (from 0 to 1) (default 1e-07)
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
1269
|
-
enable: timeline editing
|
|
1265
|
+
framesync_options: Framesync options
|
|
1266
|
+
timeline_options: Timeline options
|
|
1267
|
+
extra_options: Extra options for the filter
|
|
1270
1268
|
|
|
1271
1269
|
Returns:
|
|
1272
1270
|
default: the video stream
|
|
@@ -1286,13 +1284,10 @@ def convolve(
|
|
|
1286
1284
|
"planes": planes,
|
|
1287
1285
|
"impulse": impulse,
|
|
1288
1286
|
"noise": noise,
|
|
1289
|
-
"eof_action": eof_action,
|
|
1290
|
-
"shortest": shortest,
|
|
1291
|
-
"repeatlast": repeatlast,
|
|
1292
|
-
"ts_sync_mode": ts_sync_mode,
|
|
1293
|
-
"enable": enable,
|
|
1294
1287
|
},
|
|
1295
1288
|
extra_options,
|
|
1289
|
+
framesync_options,
|
|
1290
|
+
timeline_options,
|
|
1296
1291
|
),
|
|
1297
1292
|
)
|
|
1298
1293
|
return filter_node.video(0)
|
|
@@ -1301,12 +1296,8 @@ def convolve(
|
|
|
1301
1296
|
def corr(
|
|
1302
1297
|
_main: VideoStream,
|
|
1303
1298
|
_reference: VideoStream,
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
shortest: Boolean = Default(False),
|
|
1307
|
-
repeatlast: Boolean = Default(True),
|
|
1308
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
1309
|
-
enable: String = Default(None),
|
|
1299
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
1300
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1310
1301
|
extra_options: dict[str, Any] | None = None,
|
|
1311
1302
|
) -> VideoStream:
|
|
1312
1303
|
"""
|
|
@@ -1314,11 +1305,9 @@ def corr(
|
|
|
1314
1305
|
Calculate the correlation between two video streams.
|
|
1315
1306
|
|
|
1316
1307
|
Args:
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
1321
|
-
enable: timeline editing
|
|
1308
|
+
framesync_options: Framesync options
|
|
1309
|
+
timeline_options: Timeline options
|
|
1310
|
+
extra_options: Extra options for the filter
|
|
1322
1311
|
|
|
1323
1312
|
Returns:
|
|
1324
1313
|
default: the video stream
|
|
@@ -1334,14 +1323,10 @@ def corr(
|
|
|
1334
1323
|
_main,
|
|
1335
1324
|
_reference,
|
|
1336
1325
|
**merge(
|
|
1337
|
-
{
|
|
1338
|
-
"eof_action": eof_action,
|
|
1339
|
-
"shortest": shortest,
|
|
1340
|
-
"repeatlast": repeatlast,
|
|
1341
|
-
"ts_sync_mode": ts_sync_mode,
|
|
1342
|
-
"enable": enable,
|
|
1343
|
-
},
|
|
1326
|
+
{},
|
|
1344
1327
|
extra_options,
|
|
1328
|
+
framesync_options,
|
|
1329
|
+
timeline_options,
|
|
1345
1330
|
),
|
|
1346
1331
|
)
|
|
1347
1332
|
return filter_node.video(0)
|
|
@@ -1349,14 +1334,14 @@ def corr(
|
|
|
1349
1334
|
|
|
1350
1335
|
def decimate(
|
|
1351
1336
|
*streams: VideoStream,
|
|
1352
|
-
cycle: Int = Default(5),
|
|
1353
|
-
dupthresh: Double = Default(1.1),
|
|
1354
|
-
scthresh: Double = Default(15
|
|
1355
|
-
blockx: Int = Default(32),
|
|
1356
|
-
blocky: Int = Default(32),
|
|
1357
|
-
ppsrc: Boolean = Default(
|
|
1358
|
-
chroma: Boolean = Default(
|
|
1359
|
-
mixed: Boolean = Default(
|
|
1337
|
+
cycle: Int = Default("5"),
|
|
1338
|
+
dupthresh: Double = Default("1.1"),
|
|
1339
|
+
scthresh: Double = Default("15"),
|
|
1340
|
+
blockx: Int = Default("32"),
|
|
1341
|
+
blocky: Int = Default("32"),
|
|
1342
|
+
ppsrc: Boolean = Default("false"),
|
|
1343
|
+
chroma: Boolean = Default("true"),
|
|
1344
|
+
mixed: Boolean = Default("false"),
|
|
1360
1345
|
extra_options: dict[str, Any] | None = None,
|
|
1361
1346
|
) -> VideoStream:
|
|
1362
1347
|
"""
|
|
@@ -1372,6 +1357,7 @@ def decimate(
|
|
|
1372
1357
|
ppsrc: mark main input as a pre-processed input and activate clean source input stream (default false)
|
|
1373
1358
|
chroma: set whether or not chroma is considered in the metric calculations (default true)
|
|
1374
1359
|
mixed: set whether or not the input only partially contains content to be decimated (default false)
|
|
1360
|
+
extra_options: Extra options for the filter
|
|
1375
1361
|
|
|
1376
1362
|
Returns:
|
|
1377
1363
|
default: the video stream
|
|
@@ -1408,14 +1394,11 @@ def deconvolve(
|
|
|
1408
1394
|
_main: VideoStream,
|
|
1409
1395
|
_impulse: VideoStream,
|
|
1410
1396
|
*,
|
|
1411
|
-
planes: Int = Default(7),
|
|
1397
|
+
planes: Int = Default("7"),
|
|
1412
1398
|
impulse: Int | Literal["first", "all"] | Default = Default("all"),
|
|
1413
|
-
noise: Float = Default(1e-07),
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
repeatlast: Boolean = Default(True),
|
|
1417
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
1418
|
-
enable: String = Default(None),
|
|
1399
|
+
noise: Float = Default("1e-07"),
|
|
1400
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
1401
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1419
1402
|
extra_options: dict[str, Any] | None = None,
|
|
1420
1403
|
) -> VideoStream:
|
|
1421
1404
|
"""
|
|
@@ -1426,11 +1409,9 @@ def deconvolve(
|
|
|
1426
1409
|
planes: set planes to deconvolve (from 0 to 15) (default 7)
|
|
1427
1410
|
impulse: when to process impulses (from 0 to 1) (default all)
|
|
1428
1411
|
noise: set noise (from 0 to 1) (default 1e-07)
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
1433
|
-
enable: timeline editing
|
|
1412
|
+
framesync_options: Framesync options
|
|
1413
|
+
timeline_options: Timeline options
|
|
1414
|
+
extra_options: Extra options for the filter
|
|
1434
1415
|
|
|
1435
1416
|
Returns:
|
|
1436
1417
|
default: the video stream
|
|
@@ -1452,13 +1433,10 @@ def deconvolve(
|
|
|
1452
1433
|
"planes": planes,
|
|
1453
1434
|
"impulse": impulse,
|
|
1454
1435
|
"noise": noise,
|
|
1455
|
-
"eof_action": eof_action,
|
|
1456
|
-
"shortest": shortest,
|
|
1457
|
-
"repeatlast": repeatlast,
|
|
1458
|
-
"ts_sync_mode": ts_sync_mode,
|
|
1459
|
-
"enable": enable,
|
|
1460
1436
|
},
|
|
1461
1437
|
extra_options,
|
|
1438
|
+
framesync_options,
|
|
1439
|
+
timeline_options,
|
|
1462
1440
|
),
|
|
1463
1441
|
)
|
|
1464
1442
|
return filter_node.video(0)
|
|
@@ -1472,7 +1450,7 @@ def displace(
|
|
|
1472
1450
|
edge: Int | Literal["blank", "smear", "wrap", "mirror"] | Default = Default(
|
|
1473
1451
|
"smear"
|
|
1474
1452
|
),
|
|
1475
|
-
|
|
1453
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1476
1454
|
extra_options: dict[str, Any] | None = None,
|
|
1477
1455
|
) -> VideoStream:
|
|
1478
1456
|
"""
|
|
@@ -1481,7 +1459,8 @@ def displace(
|
|
|
1481
1459
|
|
|
1482
1460
|
Args:
|
|
1483
1461
|
edge: set edge mode (from 0 to 3) (default smear)
|
|
1484
|
-
|
|
1462
|
+
timeline_options: Timeline options
|
|
1463
|
+
extra_options: Extra options for the filter
|
|
1485
1464
|
|
|
1486
1465
|
Returns:
|
|
1487
1466
|
default: the video stream
|
|
@@ -1502,9 +1481,9 @@ def displace(
|
|
|
1502
1481
|
**merge(
|
|
1503
1482
|
{
|
|
1504
1483
|
"edge": edge,
|
|
1505
|
-
"enable": enable,
|
|
1506
1484
|
},
|
|
1507
1485
|
extra_options,
|
|
1486
|
+
timeline_options,
|
|
1508
1487
|
),
|
|
1509
1488
|
)
|
|
1510
1489
|
return filter_node.video(0)
|
|
@@ -1514,8 +1493,8 @@ def feedback(
|
|
|
1514
1493
|
_default: VideoStream,
|
|
1515
1494
|
_feedin: VideoStream,
|
|
1516
1495
|
*,
|
|
1517
|
-
x: Int = Default(0),
|
|
1518
|
-
w: Int = Default(0),
|
|
1496
|
+
x: Int = Default("0"),
|
|
1497
|
+
w: Int = Default("0"),
|
|
1519
1498
|
extra_options: dict[str, Any] | None = None,
|
|
1520
1499
|
) -> tuple[
|
|
1521
1500
|
VideoStream,
|
|
@@ -1528,6 +1507,7 @@ def feedback(
|
|
|
1528
1507
|
Args:
|
|
1529
1508
|
x: set top left crop position (from 0 to INT_MAX) (default 0)
|
|
1530
1509
|
w: set crop size (from 0 to INT_MAX) (default 0)
|
|
1510
|
+
extra_options: Extra options for the filter
|
|
1531
1511
|
|
|
1532
1512
|
Returns:
|
|
1533
1513
|
default: the video stream
|
|
@@ -1565,18 +1545,18 @@ def fieldmatch(
|
|
|
1565
1545
|
mode: Int
|
|
1566
1546
|
| Literal["pc", "pc_n", "pc_u", "pc_n_ub", "pcn", "pcn_ub"]
|
|
1567
1547
|
| Default = Default("pc_n"),
|
|
1568
|
-
ppsrc: Boolean = Default(
|
|
1548
|
+
ppsrc: Boolean = Default("false"),
|
|
1569
1549
|
field: Int | Literal["auto", "bottom", "top"] | Default = Default("auto"),
|
|
1570
|
-
mchroma: Boolean = Default(
|
|
1571
|
-
y0: Int = Default(0),
|
|
1572
|
-
scthresh: Double = Default(12
|
|
1550
|
+
mchroma: Boolean = Default("true"),
|
|
1551
|
+
y0: Int = Default("0"),
|
|
1552
|
+
scthresh: Double = Default("12"),
|
|
1573
1553
|
combmatch: Int | Literal["none", "sc", "full"] | Default = Default("sc"),
|
|
1574
1554
|
combdbg: Int | Literal["none", "pcn", "pcnub"] | Default = Default("none"),
|
|
1575
|
-
cthresh: Int = Default(9),
|
|
1576
|
-
chroma: Boolean = Default(
|
|
1577
|
-
blockx: Int = Default(16),
|
|
1578
|
-
blocky: Int = Default(16),
|
|
1579
|
-
combpel: Int = Default(80),
|
|
1555
|
+
cthresh: Int = Default("9"),
|
|
1556
|
+
chroma: Boolean = Default("false"),
|
|
1557
|
+
blockx: Int = Default("16"),
|
|
1558
|
+
blocky: Int = Default("16"),
|
|
1559
|
+
combpel: Int = Default("80"),
|
|
1580
1560
|
extra_options: dict[str, Any] | None = None,
|
|
1581
1561
|
) -> VideoStream:
|
|
1582
1562
|
"""
|
|
@@ -1598,6 +1578,7 @@ def fieldmatch(
|
|
|
1598
1578
|
blockx: set the x-axis size of the window used during combed frame detection (from 4 to 512) (default 16)
|
|
1599
1579
|
blocky: set the y-axis size of the window used during combed frame detection (from 4 to 512) (default 16)
|
|
1600
1580
|
combpel: set the number of combed pixels inside any of the blocky by blockx size blocks on the frame for the frame to be detected as combed (from 0 to INT_MAX) (default 80)
|
|
1581
|
+
extra_options: Extra options for the filter
|
|
1601
1582
|
|
|
1602
1583
|
Returns:
|
|
1603
1584
|
default: the video stream
|
|
@@ -1651,6 +1632,7 @@ def framepack(
|
|
|
1651
1632
|
|
|
1652
1633
|
Args:
|
|
1653
1634
|
format: Frame pack output format (from 0 to INT_MAX) (default sbs)
|
|
1635
|
+
extra_options: Extra options for the filter
|
|
1654
1636
|
|
|
1655
1637
|
Returns:
|
|
1656
1638
|
packed: the video stream
|
|
@@ -1681,9 +1663,9 @@ def freezeframes(
|
|
|
1681
1663
|
_source: VideoStream,
|
|
1682
1664
|
_replace: VideoStream,
|
|
1683
1665
|
*,
|
|
1684
|
-
first: Int64 = Default(0),
|
|
1685
|
-
last: Int64 = Default(0),
|
|
1686
|
-
replace: Int64 = Default(0),
|
|
1666
|
+
first: Int64 = Default("0"),
|
|
1667
|
+
last: Int64 = Default("0"),
|
|
1668
|
+
replace: Int64 = Default("0"),
|
|
1687
1669
|
extra_options: dict[str, Any] | None = None,
|
|
1688
1670
|
) -> VideoStream:
|
|
1689
1671
|
"""
|
|
@@ -1694,6 +1676,7 @@ def freezeframes(
|
|
|
1694
1676
|
first: set first frame to freeze (from 0 to I64_MAX) (default 0)
|
|
1695
1677
|
last: set last frame to freeze (from 0 to I64_MAX) (default 0)
|
|
1696
1678
|
replace: set frame to replace (from 0 to I64_MAX) (default 0)
|
|
1679
|
+
extra_options: Extra options for the filter
|
|
1697
1680
|
|
|
1698
1681
|
Returns:
|
|
1699
1682
|
default: the video stream
|
|
@@ -1724,13 +1707,13 @@ def freezeframes(
|
|
|
1724
1707
|
|
|
1725
1708
|
def guided(
|
|
1726
1709
|
*streams: VideoStream,
|
|
1727
|
-
radius: Int = Default(3),
|
|
1728
|
-
eps: Float = Default(0.01),
|
|
1710
|
+
radius: Int = Default("3"),
|
|
1711
|
+
eps: Float = Default("0.01"),
|
|
1729
1712
|
mode: Int | Literal["basic", "fast"] | Default = Default("basic"),
|
|
1730
|
-
sub: Int = Default(4),
|
|
1713
|
+
sub: Int = Default("4"),
|
|
1731
1714
|
guidance: Int | Literal["off", "on"] | Default = Default("off"),
|
|
1732
|
-
planes: Int = Default(1),
|
|
1733
|
-
|
|
1715
|
+
planes: Int = Default("1"),
|
|
1716
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1734
1717
|
extra_options: dict[str, Any] | None = None,
|
|
1735
1718
|
) -> VideoStream:
|
|
1736
1719
|
"""
|
|
@@ -1744,7 +1727,8 @@ def guided(
|
|
|
1744
1727
|
sub: subsampling ratio for fast mode (from 2 to 64) (default 4)
|
|
1745
1728
|
guidance: set guidance mode (0: off mode; 1: on mode) (from 0 to 1) (default off)
|
|
1746
1729
|
planes: set planes to filter (from 0 to 15) (default 1)
|
|
1747
|
-
|
|
1730
|
+
timeline_options: Timeline options
|
|
1731
|
+
extra_options: Extra options for the filter
|
|
1748
1732
|
|
|
1749
1733
|
Returns:
|
|
1750
1734
|
default: the video stream
|
|
@@ -1768,9 +1752,9 @@ def guided(
|
|
|
1768
1752
|
"sub": sub,
|
|
1769
1753
|
"guidance": guidance,
|
|
1770
1754
|
"planes": planes,
|
|
1771
|
-
"enable": enable,
|
|
1772
1755
|
},
|
|
1773
1756
|
extra_options,
|
|
1757
|
+
timeline_options,
|
|
1774
1758
|
),
|
|
1775
1759
|
)
|
|
1776
1760
|
return filter_node.video(0)
|
|
@@ -1784,11 +1768,8 @@ def haldclut(
|
|
|
1784
1768
|
interp: Int
|
|
1785
1769
|
| Literal["nearest", "trilinear", "tetrahedral", "pyramid", "prism"]
|
|
1786
1770
|
| Default = Default("tetrahedral"),
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
repeatlast: Boolean = Default(True),
|
|
1790
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
1791
|
-
enable: String = Default(None),
|
|
1771
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
1772
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1792
1773
|
extra_options: dict[str, Any] | None = None,
|
|
1793
1774
|
) -> VideoStream:
|
|
1794
1775
|
"""
|
|
@@ -1798,11 +1779,9 @@ def haldclut(
|
|
|
1798
1779
|
Args:
|
|
1799
1780
|
clut: when to process CLUT (from 0 to 1) (default all)
|
|
1800
1781
|
interp: select interpolation mode (from 0 to 4) (default tetrahedral)
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
1805
|
-
enable: timeline editing
|
|
1782
|
+
framesync_options: Framesync options
|
|
1783
|
+
timeline_options: Timeline options
|
|
1784
|
+
extra_options: Extra options for the filter
|
|
1806
1785
|
|
|
1807
1786
|
Returns:
|
|
1808
1787
|
default: the video stream
|
|
@@ -1821,13 +1800,10 @@ def haldclut(
|
|
|
1821
1800
|
{
|
|
1822
1801
|
"clut": clut,
|
|
1823
1802
|
"interp": interp,
|
|
1824
|
-
"eof_action": eof_action,
|
|
1825
|
-
"shortest": shortest,
|
|
1826
|
-
"repeatlast": repeatlast,
|
|
1827
|
-
"ts_sync_mode": ts_sync_mode,
|
|
1828
|
-
"enable": enable,
|
|
1829
1803
|
},
|
|
1830
1804
|
extra_options,
|
|
1805
|
+
framesync_options,
|
|
1806
|
+
timeline_options,
|
|
1831
1807
|
),
|
|
1832
1808
|
)
|
|
1833
1809
|
return filter_node.video(0)
|
|
@@ -1836,10 +1812,10 @@ def haldclut(
|
|
|
1836
1812
|
def headphone(
|
|
1837
1813
|
*streams: AudioStream,
|
|
1838
1814
|
map: String = Default(None),
|
|
1839
|
-
gain: Float = Default(0
|
|
1840
|
-
lfe: Float = Default(0
|
|
1815
|
+
gain: Float = Default("0"),
|
|
1816
|
+
lfe: Float = Default("0"),
|
|
1841
1817
|
type: Int | Literal["time", "freq"] | Default = Default("freq"),
|
|
1842
|
-
size: Int = Default(1024),
|
|
1818
|
+
size: Int = Default("1024"),
|
|
1843
1819
|
hrir: Int | Literal["stereo", "multich"] | Default = Default("stereo"),
|
|
1844
1820
|
extra_options: dict[str, Any] | None = None,
|
|
1845
1821
|
) -> AudioStream:
|
|
@@ -1854,6 +1830,7 @@ def headphone(
|
|
|
1854
1830
|
type: set processing (from 0 to 1) (default freq)
|
|
1855
1831
|
size: set frame size (from 1024 to 96000) (default 1024)
|
|
1856
1832
|
hrir: set hrir format (from 0 to 1) (default stereo)
|
|
1833
|
+
extra_options: Extra options for the filter
|
|
1857
1834
|
|
|
1858
1835
|
Returns:
|
|
1859
1836
|
default: the audio stream
|
|
@@ -1887,7 +1864,7 @@ def headphone(
|
|
|
1887
1864
|
def hstack(
|
|
1888
1865
|
*streams: VideoStream,
|
|
1889
1866
|
inputs: Int = Auto("len(streams)"),
|
|
1890
|
-
shortest: Boolean = Default(
|
|
1867
|
+
shortest: Boolean = Default("false"),
|
|
1891
1868
|
extra_options: dict[str, Any] | None = None,
|
|
1892
1869
|
) -> VideoStream:
|
|
1893
1870
|
"""
|
|
@@ -1897,6 +1874,7 @@ def hstack(
|
|
|
1897
1874
|
Args:
|
|
1898
1875
|
inputs: set number of inputs (from 2 to INT_MAX) (default 2)
|
|
1899
1876
|
shortest: force termination when the shortest input terminates (default false)
|
|
1877
|
+
extra_options: Extra options for the filter
|
|
1900
1878
|
|
|
1901
1879
|
Returns:
|
|
1902
1880
|
default: the video stream
|
|
@@ -1925,19 +1903,20 @@ def hstack(
|
|
|
1925
1903
|
|
|
1926
1904
|
def hstack_vaapi(
|
|
1927
1905
|
*streams: VideoStream,
|
|
1928
|
-
inputs: Int = Default(2),
|
|
1929
|
-
shortest: Boolean = Default(
|
|
1930
|
-
height: Int = Default(0),
|
|
1906
|
+
inputs: Int = Default("2"),
|
|
1907
|
+
shortest: Boolean = Default("false"),
|
|
1908
|
+
height: Int = Default("0"),
|
|
1931
1909
|
extra_options: dict[str, Any] | None = None,
|
|
1932
1910
|
) -> VideoStream:
|
|
1933
1911
|
"""
|
|
1934
1912
|
|
|
1935
|
-
"VA-API" hstack
|
|
1913
|
+
"VA-API" hstack.
|
|
1936
1914
|
|
|
1937
1915
|
Args:
|
|
1938
1916
|
inputs: Set number of inputs (from 2 to 65535) (default 2)
|
|
1939
1917
|
shortest: Force termination when the shortest input terminates (default false)
|
|
1940
1918
|
height: Set output height (0 to use the height of input 0) (from 0 to 65535) (default 0)
|
|
1919
|
+
extra_options: Extra options for the filter
|
|
1941
1920
|
|
|
1942
1921
|
Returns:
|
|
1943
1922
|
default: the video stream
|
|
@@ -1969,13 +1948,10 @@ def hysteresis(
|
|
|
1969
1948
|
_base: VideoStream,
|
|
1970
1949
|
_alt: VideoStream,
|
|
1971
1950
|
*,
|
|
1972
|
-
planes: Int = Default(15),
|
|
1973
|
-
threshold: Int = Default(0),
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
repeatlast: Boolean = Default(True),
|
|
1977
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
1978
|
-
enable: String = Default(None),
|
|
1951
|
+
planes: Int = Default("15"),
|
|
1952
|
+
threshold: Int = Default("0"),
|
|
1953
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
1954
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
1979
1955
|
extra_options: dict[str, Any] | None = None,
|
|
1980
1956
|
) -> VideoStream:
|
|
1981
1957
|
"""
|
|
@@ -1985,11 +1961,9 @@ def hysteresis(
|
|
|
1985
1961
|
Args:
|
|
1986
1962
|
planes: set planes (from 0 to 15) (default 15)
|
|
1987
1963
|
threshold: set threshold (from 0 to 65535) (default 0)
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
1992
|
-
enable: timeline editing
|
|
1964
|
+
framesync_options: Framesync options
|
|
1965
|
+
timeline_options: Timeline options
|
|
1966
|
+
extra_options: Extra options for the filter
|
|
1993
1967
|
|
|
1994
1968
|
Returns:
|
|
1995
1969
|
default: the video stream
|
|
@@ -2010,13 +1984,10 @@ def hysteresis(
|
|
|
2010
1984
|
{
|
|
2011
1985
|
"planes": planes,
|
|
2012
1986
|
"threshold": threshold,
|
|
2013
|
-
"eof_action": eof_action,
|
|
2014
|
-
"shortest": shortest,
|
|
2015
|
-
"repeatlast": repeatlast,
|
|
2016
|
-
"ts_sync_mode": ts_sync_mode,
|
|
2017
|
-
"enable": enable,
|
|
2018
1987
|
},
|
|
2019
1988
|
extra_options,
|
|
1989
|
+
framesync_options,
|
|
1990
|
+
timeline_options,
|
|
2020
1991
|
),
|
|
2021
1992
|
)
|
|
2022
1993
|
return filter_node.video(0)
|
|
@@ -2025,12 +1996,8 @@ def hysteresis(
|
|
|
2025
1996
|
def identity(
|
|
2026
1997
|
_main: VideoStream,
|
|
2027
1998
|
_reference: VideoStream,
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
shortest: Boolean = Default(False),
|
|
2031
|
-
repeatlast: Boolean = Default(True),
|
|
2032
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
2033
|
-
enable: String = Default(None),
|
|
1999
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
2000
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2034
2001
|
extra_options: dict[str, Any] | None = None,
|
|
2035
2002
|
) -> VideoStream:
|
|
2036
2003
|
"""
|
|
@@ -2038,11 +2005,9 @@ def identity(
|
|
|
2038
2005
|
Calculate the Identity between two video streams.
|
|
2039
2006
|
|
|
2040
2007
|
Args:
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
2045
|
-
enable: timeline editing
|
|
2008
|
+
framesync_options: Framesync options
|
|
2009
|
+
timeline_options: Timeline options
|
|
2010
|
+
extra_options: Extra options for the filter
|
|
2046
2011
|
|
|
2047
2012
|
Returns:
|
|
2048
2013
|
default: the video stream
|
|
@@ -2058,14 +2023,10 @@ def identity(
|
|
|
2058
2023
|
_main,
|
|
2059
2024
|
_reference,
|
|
2060
2025
|
**merge(
|
|
2061
|
-
{
|
|
2062
|
-
"eof_action": eof_action,
|
|
2063
|
-
"shortest": shortest,
|
|
2064
|
-
"repeatlast": repeatlast,
|
|
2065
|
-
"ts_sync_mode": ts_sync_mode,
|
|
2066
|
-
"enable": enable,
|
|
2067
|
-
},
|
|
2026
|
+
{},
|
|
2068
2027
|
extra_options,
|
|
2028
|
+
framesync_options,
|
|
2029
|
+
timeline_options,
|
|
2069
2030
|
),
|
|
2070
2031
|
)
|
|
2071
2032
|
return filter_node.video(0)
|
|
@@ -2086,6 +2047,7 @@ def interleave(
|
|
|
2086
2047
|
Args:
|
|
2087
2048
|
nb_inputs: set number of inputs (from 1 to INT_MAX) (default 2)
|
|
2088
2049
|
duration: how to determine the end-of-stream (from 0 to 2) (default longest)
|
|
2050
|
+
extra_options: Extra options for the filter
|
|
2089
2051
|
|
|
2090
2052
|
Returns:
|
|
2091
2053
|
default: the video stream
|
|
@@ -2127,6 +2089,7 @@ def join(
|
|
|
2127
2089
|
inputs: Number of input streams. (from 1 to INT_MAX) (default 2)
|
|
2128
2090
|
channel_layout: Channel layout of the output stream. (default "stereo")
|
|
2129
2091
|
map: A comma-separated list of channels maps in the format 'input_stream.input_channel-output_channel.
|
|
2092
|
+
extra_options: Extra options for the filter
|
|
2130
2093
|
|
|
2131
2094
|
Returns:
|
|
2132
2095
|
default: the audio stream
|
|
@@ -2159,10 +2122,10 @@ def ladspa(
|
|
|
2159
2122
|
file: String = Default(None),
|
|
2160
2123
|
plugin: String = Default(None),
|
|
2161
2124
|
controls: String = Default(None),
|
|
2162
|
-
sample_rate: Int = Default(44100),
|
|
2163
|
-
nb_samples: Int = Default(1024),
|
|
2164
|
-
duration: Duration = Default(-
|
|
2165
|
-
latency: Boolean = Default(
|
|
2125
|
+
sample_rate: Int = Default("44100"),
|
|
2126
|
+
nb_samples: Int = Default("1024"),
|
|
2127
|
+
duration: Duration = Default("-0.000001"),
|
|
2128
|
+
latency: Boolean = Default("false"),
|
|
2166
2129
|
extra_options: dict[str, Any] | None = None,
|
|
2167
2130
|
) -> AudioStream:
|
|
2168
2131
|
"""
|
|
@@ -2177,6 +2140,7 @@ def ladspa(
|
|
|
2177
2140
|
nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
|
|
2178
2141
|
duration: set audio duration (default -0.000001)
|
|
2179
2142
|
latency: enable latency compensation (default false)
|
|
2143
|
+
extra_options: Extra options for the filter
|
|
2180
2144
|
|
|
2181
2145
|
Returns:
|
|
2182
2146
|
default: the audio stream
|
|
@@ -2212,23 +2176,23 @@ def libplacebo(
|
|
|
2212
2176
|
w: String = Default("iw"),
|
|
2213
2177
|
h: String = Default("ih"),
|
|
2214
2178
|
fps: String = Default("none"),
|
|
2215
|
-
crop_x: String = Default("(iw-cw"),
|
|
2216
|
-
crop_y: String = Default("(ih-ch"),
|
|
2179
|
+
crop_x: String = Default("(iw-cw)/2"),
|
|
2180
|
+
crop_y: String = Default("(ih-ch)/2"),
|
|
2217
2181
|
crop_w: String = Default("iw"),
|
|
2218
2182
|
crop_h: String = Default("ih"),
|
|
2219
|
-
pos_x: String = Default("(ow-pw"),
|
|
2220
|
-
pos_y: String = Default("(oh-ph"),
|
|
2183
|
+
pos_x: String = Default("(ow-pw)/2"),
|
|
2184
|
+
pos_y: String = Default("(oh-ph)/2"),
|
|
2221
2185
|
pos_w: String = Default("ow"),
|
|
2222
2186
|
pos_h: String = Default("oh"),
|
|
2223
2187
|
format: String = Default(None),
|
|
2224
2188
|
force_original_aspect_ratio: Int
|
|
2225
2189
|
| Literal["disable", "decrease", "increase"]
|
|
2226
2190
|
| Default = Default("disable"),
|
|
2227
|
-
force_divisible_by: Int = Default(1),
|
|
2228
|
-
normalize_sar: Boolean = Default(
|
|
2229
|
-
pad_crop_ratio: Float = Default(0
|
|
2191
|
+
force_divisible_by: Int = Default("1"),
|
|
2192
|
+
normalize_sar: Boolean = Default("false"),
|
|
2193
|
+
pad_crop_ratio: Float = Default("0"),
|
|
2230
2194
|
fillcolor: String = Default("black"),
|
|
2231
|
-
corner_rounding: Float = Default(0
|
|
2195
|
+
corner_rounding: Float = Default("0"),
|
|
2232
2196
|
extra_opts: Dictionary = Default(None),
|
|
2233
2197
|
colorspace: Int
|
|
2234
2198
|
| Literal[
|
|
@@ -2264,7 +2228,7 @@ def libplacebo(
|
|
|
2264
2228
|
"smpte428",
|
|
2265
2229
|
"smpte431",
|
|
2266
2230
|
"smpte432",
|
|
2267
|
-
"p22",
|
|
2231
|
+
"jedec-p22",
|
|
2268
2232
|
"ebu3213",
|
|
2269
2233
|
]
|
|
2270
2234
|
| Default = Default("auto"),
|
|
@@ -2278,39 +2242,39 @@ def libplacebo(
|
|
|
2278
2242
|
"smpte170m",
|
|
2279
2243
|
"smpte240m",
|
|
2280
2244
|
"linear",
|
|
2281
|
-
"4",
|
|
2245
|
+
"iec61966-2-4",
|
|
2282
2246
|
"bt1361e",
|
|
2283
|
-
"1",
|
|
2284
|
-
"10",
|
|
2285
|
-
"12",
|
|
2247
|
+
"iec61966-2-1",
|
|
2248
|
+
"bt2020-10",
|
|
2249
|
+
"bt2020-12",
|
|
2286
2250
|
"smpte2084",
|
|
2287
|
-
"b67",
|
|
2251
|
+
"arib-std-b67",
|
|
2288
2252
|
]
|
|
2289
2253
|
| Default = Default("auto"),
|
|
2290
2254
|
upscaler: String = Default("spline36"),
|
|
2291
2255
|
downscaler: String = Default("mitchell"),
|
|
2292
2256
|
frame_mixer: String = Default("none"),
|
|
2293
|
-
lut_entries: Int = Default(0),
|
|
2294
|
-
antiringing: Float = Default(0
|
|
2295
|
-
sigmoid: Boolean = Default(
|
|
2296
|
-
apply_filmgrain: Boolean = Default(
|
|
2297
|
-
apply_dolbyvision: Boolean = Default(
|
|
2298
|
-
deband: Boolean = Default(
|
|
2299
|
-
deband_iterations: Int = Default(1),
|
|
2300
|
-
deband_threshold: Float = Default(4
|
|
2301
|
-
deband_radius: Float = Default(16
|
|
2302
|
-
deband_grain: Float = Default(6
|
|
2303
|
-
brightness: Float = Default(0
|
|
2304
|
-
contrast: Float = Default(1
|
|
2305
|
-
saturation: Float = Default(1
|
|
2306
|
-
hue: Float = Default(0
|
|
2307
|
-
gamma: Float = Default(1
|
|
2308
|
-
peak_detect: Boolean = Default(
|
|
2309
|
-
smoothing_period: Float = Default(100
|
|
2310
|
-
minimum_peak: Float = Default(1
|
|
2311
|
-
scene_threshold_low: Float = Default(5.5),
|
|
2312
|
-
scene_threshold_high: Float = Default(10
|
|
2313
|
-
percentile: Float = Default(99.995),
|
|
2257
|
+
lut_entries: Int = Default("0"),
|
|
2258
|
+
antiringing: Float = Default("0"),
|
|
2259
|
+
sigmoid: Boolean = Default("true"),
|
|
2260
|
+
apply_filmgrain: Boolean = Default("true"),
|
|
2261
|
+
apply_dolbyvision: Boolean = Default("true"),
|
|
2262
|
+
deband: Boolean = Default("false"),
|
|
2263
|
+
deband_iterations: Int = Default("1"),
|
|
2264
|
+
deband_threshold: Float = Default("4"),
|
|
2265
|
+
deband_radius: Float = Default("16"),
|
|
2266
|
+
deband_grain: Float = Default("6"),
|
|
2267
|
+
brightness: Float = Default("0"),
|
|
2268
|
+
contrast: Float = Default("1"),
|
|
2269
|
+
saturation: Float = Default("1"),
|
|
2270
|
+
hue: Float = Default("0"),
|
|
2271
|
+
gamma: Float = Default("1"),
|
|
2272
|
+
peak_detect: Boolean = Default("true"),
|
|
2273
|
+
smoothing_period: Float = Default("100"),
|
|
2274
|
+
minimum_peak: Float = Default("1"),
|
|
2275
|
+
scene_threshold_low: Float = Default("5.5"),
|
|
2276
|
+
scene_threshold_high: Float = Default("10"),
|
|
2277
|
+
percentile: Float = Default("99.995"),
|
|
2314
2278
|
gamut_mode: Int
|
|
2315
2279
|
| Literal[
|
|
2316
2280
|
"clip",
|
|
@@ -2328,10 +2292,10 @@ def libplacebo(
|
|
|
2328
2292
|
| Literal[
|
|
2329
2293
|
"auto",
|
|
2330
2294
|
"clip",
|
|
2331
|
-
"40",
|
|
2332
|
-
"10",
|
|
2333
|
-
"2390",
|
|
2334
|
-
"2446a",
|
|
2295
|
+
"st2094-40",
|
|
2296
|
+
"st2094-10",
|
|
2297
|
+
"bt.2390",
|
|
2298
|
+
"bt.2446a",
|
|
2335
2299
|
"spline",
|
|
2336
2300
|
"reinhard",
|
|
2337
2301
|
"mobius",
|
|
@@ -2340,45 +2304,45 @@ def libplacebo(
|
|
|
2340
2304
|
"linear",
|
|
2341
2305
|
]
|
|
2342
2306
|
| Default = Default("auto"),
|
|
2343
|
-
tonemapping_param: Float = Default(0
|
|
2344
|
-
inverse_tonemapping: Boolean = Default(
|
|
2345
|
-
tonemapping_lut_size: Int = Default(256),
|
|
2346
|
-
contrast_recovery: Float = Default(0.3),
|
|
2347
|
-
contrast_smoothness: Float = Default(3.5),
|
|
2348
|
-
desaturation_strength: Float = Default(-1
|
|
2349
|
-
desaturation_exponent: Float = Default(-1
|
|
2350
|
-
gamut_warning: Boolean = Default(
|
|
2351
|
-
gamut_clipping: Boolean = Default(
|
|
2307
|
+
tonemapping_param: Float = Default("0"),
|
|
2308
|
+
inverse_tonemapping: Boolean = Default("false"),
|
|
2309
|
+
tonemapping_lut_size: Int = Default("256"),
|
|
2310
|
+
contrast_recovery: Float = Default("0.3"),
|
|
2311
|
+
contrast_smoothness: Float = Default("3.5"),
|
|
2312
|
+
desaturation_strength: Float = Default("-1"),
|
|
2313
|
+
desaturation_exponent: Float = Default("-1"),
|
|
2314
|
+
gamut_warning: Boolean = Default("false"),
|
|
2315
|
+
gamut_clipping: Boolean = Default("false"),
|
|
2352
2316
|
intent: Int
|
|
2353
2317
|
| Literal["perceptual", "relative", "absolute", "saturation"]
|
|
2354
2318
|
| Default = Default("perceptual"),
|
|
2355
2319
|
tonemapping_mode: Int
|
|
2356
2320
|
| Literal["auto", "rgb", "max", "hybrid", "luma"]
|
|
2357
2321
|
| Default = Default("auto"),
|
|
2358
|
-
tonemapping_crosstalk: Float = Default(0.04),
|
|
2359
|
-
overshoot: Float = Default(0.05),
|
|
2360
|
-
hybrid_mix: Float = Default(0.2),
|
|
2322
|
+
tonemapping_crosstalk: Float = Default("0.04"),
|
|
2323
|
+
overshoot: Float = Default("0.05"),
|
|
2324
|
+
hybrid_mix: Float = Default("0.2"),
|
|
2361
2325
|
dithering: Int
|
|
2362
2326
|
| Literal["none", "blue", "ordered", "ordered_fixed", "white"]
|
|
2363
2327
|
| Default = Default("blue"),
|
|
2364
|
-
dither_lut_size: Int = Default(6),
|
|
2365
|
-
dither_temporal: Boolean = Default(
|
|
2328
|
+
dither_lut_size: Int = Default("6"),
|
|
2329
|
+
dither_temporal: Boolean = Default("false"),
|
|
2366
2330
|
cones: Flags | Literal["l", "m", "s"] | Default = Default("0"),
|
|
2367
|
-
cone_strength: Float = Default(0
|
|
2331
|
+
cone_strength: Float = Default("0"),
|
|
2368
2332
|
custom_shader_path: String = Default(None),
|
|
2369
2333
|
custom_shader_bin: Binary = Default(None),
|
|
2370
|
-
skip_aa: Boolean = Default(
|
|
2371
|
-
polar_cutoff: Float = Default(0
|
|
2372
|
-
disable_linear: Boolean = Default(
|
|
2373
|
-
disable_builtin: Boolean = Default(
|
|
2374
|
-
force_icc_lut: Boolean = Default(
|
|
2375
|
-
force_dither: Boolean = Default(
|
|
2376
|
-
disable_fbos: Boolean = Default(
|
|
2334
|
+
skip_aa: Boolean = Default("false"),
|
|
2335
|
+
polar_cutoff: Float = Default("0"),
|
|
2336
|
+
disable_linear: Boolean = Default("false"),
|
|
2337
|
+
disable_builtin: Boolean = Default("false"),
|
|
2338
|
+
force_icc_lut: Boolean = Default("false"),
|
|
2339
|
+
force_dither: Boolean = Default("false"),
|
|
2340
|
+
disable_fbos: Boolean = Default("false"),
|
|
2377
2341
|
extra_options: dict[str, Any] | None = None,
|
|
2378
2342
|
) -> VideoStream:
|
|
2379
2343
|
"""
|
|
2380
2344
|
|
|
2381
|
-
Apply various GPU filters from libplacebo
|
|
2345
|
+
Apply various GPU filters from libplacebo.
|
|
2382
2346
|
|
|
2383
2347
|
Args:
|
|
2384
2348
|
inputs: Number of inputs (from 1 to INT_MAX) (default 1)
|
|
@@ -2459,6 +2423,7 @@ def libplacebo(
|
|
|
2459
2423
|
force_icc_lut: Deprecated, does nothing (default false)
|
|
2460
2424
|
force_dither: Force dithering (default false)
|
|
2461
2425
|
disable_fbos: Force-disable FBOs (default false)
|
|
2426
|
+
extra_options: Extra options for the filter
|
|
2462
2427
|
|
|
2463
2428
|
Returns:
|
|
2464
2429
|
default: the video stream
|
|
@@ -2563,11 +2528,11 @@ def libplacebo(
|
|
|
2563
2528
|
|
|
2564
2529
|
def limitdiff(
|
|
2565
2530
|
*streams: VideoStream,
|
|
2566
|
-
threshold: Float = Default(0.00392157),
|
|
2567
|
-
elasticity: Float = Default(2
|
|
2568
|
-
reference: Boolean = Default(
|
|
2569
|
-
planes: Int = Default(15),
|
|
2570
|
-
|
|
2531
|
+
threshold: Float = Default("0.00392157"),
|
|
2532
|
+
elasticity: Float = Default("2"),
|
|
2533
|
+
reference: Boolean = Default("false"),
|
|
2534
|
+
planes: Int = Default("15"),
|
|
2535
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2571
2536
|
extra_options: dict[str, Any] | None = None,
|
|
2572
2537
|
) -> VideoStream:
|
|
2573
2538
|
"""
|
|
@@ -2579,7 +2544,8 @@ def limitdiff(
|
|
|
2579
2544
|
elasticity: set the elasticity (from 0 to 10) (default 2)
|
|
2580
2545
|
reference: enable reference stream (default false)
|
|
2581
2546
|
planes: set the planes to filter (from 0 to 15) (default 15)
|
|
2582
|
-
|
|
2547
|
+
timeline_options: Timeline options
|
|
2548
|
+
extra_options: Extra options for the filter
|
|
2583
2549
|
|
|
2584
2550
|
Returns:
|
|
2585
2551
|
default: the video stream
|
|
@@ -2601,9 +2567,9 @@ def limitdiff(
|
|
|
2601
2567
|
"elasticity": elasticity,
|
|
2602
2568
|
"reference": reference,
|
|
2603
2569
|
"planes": planes,
|
|
2604
|
-
"enable": enable,
|
|
2605
2570
|
},
|
|
2606
2571
|
extra_options,
|
|
2572
|
+
timeline_options,
|
|
2607
2573
|
),
|
|
2608
2574
|
)
|
|
2609
2575
|
return filter_node.video(0)
|
|
@@ -2617,12 +2583,9 @@ def lut2(
|
|
|
2617
2583
|
c1: String = Default("x"),
|
|
2618
2584
|
c2: String = Default("x"),
|
|
2619
2585
|
c3: String = Default("x"),
|
|
2620
|
-
d: Int = Default(0),
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
repeatlast: Boolean = Default(True),
|
|
2624
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
2625
|
-
enable: String = Default(None),
|
|
2586
|
+
d: Int = Default("0"),
|
|
2587
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
2588
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2626
2589
|
extra_options: dict[str, Any] | None = None,
|
|
2627
2590
|
) -> VideoStream:
|
|
2628
2591
|
"""
|
|
@@ -2635,11 +2598,9 @@ def lut2(
|
|
|
2635
2598
|
c2: set component #2 expression (default "x")
|
|
2636
2599
|
c3: set component #3 expression (default "x")
|
|
2637
2600
|
d: set output depth (from 0 to 16) (default 0)
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
2642
|
-
enable: timeline editing
|
|
2601
|
+
framesync_options: Framesync options
|
|
2602
|
+
timeline_options: Timeline options
|
|
2603
|
+
extra_options: Extra options for the filter
|
|
2643
2604
|
|
|
2644
2605
|
Returns:
|
|
2645
2606
|
default: the video stream
|
|
@@ -2661,13 +2622,10 @@ def lut2(
|
|
|
2661
2622
|
"c2": c2,
|
|
2662
2623
|
"c3": c3,
|
|
2663
2624
|
"d": d,
|
|
2664
|
-
"eof_action": eof_action,
|
|
2665
|
-
"shortest": shortest,
|
|
2666
|
-
"repeatlast": repeatlast,
|
|
2667
|
-
"ts_sync_mode": ts_sync_mode,
|
|
2668
|
-
"enable": enable,
|
|
2669
2625
|
},
|
|
2670
2626
|
extra_options,
|
|
2627
|
+
framesync_options,
|
|
2628
|
+
timeline_options,
|
|
2671
2629
|
),
|
|
2672
2630
|
)
|
|
2673
2631
|
return filter_node.video(0)
|
|
@@ -2677,9 +2635,9 @@ def lv2(
|
|
|
2677
2635
|
*streams: AudioStream,
|
|
2678
2636
|
plugin: String = Default(None),
|
|
2679
2637
|
controls: String = Default(None),
|
|
2680
|
-
sample_rate: Int = Default(44100),
|
|
2681
|
-
nb_samples: Int = Default(1024),
|
|
2682
|
-
duration: Duration = Default(-
|
|
2638
|
+
sample_rate: Int = Default("44100"),
|
|
2639
|
+
nb_samples: Int = Default("1024"),
|
|
2640
|
+
duration: Duration = Default("-0.000001"),
|
|
2683
2641
|
extra_options: dict[str, Any] | None = None,
|
|
2684
2642
|
) -> AudioStream:
|
|
2685
2643
|
"""
|
|
@@ -2692,6 +2650,7 @@ def lv2(
|
|
|
2692
2650
|
sample_rate: set sample rate (from 1 to INT_MAX) (default 44100)
|
|
2693
2651
|
nb_samples: set the number of samples per requested frame (from 1 to INT_MAX) (default 1024)
|
|
2694
2652
|
duration: set audio duration (default -0.000001)
|
|
2653
|
+
extra_options: Extra options for the filter
|
|
2695
2654
|
|
|
2696
2655
|
Returns:
|
|
2697
2656
|
default: the audio stream
|
|
@@ -2724,10 +2683,10 @@ def maskedclamp(
|
|
|
2724
2683
|
_dark: VideoStream,
|
|
2725
2684
|
_bright: VideoStream,
|
|
2726
2685
|
*,
|
|
2727
|
-
undershoot: Int = Default(0),
|
|
2728
|
-
overshoot: Int = Default(0),
|
|
2729
|
-
planes: Int = Default(15),
|
|
2730
|
-
|
|
2686
|
+
undershoot: Int = Default("0"),
|
|
2687
|
+
overshoot: Int = Default("0"),
|
|
2688
|
+
planes: Int = Default("15"),
|
|
2689
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2731
2690
|
extra_options: dict[str, Any] | None = None,
|
|
2732
2691
|
) -> VideoStream:
|
|
2733
2692
|
"""
|
|
@@ -2738,7 +2697,8 @@ def maskedclamp(
|
|
|
2738
2697
|
undershoot: set undershoot (from 0 to 65535) (default 0)
|
|
2739
2698
|
overshoot: set overshoot (from 0 to 65535) (default 0)
|
|
2740
2699
|
planes: set planes (from 0 to 15) (default 15)
|
|
2741
|
-
|
|
2700
|
+
timeline_options: Timeline options
|
|
2701
|
+
extra_options: Extra options for the filter
|
|
2742
2702
|
|
|
2743
2703
|
Returns:
|
|
2744
2704
|
default: the video stream
|
|
@@ -2761,9 +2721,9 @@ def maskedclamp(
|
|
|
2761
2721
|
"undershoot": undershoot,
|
|
2762
2722
|
"overshoot": overshoot,
|
|
2763
2723
|
"planes": planes,
|
|
2764
|
-
"enable": enable,
|
|
2765
2724
|
},
|
|
2766
2725
|
extra_options,
|
|
2726
|
+
timeline_options,
|
|
2767
2727
|
),
|
|
2768
2728
|
)
|
|
2769
2729
|
return filter_node.video(0)
|
|
@@ -2774,8 +2734,8 @@ def maskedmax(
|
|
|
2774
2734
|
_filter1: VideoStream,
|
|
2775
2735
|
_filter2: VideoStream,
|
|
2776
2736
|
*,
|
|
2777
|
-
planes: Int = Default(15),
|
|
2778
|
-
|
|
2737
|
+
planes: Int = Default("15"),
|
|
2738
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2779
2739
|
extra_options: dict[str, Any] | None = None,
|
|
2780
2740
|
) -> VideoStream:
|
|
2781
2741
|
"""
|
|
@@ -2784,7 +2744,8 @@ def maskedmax(
|
|
|
2784
2744
|
|
|
2785
2745
|
Args:
|
|
2786
2746
|
planes: set planes (from 0 to 15) (default 15)
|
|
2787
|
-
|
|
2747
|
+
timeline_options: Timeline options
|
|
2748
|
+
extra_options: Extra options for the filter
|
|
2788
2749
|
|
|
2789
2750
|
Returns:
|
|
2790
2751
|
default: the video stream
|
|
@@ -2805,9 +2766,9 @@ def maskedmax(
|
|
|
2805
2766
|
**merge(
|
|
2806
2767
|
{
|
|
2807
2768
|
"planes": planes,
|
|
2808
|
-
"enable": enable,
|
|
2809
2769
|
},
|
|
2810
2770
|
extra_options,
|
|
2771
|
+
timeline_options,
|
|
2811
2772
|
),
|
|
2812
2773
|
)
|
|
2813
2774
|
return filter_node.video(0)
|
|
@@ -2818,8 +2779,8 @@ def maskedmerge(
|
|
|
2818
2779
|
_overlay: VideoStream,
|
|
2819
2780
|
_mask: VideoStream,
|
|
2820
2781
|
*,
|
|
2821
|
-
planes: Int = Default(15),
|
|
2822
|
-
|
|
2782
|
+
planes: Int = Default("15"),
|
|
2783
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2823
2784
|
extra_options: dict[str, Any] | None = None,
|
|
2824
2785
|
) -> VideoStream:
|
|
2825
2786
|
"""
|
|
@@ -2828,7 +2789,8 @@ def maskedmerge(
|
|
|
2828
2789
|
|
|
2829
2790
|
Args:
|
|
2830
2791
|
planes: set planes (from 0 to 15) (default 15)
|
|
2831
|
-
|
|
2792
|
+
timeline_options: Timeline options
|
|
2793
|
+
extra_options: Extra options for the filter
|
|
2832
2794
|
|
|
2833
2795
|
Returns:
|
|
2834
2796
|
default: the video stream
|
|
@@ -2849,9 +2811,9 @@ def maskedmerge(
|
|
|
2849
2811
|
**merge(
|
|
2850
2812
|
{
|
|
2851
2813
|
"planes": planes,
|
|
2852
|
-
"enable": enable,
|
|
2853
2814
|
},
|
|
2854
2815
|
extra_options,
|
|
2816
|
+
timeline_options,
|
|
2855
2817
|
),
|
|
2856
2818
|
)
|
|
2857
2819
|
return filter_node.video(0)
|
|
@@ -2862,8 +2824,8 @@ def maskedmin(
|
|
|
2862
2824
|
_filter1: VideoStream,
|
|
2863
2825
|
_filter2: VideoStream,
|
|
2864
2826
|
*,
|
|
2865
|
-
planes: Int = Default(15),
|
|
2866
|
-
|
|
2827
|
+
planes: Int = Default("15"),
|
|
2828
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2867
2829
|
extra_options: dict[str, Any] | None = None,
|
|
2868
2830
|
) -> VideoStream:
|
|
2869
2831
|
"""
|
|
@@ -2872,7 +2834,8 @@ def maskedmin(
|
|
|
2872
2834
|
|
|
2873
2835
|
Args:
|
|
2874
2836
|
planes: set planes (from 0 to 15) (default 15)
|
|
2875
|
-
|
|
2837
|
+
timeline_options: Timeline options
|
|
2838
|
+
extra_options: Extra options for the filter
|
|
2876
2839
|
|
|
2877
2840
|
Returns:
|
|
2878
2841
|
default: the video stream
|
|
@@ -2893,9 +2856,9 @@ def maskedmin(
|
|
|
2893
2856
|
**merge(
|
|
2894
2857
|
{
|
|
2895
2858
|
"planes": planes,
|
|
2896
|
-
"enable": enable,
|
|
2897
2859
|
},
|
|
2898
2860
|
extra_options,
|
|
2861
|
+
timeline_options,
|
|
2899
2862
|
),
|
|
2900
2863
|
)
|
|
2901
2864
|
return filter_node.video(0)
|
|
@@ -2905,10 +2868,10 @@ def maskedthreshold(
|
|
|
2905
2868
|
_source: VideoStream,
|
|
2906
2869
|
_reference: VideoStream,
|
|
2907
2870
|
*,
|
|
2908
|
-
threshold: Int = Default(1),
|
|
2909
|
-
planes: Int = Default(15),
|
|
2871
|
+
threshold: Int = Default("1"),
|
|
2872
|
+
planes: Int = Default("15"),
|
|
2910
2873
|
mode: Int | Literal["abs", "diff"] | Default = Default("abs"),
|
|
2911
|
-
|
|
2874
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
2912
2875
|
extra_options: dict[str, Any] | None = None,
|
|
2913
2876
|
) -> VideoStream:
|
|
2914
2877
|
"""
|
|
@@ -2919,7 +2882,8 @@ def maskedthreshold(
|
|
|
2919
2882
|
threshold: set threshold (from 0 to 65535) (default 1)
|
|
2920
2883
|
planes: set planes (from 0 to 15) (default 15)
|
|
2921
2884
|
mode: set mode (from 0 to 1) (default abs)
|
|
2922
|
-
|
|
2885
|
+
timeline_options: Timeline options
|
|
2886
|
+
extra_options: Extra options for the filter
|
|
2923
2887
|
|
|
2924
2888
|
Returns:
|
|
2925
2889
|
default: the video stream
|
|
@@ -2941,9 +2905,9 @@ def maskedthreshold(
|
|
|
2941
2905
|
"threshold": threshold,
|
|
2942
2906
|
"planes": planes,
|
|
2943
2907
|
"mode": mode,
|
|
2944
|
-
"enable": enable,
|
|
2945
2908
|
},
|
|
2946
2909
|
extra_options,
|
|
2910
|
+
timeline_options,
|
|
2947
2911
|
),
|
|
2948
2912
|
)
|
|
2949
2913
|
return filter_node.video(0)
|
|
@@ -2951,16 +2915,16 @@ def maskedthreshold(
|
|
|
2951
2915
|
|
|
2952
2916
|
def mergeplanes(
|
|
2953
2917
|
*streams: VideoStream,
|
|
2954
|
-
mapping: Int = Default(-1),
|
|
2918
|
+
mapping: Int = Default("-1"),
|
|
2955
2919
|
format: Pix_fmt = Default("yuva444p"),
|
|
2956
|
-
map0s: Int = Default(0),
|
|
2957
|
-
map0p: Int = Default(0),
|
|
2958
|
-
map1s: Int = Default(0),
|
|
2959
|
-
map1p: Int = Default(0),
|
|
2960
|
-
map2s: Int = Default(0),
|
|
2961
|
-
map2p: Int = Default(0),
|
|
2962
|
-
map3s: Int = Default(0),
|
|
2963
|
-
map3p: Int = Default(0),
|
|
2920
|
+
map0s: Int = Default("0"),
|
|
2921
|
+
map0p: Int = Default("0"),
|
|
2922
|
+
map1s: Int = Default("0"),
|
|
2923
|
+
map1p: Int = Default("0"),
|
|
2924
|
+
map2s: Int = Default("0"),
|
|
2925
|
+
map2p: Int = Default("0"),
|
|
2926
|
+
map3s: Int = Default("0"),
|
|
2927
|
+
map3p: Int = Default("0"),
|
|
2964
2928
|
extra_options: dict[str, Any] | None = None,
|
|
2965
2929
|
) -> VideoStream:
|
|
2966
2930
|
"""
|
|
@@ -2978,6 +2942,7 @@ def mergeplanes(
|
|
|
2978
2942
|
map2p: set 3rd input to output plane mapping (from 0 to 3) (default 0)
|
|
2979
2943
|
map3s: set 4th input to output stream mapping (from 0 to 3) (default 0)
|
|
2980
2944
|
map3p: set 4th input to output plane mapping (from 0 to 3) (default 0)
|
|
2945
|
+
extra_options: Extra options for the filter
|
|
2981
2946
|
|
|
2982
2947
|
Returns:
|
|
2983
2948
|
default: the video stream
|
|
@@ -3016,8 +2981,8 @@ def midequalizer(
|
|
|
3016
2981
|
_in0: VideoStream,
|
|
3017
2982
|
_in1: VideoStream,
|
|
3018
2983
|
*,
|
|
3019
|
-
planes: Int = Default(15),
|
|
3020
|
-
|
|
2984
|
+
planes: Int = Default("15"),
|
|
2985
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3021
2986
|
extra_options: dict[str, Any] | None = None,
|
|
3022
2987
|
) -> VideoStream:
|
|
3023
2988
|
"""
|
|
@@ -3026,7 +2991,8 @@ def midequalizer(
|
|
|
3026
2991
|
|
|
3027
2992
|
Args:
|
|
3028
2993
|
planes: set planes (from 0 to 15) (default 15)
|
|
3029
|
-
|
|
2994
|
+
timeline_options: Timeline options
|
|
2995
|
+
extra_options: Extra options for the filter
|
|
3030
2996
|
|
|
3031
2997
|
Returns:
|
|
3032
2998
|
default: the video stream
|
|
@@ -3046,9 +3012,9 @@ def midequalizer(
|
|
|
3046
3012
|
**merge(
|
|
3047
3013
|
{
|
|
3048
3014
|
"planes": planes,
|
|
3049
|
-
"enable": enable,
|
|
3050
3015
|
},
|
|
3051
3016
|
extra_options,
|
|
3017
|
+
timeline_options,
|
|
3052
3018
|
),
|
|
3053
3019
|
)
|
|
3054
3020
|
return filter_node.video(0)
|
|
@@ -3058,12 +3024,12 @@ def mix(
|
|
|
3058
3024
|
*streams: VideoStream,
|
|
3059
3025
|
inputs: Int = Auto("len(streams)"),
|
|
3060
3026
|
weights: String = Default("1 1"),
|
|
3061
|
-
scale: Float = Default(0
|
|
3027
|
+
scale: Float = Default("0"),
|
|
3062
3028
|
planes: Flags = Default("F"),
|
|
3063
3029
|
duration: Int | Literal["longest", "shortest", "first"] | Default = Default(
|
|
3064
3030
|
"longest"
|
|
3065
3031
|
),
|
|
3066
|
-
|
|
3032
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3067
3033
|
extra_options: dict[str, Any] | None = None,
|
|
3068
3034
|
) -> VideoStream:
|
|
3069
3035
|
"""
|
|
@@ -3076,7 +3042,8 @@ def mix(
|
|
|
3076
3042
|
scale: set scale (from 0 to 32767) (default 0)
|
|
3077
3043
|
planes: set what planes to filter (default F)
|
|
3078
3044
|
duration: how to determine end of stream (from 0 to 2) (default longest)
|
|
3079
|
-
|
|
3045
|
+
timeline_options: Timeline options
|
|
3046
|
+
extra_options: Extra options for the filter
|
|
3080
3047
|
|
|
3081
3048
|
Returns:
|
|
3082
3049
|
default: the video stream
|
|
@@ -3099,9 +3066,9 @@ def mix(
|
|
|
3099
3066
|
"scale": scale,
|
|
3100
3067
|
"planes": planes,
|
|
3101
3068
|
"duration": duration,
|
|
3102
|
-
"enable": enable,
|
|
3103
3069
|
},
|
|
3104
3070
|
extra_options,
|
|
3071
|
+
timeline_options,
|
|
3105
3072
|
),
|
|
3106
3073
|
)
|
|
3107
3074
|
return filter_node.video(0)
|
|
@@ -3114,13 +3081,10 @@ def morpho(
|
|
|
3114
3081
|
mode: Int
|
|
3115
3082
|
| Literal["erode", "dilate", "open", "close", "gradient", "tophat", "blackhat"]
|
|
3116
3083
|
| Default = Default("erode"),
|
|
3117
|
-
planes: Int = Default(7),
|
|
3084
|
+
planes: Int = Default("7"),
|
|
3118
3085
|
structure: Int | Literal["first", "all"] | Default = Default("all"),
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
repeatlast: Boolean = Default(True),
|
|
3122
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
3123
|
-
enable: String = Default(None),
|
|
3086
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
3087
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3124
3088
|
extra_options: dict[str, Any] | None = None,
|
|
3125
3089
|
) -> VideoStream:
|
|
3126
3090
|
"""
|
|
@@ -3131,11 +3095,9 @@ def morpho(
|
|
|
3131
3095
|
mode: set morphological transform (from 0 to 6) (default erode)
|
|
3132
3096
|
planes: set planes to filter (from 0 to 15) (default 7)
|
|
3133
3097
|
structure: when to process structures (from 0 to 1) (default all)
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
3138
|
-
enable: timeline editing
|
|
3098
|
+
framesync_options: Framesync options
|
|
3099
|
+
timeline_options: Timeline options
|
|
3100
|
+
extra_options: Extra options for the filter
|
|
3139
3101
|
|
|
3140
3102
|
Returns:
|
|
3141
3103
|
default: the video stream
|
|
@@ -3155,13 +3117,10 @@ def morpho(
|
|
|
3155
3117
|
"mode": mode,
|
|
3156
3118
|
"planes": planes,
|
|
3157
3119
|
"structure": structure,
|
|
3158
|
-
"eof_action": eof_action,
|
|
3159
|
-
"shortest": shortest,
|
|
3160
|
-
"repeatlast": repeatlast,
|
|
3161
|
-
"ts_sync_mode": ts_sync_mode,
|
|
3162
|
-
"enable": enable,
|
|
3163
3120
|
},
|
|
3164
3121
|
extra_options,
|
|
3122
|
+
framesync_options,
|
|
3123
|
+
timeline_options,
|
|
3165
3124
|
),
|
|
3166
3125
|
)
|
|
3167
3126
|
return filter_node.video(0)
|
|
@@ -3170,12 +3129,8 @@ def morpho(
|
|
|
3170
3129
|
def msad(
|
|
3171
3130
|
_main: VideoStream,
|
|
3172
3131
|
_reference: VideoStream,
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
shortest: Boolean = Default(False),
|
|
3176
|
-
repeatlast: Boolean = Default(True),
|
|
3177
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
3178
|
-
enable: String = Default(None),
|
|
3132
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
3133
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3179
3134
|
extra_options: dict[str, Any] | None = None,
|
|
3180
3135
|
) -> VideoStream:
|
|
3181
3136
|
"""
|
|
@@ -3183,11 +3138,9 @@ def msad(
|
|
|
3183
3138
|
Calculate the MSAD between two video streams.
|
|
3184
3139
|
|
|
3185
3140
|
Args:
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
3190
|
-
enable: timeline editing
|
|
3141
|
+
framesync_options: Framesync options
|
|
3142
|
+
timeline_options: Timeline options
|
|
3143
|
+
extra_options: Extra options for the filter
|
|
3191
3144
|
|
|
3192
3145
|
Returns:
|
|
3193
3146
|
default: the video stream
|
|
@@ -3203,14 +3156,10 @@ def msad(
|
|
|
3203
3156
|
_main,
|
|
3204
3157
|
_reference,
|
|
3205
3158
|
**merge(
|
|
3206
|
-
{
|
|
3207
|
-
"eof_action": eof_action,
|
|
3208
|
-
"shortest": shortest,
|
|
3209
|
-
"repeatlast": repeatlast,
|
|
3210
|
-
"ts_sync_mode": ts_sync_mode,
|
|
3211
|
-
"enable": enable,
|
|
3212
|
-
},
|
|
3159
|
+
{},
|
|
3213
3160
|
extra_options,
|
|
3161
|
+
framesync_options,
|
|
3162
|
+
timeline_options,
|
|
3214
3163
|
),
|
|
3215
3164
|
)
|
|
3216
3165
|
return filter_node.video(0)
|
|
@@ -3220,10 +3169,10 @@ def multiply(
|
|
|
3220
3169
|
_source: VideoStream,
|
|
3221
3170
|
_factor: VideoStream,
|
|
3222
3171
|
*,
|
|
3223
|
-
scale: Float = Default(1
|
|
3224
|
-
offset: Float = Default(0.5),
|
|
3172
|
+
scale: Float = Default("1"),
|
|
3173
|
+
offset: Float = Default("0.5"),
|
|
3225
3174
|
planes: Flags = Default("F"),
|
|
3226
|
-
|
|
3175
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3227
3176
|
extra_options: dict[str, Any] | None = None,
|
|
3228
3177
|
) -> VideoStream:
|
|
3229
3178
|
"""
|
|
@@ -3234,7 +3183,8 @@ def multiply(
|
|
|
3234
3183
|
scale: set scale (from 0 to 9) (default 1)
|
|
3235
3184
|
offset: set offset (from -1 to 1) (default 0.5)
|
|
3236
3185
|
planes: set planes (default F)
|
|
3237
|
-
|
|
3186
|
+
timeline_options: Timeline options
|
|
3187
|
+
extra_options: Extra options for the filter
|
|
3238
3188
|
|
|
3239
3189
|
Returns:
|
|
3240
3190
|
default: the video stream
|
|
@@ -3254,9 +3204,9 @@ def multiply(
|
|
|
3254
3204
|
"scale": scale,
|
|
3255
3205
|
"offset": offset,
|
|
3256
3206
|
"planes": planes,
|
|
3257
|
-
"enable": enable,
|
|
3258
3207
|
},
|
|
3259
3208
|
extra_options,
|
|
3209
|
+
timeline_options,
|
|
3260
3210
|
),
|
|
3261
3211
|
)
|
|
3262
3212
|
return filter_node.video(0)
|
|
@@ -3268,11 +3218,9 @@ def overlay(
|
|
|
3268
3218
|
*,
|
|
3269
3219
|
x: String = Default("0"),
|
|
3270
3220
|
y: String = Default("0"),
|
|
3271
|
-
eof_action: Int
|
|
3272
|
-
| Literal["repeat", "endall", "pass", "repeat", "endall", "pass"]
|
|
3273
|
-
| Default = Default("repeat"),
|
|
3221
|
+
eof_action: Int | Literal["repeat", "endall", "pass"] | Default = Default("repeat"),
|
|
3274
3222
|
eval: Int | Literal["init", "frame"] | Default = Default("frame"),
|
|
3275
|
-
shortest: Boolean = Default(
|
|
3223
|
+
shortest: Boolean = Default("false"),
|
|
3276
3224
|
format: Int
|
|
3277
3225
|
| Literal[
|
|
3278
3226
|
"yuv420",
|
|
@@ -3286,10 +3234,10 @@ def overlay(
|
|
|
3286
3234
|
"auto",
|
|
3287
3235
|
]
|
|
3288
3236
|
| Default = Default("yuv420"),
|
|
3289
|
-
repeatlast: Boolean = Default(
|
|
3237
|
+
repeatlast: Boolean = Default("true"),
|
|
3290
3238
|
alpha: Int | Literal["straight", "premultiplied"] | Default = Default("straight"),
|
|
3291
|
-
|
|
3292
|
-
|
|
3239
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
3240
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3293
3241
|
extra_options: dict[str, Any] | None = None,
|
|
3294
3242
|
) -> VideoStream:
|
|
3295
3243
|
"""
|
|
@@ -3305,8 +3253,9 @@ def overlay(
|
|
|
3305
3253
|
format: set output format (from 0 to 8) (default yuv420)
|
|
3306
3254
|
repeatlast: repeat overlay of the last overlay frame (default true)
|
|
3307
3255
|
alpha: alpha format (from 0 to 1) (default straight)
|
|
3308
|
-
|
|
3309
|
-
|
|
3256
|
+
framesync_options: Framesync options
|
|
3257
|
+
timeline_options: Timeline options
|
|
3258
|
+
extra_options: Extra options for the filter
|
|
3310
3259
|
|
|
3311
3260
|
Returns:
|
|
3312
3261
|
default: the video stream
|
|
@@ -3331,10 +3280,68 @@ def overlay(
|
|
|
3331
3280
|
"format": format,
|
|
3332
3281
|
"repeatlast": repeatlast,
|
|
3333
3282
|
"alpha": alpha,
|
|
3334
|
-
"ts_sync_mode": ts_sync_mode,
|
|
3335
|
-
"enable": enable,
|
|
3336
3283
|
},
|
|
3337
3284
|
extra_options,
|
|
3285
|
+
framesync_options,
|
|
3286
|
+
timeline_options,
|
|
3287
|
+
),
|
|
3288
|
+
)
|
|
3289
|
+
return filter_node.video(0)
|
|
3290
|
+
|
|
3291
|
+
|
|
3292
|
+
def overlay_cuda(
|
|
3293
|
+
_main: VideoStream,
|
|
3294
|
+
_overlay: VideoStream,
|
|
3295
|
+
*,
|
|
3296
|
+
x: String = Default("0"),
|
|
3297
|
+
y: String = Default("0"),
|
|
3298
|
+
eof_action: Int | Literal["repeat", "endall", "pass"] | Default = Default("repeat"),
|
|
3299
|
+
eval: Int | Literal["init", "frame"] | Default = Default("frame"),
|
|
3300
|
+
shortest: Boolean = Default("false"),
|
|
3301
|
+
repeatlast: Boolean = Default("true"),
|
|
3302
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
3303
|
+
extra_options: dict[str, Any] | None = None,
|
|
3304
|
+
) -> VideoStream:
|
|
3305
|
+
"""
|
|
3306
|
+
|
|
3307
|
+
Overlay one video on top of another using CUDA.
|
|
3308
|
+
|
|
3309
|
+
Args:
|
|
3310
|
+
x: set the x expression of overlay (default "0")
|
|
3311
|
+
y: set the y expression of overlay (default "0")
|
|
3312
|
+
eof_action: Action to take when encountering EOF from secondary input (from 0 to 2) (default repeat)
|
|
3313
|
+
eval: specify when to evaluate expressions (from 0 to 1) (default frame)
|
|
3314
|
+
shortest: force termination when the shortest input terminates (default false)
|
|
3315
|
+
repeatlast: repeat overlay of the last overlay frame (default true)
|
|
3316
|
+
framesync_options: Framesync options
|
|
3317
|
+
extra_options: Extra options for the filter
|
|
3318
|
+
|
|
3319
|
+
Returns:
|
|
3320
|
+
default: the video stream
|
|
3321
|
+
|
|
3322
|
+
References:
|
|
3323
|
+
[FFmpeg Documentation](https://ffmpeg.org/ffmpeg-filters.html#overlay_005fcuda)
|
|
3324
|
+
|
|
3325
|
+
"""
|
|
3326
|
+
filter_node = filter_node_factory(
|
|
3327
|
+
FFMpegFilterDef(
|
|
3328
|
+
name="overlay_cuda",
|
|
3329
|
+
typings_input=("video", "video"),
|
|
3330
|
+
typings_output=("video",),
|
|
3331
|
+
),
|
|
3332
|
+
_main,
|
|
3333
|
+
_overlay,
|
|
3334
|
+
**merge(
|
|
3335
|
+
{
|
|
3336
|
+
"x": x,
|
|
3337
|
+
"y": y,
|
|
3338
|
+
"eof_action": eof_action,
|
|
3339
|
+
"eval": eval,
|
|
3340
|
+
"shortest": shortest,
|
|
3341
|
+
"repeatlast": repeatlast,
|
|
3342
|
+
},
|
|
3343
|
+
extra_options,
|
|
3344
|
+
framesync_options,
|
|
3338
3345
|
),
|
|
3339
3346
|
)
|
|
3340
3347
|
return filter_node.video(0)
|
|
@@ -3344,17 +3351,18 @@ def overlay_opencl(
|
|
|
3344
3351
|
_main: VideoStream,
|
|
3345
3352
|
_overlay: VideoStream,
|
|
3346
3353
|
*,
|
|
3347
|
-
x: Int = Default(0),
|
|
3348
|
-
y: Int = Default(0),
|
|
3354
|
+
x: Int = Default("0"),
|
|
3355
|
+
y: Int = Default("0"),
|
|
3349
3356
|
extra_options: dict[str, Any] | None = None,
|
|
3350
3357
|
) -> VideoStream:
|
|
3351
3358
|
"""
|
|
3352
3359
|
|
|
3353
|
-
Overlay one video on top of another
|
|
3360
|
+
Overlay one video on top of another.
|
|
3354
3361
|
|
|
3355
3362
|
Args:
|
|
3356
3363
|
x: Overlay x position (from 0 to INT_MAX) (default 0)
|
|
3357
3364
|
y: Overlay y position (from 0 to INT_MAX) (default 0)
|
|
3365
|
+
extra_options: Extra options for the filter
|
|
3358
3366
|
|
|
3359
3367
|
Returns:
|
|
3360
3368
|
default: the video stream
|
|
@@ -3390,18 +3398,16 @@ def overlay_vaapi(
|
|
|
3390
3398
|
y: String = Default("0"),
|
|
3391
3399
|
w: String = Default("overlay_iw"),
|
|
3392
3400
|
h: String = Default("overlay_ih*w/overlay_iw"),
|
|
3393
|
-
alpha: Float = Default(1
|
|
3394
|
-
eof_action: Int
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
repeatlast: Boolean = Default(True),
|
|
3399
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
3401
|
+
alpha: Float = Default("1"),
|
|
3402
|
+
eof_action: Int | Literal["repeat", "endall", "pass"] | Default = Default("repeat"),
|
|
3403
|
+
shortest: Boolean = Default("false"),
|
|
3404
|
+
repeatlast: Boolean = Default("true"),
|
|
3405
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
3400
3406
|
extra_options: dict[str, Any] | None = None,
|
|
3401
3407
|
) -> VideoStream:
|
|
3402
3408
|
"""
|
|
3403
3409
|
|
|
3404
|
-
Overlay one video on top of another
|
|
3410
|
+
Overlay one video on top of another.
|
|
3405
3411
|
|
|
3406
3412
|
Args:
|
|
3407
3413
|
x: Overlay x position (default "0")
|
|
@@ -3412,7 +3418,8 @@ def overlay_vaapi(
|
|
|
3412
3418
|
eof_action: Action to take when encountering EOF from secondary input (from 0 to 2) (default repeat)
|
|
3413
3419
|
shortest: force termination when the shortest input terminates (default false)
|
|
3414
3420
|
repeatlast: repeat overlay of the last overlay frame (default true)
|
|
3415
|
-
|
|
3421
|
+
framesync_options: Framesync options
|
|
3422
|
+
extra_options: Extra options for the filter
|
|
3416
3423
|
|
|
3417
3424
|
Returns:
|
|
3418
3425
|
default: the video stream
|
|
@@ -3439,9 +3446,9 @@ def overlay_vaapi(
|
|
|
3439
3446
|
"eof_action": eof_action,
|
|
3440
3447
|
"shortest": shortest,
|
|
3441
3448
|
"repeatlast": repeatlast,
|
|
3442
|
-
"ts_sync_mode": ts_sync_mode,
|
|
3443
3449
|
},
|
|
3444
3450
|
extra_options,
|
|
3451
|
+
framesync_options,
|
|
3445
3452
|
),
|
|
3446
3453
|
)
|
|
3447
3454
|
return filter_node.video(0)
|
|
@@ -3451,17 +3458,18 @@ def overlay_vulkan(
|
|
|
3451
3458
|
_main: VideoStream,
|
|
3452
3459
|
_overlay: VideoStream,
|
|
3453
3460
|
*,
|
|
3454
|
-
x: Int = Default(0),
|
|
3455
|
-
y: Int = Default(0),
|
|
3461
|
+
x: Int = Default("0"),
|
|
3462
|
+
y: Int = Default("0"),
|
|
3456
3463
|
extra_options: dict[str, Any] | None = None,
|
|
3457
3464
|
) -> VideoStream:
|
|
3458
3465
|
"""
|
|
3459
3466
|
|
|
3460
|
-
Overlay a source on top of another
|
|
3467
|
+
Overlay a source on top of another.
|
|
3461
3468
|
|
|
3462
3469
|
Args:
|
|
3463
3470
|
x: Set horizontal offset (from 0 to INT_MAX) (default 0)
|
|
3464
3471
|
y: Set vertical offset (from 0 to INT_MAX) (default 0)
|
|
3472
|
+
extra_options: Extra options for the filter
|
|
3465
3473
|
|
|
3466
3474
|
Returns:
|
|
3467
3475
|
default: the video stream
|
|
@@ -3505,10 +3513,10 @@ def paletteuse(
|
|
|
3505
3513
|
"atkinson",
|
|
3506
3514
|
]
|
|
3507
3515
|
| Default = Default("sierra2_4a"),
|
|
3508
|
-
bayer_scale: Int = Default(2),
|
|
3509
|
-
diff_mode: Int | Literal["rectangle"] | Default = Default(0),
|
|
3510
|
-
new: Boolean = Default(
|
|
3511
|
-
alpha_threshold: Int = Default(128),
|
|
3516
|
+
bayer_scale: Int = Default("2"),
|
|
3517
|
+
diff_mode: Int | Literal["rectangle"] | Default = Default("0"),
|
|
3518
|
+
new: Boolean = Default("false"),
|
|
3519
|
+
alpha_threshold: Int = Default("128"),
|
|
3512
3520
|
debug_kdtree: String = Default(None),
|
|
3513
3521
|
extra_options: dict[str, Any] | None = None,
|
|
3514
3522
|
) -> VideoStream:
|
|
@@ -3523,6 +3531,7 @@ def paletteuse(
|
|
|
3523
3531
|
new: take new palette for each output frame (default false)
|
|
3524
3532
|
alpha_threshold: set the alpha threshold for transparency (from 0 to 255) (default 128)
|
|
3525
3533
|
debug_kdtree: save Graphviz graph of the kdtree in specified file
|
|
3534
|
+
extra_options: Extra options for the filter
|
|
3526
3535
|
|
|
3527
3536
|
Returns:
|
|
3528
3537
|
default: the video stream
|
|
@@ -3556,9 +3565,9 @@ def paletteuse(
|
|
|
3556
3565
|
|
|
3557
3566
|
def premultiply(
|
|
3558
3567
|
*streams: VideoStream,
|
|
3559
|
-
planes: Int = Default(15),
|
|
3560
|
-
inplace: Boolean = Default(
|
|
3561
|
-
|
|
3568
|
+
planes: Int = Default("15"),
|
|
3569
|
+
inplace: Boolean = Default("false"),
|
|
3570
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3562
3571
|
extra_options: dict[str, Any] | None = None,
|
|
3563
3572
|
) -> VideoStream:
|
|
3564
3573
|
"""
|
|
@@ -3568,7 +3577,8 @@ def premultiply(
|
|
|
3568
3577
|
Args:
|
|
3569
3578
|
planes: set planes (from 0 to 15) (default 15)
|
|
3570
3579
|
inplace: enable inplace mode (default false)
|
|
3571
|
-
|
|
3580
|
+
timeline_options: Timeline options
|
|
3581
|
+
extra_options: Extra options for the filter
|
|
3572
3582
|
|
|
3573
3583
|
Returns:
|
|
3574
3584
|
default: the video stream
|
|
@@ -3588,9 +3598,9 @@ def premultiply(
|
|
|
3588
3598
|
{
|
|
3589
3599
|
"planes": planes,
|
|
3590
3600
|
"inplace": inplace,
|
|
3591
|
-
"enable": enable,
|
|
3592
3601
|
},
|
|
3593
3602
|
extra_options,
|
|
3603
|
+
timeline_options,
|
|
3594
3604
|
),
|
|
3595
3605
|
)
|
|
3596
3606
|
return filter_node.video(0)
|
|
@@ -3600,27 +3610,22 @@ def program_opencl(
|
|
|
3600
3610
|
*streams: VideoStream,
|
|
3601
3611
|
source: String = Default(None),
|
|
3602
3612
|
kernel: String = Default(None),
|
|
3603
|
-
inputs: Int = Default(1),
|
|
3613
|
+
inputs: Int = Default("1"),
|
|
3604
3614
|
size: Image_size = Default(None),
|
|
3605
|
-
|
|
3606
|
-
shortest: Boolean = Default(False),
|
|
3607
|
-
repeatlast: Boolean = Default(True),
|
|
3608
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
3615
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
3609
3616
|
extra_options: dict[str, Any] | None = None,
|
|
3610
3617
|
) -> VideoStream:
|
|
3611
3618
|
"""
|
|
3612
3619
|
|
|
3613
|
-
Filter video using an OpenCL program
|
|
3620
|
+
Filter video using an OpenCL program.
|
|
3614
3621
|
|
|
3615
3622
|
Args:
|
|
3616
3623
|
source: OpenCL program source file
|
|
3617
3624
|
kernel: Kernel name in program
|
|
3618
3625
|
inputs: Number of inputs (from 1 to INT_MAX) (default 1)
|
|
3619
3626
|
size: Video size
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
repeatlast: extend last frame of secondary streams beyond EOF (default true)
|
|
3623
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
3627
|
+
framesync_options: Framesync options
|
|
3628
|
+
extra_options: Extra options for the filter
|
|
3624
3629
|
|
|
3625
3630
|
Returns:
|
|
3626
3631
|
default: the video stream
|
|
@@ -3642,12 +3647,9 @@ def program_opencl(
|
|
|
3642
3647
|
"kernel": kernel,
|
|
3643
3648
|
"inputs": inputs,
|
|
3644
3649
|
"size": size,
|
|
3645
|
-
"eof_action": eof_action,
|
|
3646
|
-
"shortest": shortest,
|
|
3647
|
-
"repeatlast": repeatlast,
|
|
3648
|
-
"ts_sync_mode": ts_sync_mode,
|
|
3649
3650
|
},
|
|
3650
3651
|
extra_options,
|
|
3652
|
+
framesync_options,
|
|
3651
3653
|
),
|
|
3652
3654
|
)
|
|
3653
3655
|
return filter_node.video(0)
|
|
@@ -3658,13 +3660,10 @@ def psnr(
|
|
|
3658
3660
|
_reference: VideoStream,
|
|
3659
3661
|
*,
|
|
3660
3662
|
stats_file: String = Default(None),
|
|
3661
|
-
stats_version: Int = Default(1),
|
|
3662
|
-
output_max: Boolean = Default(
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
repeatlast: Boolean = Default(True),
|
|
3666
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
3667
|
-
enable: String = Default(None),
|
|
3663
|
+
stats_version: Int = Default("1"),
|
|
3664
|
+
output_max: Boolean = Default("false"),
|
|
3665
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
3666
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3668
3667
|
extra_options: dict[str, Any] | None = None,
|
|
3669
3668
|
) -> VideoStream:
|
|
3670
3669
|
"""
|
|
@@ -3675,11 +3674,9 @@ def psnr(
|
|
|
3675
3674
|
stats_file: Set file where to store per-frame difference information
|
|
3676
3675
|
stats_version: Set the format version for the stats file. (from 1 to 2) (default 1)
|
|
3677
3676
|
output_max: Add raw stats (max values) to the output log. (default false)
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
3682
|
-
enable: timeline editing
|
|
3677
|
+
framesync_options: Framesync options
|
|
3678
|
+
timeline_options: Timeline options
|
|
3679
|
+
extra_options: Extra options for the filter
|
|
3683
3680
|
|
|
3684
3681
|
Returns:
|
|
3685
3682
|
default: the video stream
|
|
@@ -3699,13 +3696,10 @@ def psnr(
|
|
|
3699
3696
|
"stats_file": stats_file,
|
|
3700
3697
|
"stats_version": stats_version,
|
|
3701
3698
|
"output_max": output_max,
|
|
3702
|
-
"eof_action": eof_action,
|
|
3703
|
-
"shortest": shortest,
|
|
3704
|
-
"repeatlast": repeatlast,
|
|
3705
|
-
"ts_sync_mode": ts_sync_mode,
|
|
3706
|
-
"enable": enable,
|
|
3707
3699
|
},
|
|
3708
3700
|
extra_options,
|
|
3701
|
+
framesync_options,
|
|
3702
|
+
timeline_options,
|
|
3709
3703
|
),
|
|
3710
3704
|
)
|
|
3711
3705
|
return filter_node.video(0)
|
|
@@ -3727,6 +3721,7 @@ def remap(
|
|
|
3727
3721
|
Args:
|
|
3728
3722
|
format: set output format (from 0 to 1) (default color)
|
|
3729
3723
|
fill: set the color of the unmapped pixels (default "black")
|
|
3724
|
+
extra_options: Extra options for the filter
|
|
3730
3725
|
|
|
3731
3726
|
Returns:
|
|
3732
3727
|
default: the video stream
|
|
@@ -3771,6 +3766,7 @@ def remap_opencl(
|
|
|
3771
3766
|
Args:
|
|
3772
3767
|
interp: set interpolation method (from 0 to 1) (default linear)
|
|
3773
3768
|
fill: set the color of the unmapped pixels (default "black")
|
|
3769
|
+
extra_options: Extra options for the filter
|
|
3774
3770
|
|
|
3775
3771
|
Returns:
|
|
3776
3772
|
default: the video stream
|
|
@@ -3803,18 +3799,18 @@ def sidechaincompress(
|
|
|
3803
3799
|
_main: AudioStream,
|
|
3804
3800
|
_sidechain: AudioStream,
|
|
3805
3801
|
*,
|
|
3806
|
-
level_in: Double = Default(1
|
|
3802
|
+
level_in: Double = Default("1"),
|
|
3807
3803
|
mode: Int | Literal["downward", "upward"] | Default = Default("downward"),
|
|
3808
|
-
threshold: Double = Default(0.125),
|
|
3809
|
-
ratio: Double = Default(2
|
|
3810
|
-
attack: Double = Default(20
|
|
3811
|
-
release: Double = Default(250
|
|
3812
|
-
makeup: Double = Default(1
|
|
3813
|
-
knee: Double = Default(2.82843),
|
|
3804
|
+
threshold: Double = Default("0.125"),
|
|
3805
|
+
ratio: Double = Default("2"),
|
|
3806
|
+
attack: Double = Default("20"),
|
|
3807
|
+
release: Double = Default("250"),
|
|
3808
|
+
makeup: Double = Default("1"),
|
|
3809
|
+
knee: Double = Default("2.82843"),
|
|
3814
3810
|
link: Int | Literal["average", "maximum"] | Default = Default("average"),
|
|
3815
3811
|
detection: Int | Literal["peak", "rms"] | Default = Default("rms"),
|
|
3816
|
-
level_sc: Double = Default(1
|
|
3817
|
-
mix: Double = Default(1
|
|
3812
|
+
level_sc: Double = Default("1"),
|
|
3813
|
+
mix: Double = Default("1"),
|
|
3818
3814
|
extra_options: dict[str, Any] | None = None,
|
|
3819
3815
|
) -> AudioStream:
|
|
3820
3816
|
"""
|
|
@@ -3834,6 +3830,7 @@ def sidechaincompress(
|
|
|
3834
3830
|
detection: set detection (from 0 to 1) (default rms)
|
|
3835
3831
|
level_sc: set sidechain gain (from 0.015625 to 64) (default 1)
|
|
3836
3832
|
mix: set mix (from 0 to 1) (default 1)
|
|
3833
|
+
extra_options: Extra options for the filter
|
|
3837
3834
|
|
|
3838
3835
|
Returns:
|
|
3839
3836
|
default: the audio stream
|
|
@@ -3875,19 +3872,19 @@ def sidechaingate(
|
|
|
3875
3872
|
_main: AudioStream,
|
|
3876
3873
|
_sidechain: AudioStream,
|
|
3877
3874
|
*,
|
|
3878
|
-
level_in: Double = Default(1
|
|
3875
|
+
level_in: Double = Default("1"),
|
|
3879
3876
|
mode: Int | Literal["downward", "upward"] | Default = Default("downward"),
|
|
3880
|
-
range: Double = Default(0.06125),
|
|
3881
|
-
threshold: Double = Default(0.125),
|
|
3882
|
-
ratio: Double = Default(2
|
|
3883
|
-
attack: Double = Default(20
|
|
3884
|
-
release: Double = Default(250
|
|
3885
|
-
makeup: Double = Default(1
|
|
3886
|
-
knee: Double = Default(2.82843),
|
|
3877
|
+
range: Double = Default("0.06125"),
|
|
3878
|
+
threshold: Double = Default("0.125"),
|
|
3879
|
+
ratio: Double = Default("2"),
|
|
3880
|
+
attack: Double = Default("20"),
|
|
3881
|
+
release: Double = Default("250"),
|
|
3882
|
+
makeup: Double = Default("1"),
|
|
3883
|
+
knee: Double = Default("2.82843"),
|
|
3887
3884
|
detection: Int | Literal["peak", "rms"] | Default = Default("rms"),
|
|
3888
3885
|
link: Int | Literal["average", "maximum"] | Default = Default("average"),
|
|
3889
|
-
level_sc: Double = Default(1
|
|
3890
|
-
|
|
3886
|
+
level_sc: Double = Default("1"),
|
|
3887
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
3891
3888
|
extra_options: dict[str, Any] | None = None,
|
|
3892
3889
|
) -> AudioStream:
|
|
3893
3890
|
"""
|
|
@@ -3907,7 +3904,8 @@ def sidechaingate(
|
|
|
3907
3904
|
detection: set detection (from 0 to 1) (default rms)
|
|
3908
3905
|
link: set link (from 0 to 1) (default average)
|
|
3909
3906
|
level_sc: set sidechain gain (from 0.015625 to 64) (default 1)
|
|
3910
|
-
|
|
3907
|
+
timeline_options: Timeline options
|
|
3908
|
+
extra_options: Extra options for the filter
|
|
3911
3909
|
|
|
3912
3910
|
Returns:
|
|
3913
3911
|
default: the audio stream
|
|
@@ -3938,9 +3936,9 @@ def sidechaingate(
|
|
|
3938
3936
|
"detection": detection,
|
|
3939
3937
|
"link": link,
|
|
3940
3938
|
"level_sc": level_sc,
|
|
3941
|
-
"enable": enable,
|
|
3942
3939
|
},
|
|
3943
3940
|
extra_options,
|
|
3941
|
+
timeline_options,
|
|
3944
3942
|
),
|
|
3945
3943
|
)
|
|
3946
3944
|
return filter_node.audio(0)
|
|
@@ -3952,16 +3950,16 @@ def signature(
|
|
|
3952
3950
|
nb_inputs: Int = Auto("len(streams)"),
|
|
3953
3951
|
filename: String = Default(""),
|
|
3954
3952
|
format: Int | Literal["binary", "xml"] | Default = Default("binary"),
|
|
3955
|
-
th_d: Int = Default(9000),
|
|
3956
|
-
th_dc: Int = Default(60000),
|
|
3957
|
-
th_xh: Int = Default(116),
|
|
3958
|
-
th_di: Int = Default(0),
|
|
3959
|
-
th_it: Double = Default(0.5),
|
|
3953
|
+
th_d: Int = Default("9000"),
|
|
3954
|
+
th_dc: Int = Default("60000"),
|
|
3955
|
+
th_xh: Int = Default("116"),
|
|
3956
|
+
th_di: Int = Default("0"),
|
|
3957
|
+
th_it: Double = Default("0.5"),
|
|
3960
3958
|
extra_options: dict[str, Any] | None = None,
|
|
3961
3959
|
) -> VideoStream:
|
|
3962
3960
|
"""
|
|
3963
3961
|
|
|
3964
|
-
Calculate the MPEG-7 video signature
|
|
3962
|
+
Calculate the MPEG-7 video signature.
|
|
3965
3963
|
|
|
3966
3964
|
Args:
|
|
3967
3965
|
detectmode: set the detectmode (from 0 to 2) (default off)
|
|
@@ -3973,6 +3971,7 @@ def signature(
|
|
|
3973
3971
|
th_xh: threshold to detect frames as similar (from 1 to INT_MAX) (default 116)
|
|
3974
3972
|
th_di: minimum length of matching sequence in frames (from 0 to INT_MAX) (default 0)
|
|
3975
3973
|
th_it: threshold for relation of good to all frames (from 0 to 1) (default 0.5)
|
|
3974
|
+
extra_options: Extra options for the filter
|
|
3976
3975
|
|
|
3977
3976
|
Returns:
|
|
3978
3977
|
default: the video stream
|
|
@@ -4010,8 +4009,8 @@ def spectrumsynth(
|
|
|
4010
4009
|
_magnitude: VideoStream,
|
|
4011
4010
|
_phase: VideoStream,
|
|
4012
4011
|
*,
|
|
4013
|
-
sample_rate: Int = Default(44100),
|
|
4014
|
-
channels: Int = Default(1),
|
|
4012
|
+
sample_rate: Int = Default("44100"),
|
|
4013
|
+
channels: Int = Default("1"),
|
|
4015
4014
|
scale: Int | Literal["lin", "log"] | Default = Default("log"),
|
|
4016
4015
|
slide: Int
|
|
4017
4016
|
| Literal["replace", "scroll", "fullframe", "rscroll"]
|
|
@@ -4042,7 +4041,7 @@ def spectrumsynth(
|
|
|
4042
4041
|
"kaiser",
|
|
4043
4042
|
]
|
|
4044
4043
|
| Default = Default("rect"),
|
|
4045
|
-
overlap: Float = Default(1
|
|
4044
|
+
overlap: Float = Default("1"),
|
|
4046
4045
|
orientation: Int | Literal["vertical", "horizontal"] | Default = Default(
|
|
4047
4046
|
"vertical"
|
|
4048
4047
|
),
|
|
@@ -4060,6 +4059,7 @@ def spectrumsynth(
|
|
|
4060
4059
|
win_func: set window function (from 0 to 20) (default rect)
|
|
4061
4060
|
overlap: set window overlap (from 0 to 1) (default 1)
|
|
4062
4061
|
orientation: set orientation (from 0 to 1) (default vertical)
|
|
4062
|
+
extra_options: Extra options for the filter
|
|
4063
4063
|
|
|
4064
4064
|
Returns:
|
|
4065
4065
|
default: the audio stream
|
|
@@ -4097,11 +4097,8 @@ def ssim(
|
|
|
4097
4097
|
_reference: VideoStream,
|
|
4098
4098
|
*,
|
|
4099
4099
|
stats_file: String = Default(None),
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
repeatlast: Boolean = Default(True),
|
|
4103
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
4104
|
-
enable: String = Default(None),
|
|
4100
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
4101
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
4105
4102
|
extra_options: dict[str, Any] | None = None,
|
|
4106
4103
|
) -> VideoStream:
|
|
4107
4104
|
"""
|
|
@@ -4110,11 +4107,9 @@ def ssim(
|
|
|
4110
4107
|
|
|
4111
4108
|
Args:
|
|
4112
4109
|
stats_file: Set file where to store per-frame difference information
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
4117
|
-
enable: timeline editing
|
|
4110
|
+
framesync_options: Framesync options
|
|
4111
|
+
timeline_options: Timeline options
|
|
4112
|
+
extra_options: Extra options for the filter
|
|
4118
4113
|
|
|
4119
4114
|
Returns:
|
|
4120
4115
|
default: the video stream
|
|
@@ -4132,13 +4127,10 @@ def ssim(
|
|
|
4132
4127
|
**merge(
|
|
4133
4128
|
{
|
|
4134
4129
|
"stats_file": stats_file,
|
|
4135
|
-
"eof_action": eof_action,
|
|
4136
|
-
"shortest": shortest,
|
|
4137
|
-
"repeatlast": repeatlast,
|
|
4138
|
-
"ts_sync_mode": ts_sync_mode,
|
|
4139
|
-
"enable": enable,
|
|
4140
4130
|
},
|
|
4141
4131
|
extra_options,
|
|
4132
|
+
framesync_options,
|
|
4133
|
+
timeline_options,
|
|
4142
4134
|
),
|
|
4143
4135
|
)
|
|
4144
4136
|
return filter_node.video(0)
|
|
@@ -4152,11 +4144,12 @@ def streamselect(
|
|
|
4152
4144
|
) -> FilterNode:
|
|
4153
4145
|
"""
|
|
4154
4146
|
|
|
4155
|
-
Select video streams
|
|
4147
|
+
Select video streams.
|
|
4156
4148
|
|
|
4157
4149
|
Args:
|
|
4158
4150
|
inputs: number of input streams (from 2 to INT_MAX) (default 2)
|
|
4159
4151
|
map: input indexes to remap to outputs
|
|
4152
|
+
extra_options: Extra options for the filter
|
|
4160
4153
|
|
|
4161
4154
|
Returns:
|
|
4162
4155
|
filter_node: the filter node
|
|
@@ -4191,8 +4184,8 @@ def threshold(
|
|
|
4191
4184
|
_min: VideoStream,
|
|
4192
4185
|
_max: VideoStream,
|
|
4193
4186
|
*,
|
|
4194
|
-
planes: Int = Default(15),
|
|
4195
|
-
|
|
4187
|
+
planes: Int = Default("15"),
|
|
4188
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
4196
4189
|
extra_options: dict[str, Any] | None = None,
|
|
4197
4190
|
) -> VideoStream:
|
|
4198
4191
|
"""
|
|
@@ -4201,7 +4194,8 @@ def threshold(
|
|
|
4201
4194
|
|
|
4202
4195
|
Args:
|
|
4203
4196
|
planes: set planes to filter (from 0 to 15) (default 15)
|
|
4204
|
-
|
|
4197
|
+
timeline_options: Timeline options
|
|
4198
|
+
extra_options: Extra options for the filter
|
|
4205
4199
|
|
|
4206
4200
|
Returns:
|
|
4207
4201
|
default: the video stream
|
|
@@ -4223,9 +4217,9 @@ def threshold(
|
|
|
4223
4217
|
**merge(
|
|
4224
4218
|
{
|
|
4225
4219
|
"planes": planes,
|
|
4226
|
-
"enable": enable,
|
|
4227
4220
|
},
|
|
4228
4221
|
extra_options,
|
|
4222
|
+
timeline_options,
|
|
4229
4223
|
),
|
|
4230
4224
|
)
|
|
4231
4225
|
return filter_node.video(0)
|
|
@@ -4233,9 +4227,9 @@ def threshold(
|
|
|
4233
4227
|
|
|
4234
4228
|
def unpremultiply(
|
|
4235
4229
|
*streams: VideoStream,
|
|
4236
|
-
planes: Int = Default(15),
|
|
4237
|
-
inplace: Boolean = Default(
|
|
4238
|
-
|
|
4230
|
+
planes: Int = Default("15"),
|
|
4231
|
+
inplace: Boolean = Default("false"),
|
|
4232
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
4239
4233
|
extra_options: dict[str, Any] | None = None,
|
|
4240
4234
|
) -> VideoStream:
|
|
4241
4235
|
"""
|
|
@@ -4245,7 +4239,8 @@ def unpremultiply(
|
|
|
4245
4239
|
Args:
|
|
4246
4240
|
planes: set planes (from 0 to 15) (default 15)
|
|
4247
4241
|
inplace: enable inplace mode (default false)
|
|
4248
|
-
|
|
4242
|
+
timeline_options: Timeline options
|
|
4243
|
+
extra_options: Extra options for the filter
|
|
4249
4244
|
|
|
4250
4245
|
Returns:
|
|
4251
4246
|
default: the video stream
|
|
@@ -4265,9 +4260,9 @@ def unpremultiply(
|
|
|
4265
4260
|
{
|
|
4266
4261
|
"planes": planes,
|
|
4267
4262
|
"inplace": inplace,
|
|
4268
|
-
"enable": enable,
|
|
4269
4263
|
},
|
|
4270
4264
|
extra_options,
|
|
4265
|
+
timeline_options,
|
|
4271
4266
|
),
|
|
4272
4267
|
)
|
|
4273
4268
|
return filter_node.video(0)
|
|
@@ -4277,14 +4272,11 @@ def varblur(
|
|
|
4277
4272
|
_default: VideoStream,
|
|
4278
4273
|
_radius: VideoStream,
|
|
4279
4274
|
*,
|
|
4280
|
-
min_r: Int = Default(0),
|
|
4281
|
-
max_r: Int = Default(8),
|
|
4282
|
-
planes: Int = Default(15),
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
repeatlast: Boolean = Default(True),
|
|
4286
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
4287
|
-
enable: String = Default(None),
|
|
4275
|
+
min_r: Int = Default("0"),
|
|
4276
|
+
max_r: Int = Default("8"),
|
|
4277
|
+
planes: Int = Default("15"),
|
|
4278
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
4279
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
4288
4280
|
extra_options: dict[str, Any] | None = None,
|
|
4289
4281
|
) -> VideoStream:
|
|
4290
4282
|
"""
|
|
@@ -4295,11 +4287,9 @@ def varblur(
|
|
|
4295
4287
|
min_r: set min blur radius (from 0 to 254) (default 0)
|
|
4296
4288
|
max_r: set max blur radius (from 1 to 255) (default 8)
|
|
4297
4289
|
planes: set planes to filter (from 0 to 15) (default 15)
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
4302
|
-
enable: timeline editing
|
|
4290
|
+
framesync_options: Framesync options
|
|
4291
|
+
timeline_options: Timeline options
|
|
4292
|
+
extra_options: Extra options for the filter
|
|
4303
4293
|
|
|
4304
4294
|
Returns:
|
|
4305
4295
|
default: the video stream
|
|
@@ -4319,13 +4309,10 @@ def varblur(
|
|
|
4319
4309
|
"min_r": min_r,
|
|
4320
4310
|
"max_r": max_r,
|
|
4321
4311
|
"planes": planes,
|
|
4322
|
-
"eof_action": eof_action,
|
|
4323
|
-
"shortest": shortest,
|
|
4324
|
-
"repeatlast": repeatlast,
|
|
4325
|
-
"ts_sync_mode": ts_sync_mode,
|
|
4326
|
-
"enable": enable,
|
|
4327
4312
|
},
|
|
4328
4313
|
extra_options,
|
|
4314
|
+
framesync_options,
|
|
4315
|
+
timeline_options,
|
|
4329
4316
|
),
|
|
4330
4317
|
)
|
|
4331
4318
|
return filter_node.video(0)
|
|
@@ -4334,12 +4321,8 @@ def varblur(
|
|
|
4334
4321
|
def vif(
|
|
4335
4322
|
_main: VideoStream,
|
|
4336
4323
|
_reference: VideoStream,
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
shortest: Boolean = Default(False),
|
|
4340
|
-
repeatlast: Boolean = Default(True),
|
|
4341
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
4342
|
-
enable: String = Default(None),
|
|
4324
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
4325
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
4343
4326
|
extra_options: dict[str, Any] | None = None,
|
|
4344
4327
|
) -> VideoStream:
|
|
4345
4328
|
"""
|
|
@@ -4347,11 +4330,9 @@ def vif(
|
|
|
4347
4330
|
Calculate the VIF between two video streams.
|
|
4348
4331
|
|
|
4349
4332
|
Args:
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
4354
|
-
enable: timeline editing
|
|
4333
|
+
framesync_options: Framesync options
|
|
4334
|
+
timeline_options: Timeline options
|
|
4335
|
+
extra_options: Extra options for the filter
|
|
4355
4336
|
|
|
4356
4337
|
Returns:
|
|
4357
4338
|
default: the video stream
|
|
@@ -4367,14 +4348,10 @@ def vif(
|
|
|
4367
4348
|
_main,
|
|
4368
4349
|
_reference,
|
|
4369
4350
|
**merge(
|
|
4370
|
-
{
|
|
4371
|
-
"eof_action": eof_action,
|
|
4372
|
-
"shortest": shortest,
|
|
4373
|
-
"repeatlast": repeatlast,
|
|
4374
|
-
"ts_sync_mode": ts_sync_mode,
|
|
4375
|
-
"enable": enable,
|
|
4376
|
-
},
|
|
4351
|
+
{},
|
|
4377
4352
|
extra_options,
|
|
4353
|
+
framesync_options,
|
|
4354
|
+
timeline_options,
|
|
4378
4355
|
),
|
|
4379
4356
|
)
|
|
4380
4357
|
return filter_node.video(0)
|
|
@@ -4383,7 +4360,7 @@ def vif(
|
|
|
4383
4360
|
def vstack(
|
|
4384
4361
|
*streams: VideoStream,
|
|
4385
4362
|
inputs: Int = Auto("len(streams)"),
|
|
4386
|
-
shortest: Boolean = Default(
|
|
4363
|
+
shortest: Boolean = Default("false"),
|
|
4387
4364
|
extra_options: dict[str, Any] | None = None,
|
|
4388
4365
|
) -> VideoStream:
|
|
4389
4366
|
"""
|
|
@@ -4393,6 +4370,7 @@ def vstack(
|
|
|
4393
4370
|
Args:
|
|
4394
4371
|
inputs: set number of inputs (from 2 to INT_MAX) (default 2)
|
|
4395
4372
|
shortest: force termination when the shortest input terminates (default false)
|
|
4373
|
+
extra_options: Extra options for the filter
|
|
4396
4374
|
|
|
4397
4375
|
Returns:
|
|
4398
4376
|
default: the video stream
|
|
@@ -4421,19 +4399,20 @@ def vstack(
|
|
|
4421
4399
|
|
|
4422
4400
|
def vstack_vaapi(
|
|
4423
4401
|
*streams: VideoStream,
|
|
4424
|
-
inputs: Int = Default(2),
|
|
4425
|
-
shortest: Boolean = Default(
|
|
4426
|
-
width: Int = Default(0),
|
|
4402
|
+
inputs: Int = Default("2"),
|
|
4403
|
+
shortest: Boolean = Default("false"),
|
|
4404
|
+
width: Int = Default("0"),
|
|
4427
4405
|
extra_options: dict[str, Any] | None = None,
|
|
4428
4406
|
) -> VideoStream:
|
|
4429
4407
|
"""
|
|
4430
4408
|
|
|
4431
|
-
"VA-API" vstack
|
|
4409
|
+
"VA-API" vstack.
|
|
4432
4410
|
|
|
4433
4411
|
Args:
|
|
4434
4412
|
inputs: Set number of inputs (from 2 to 65535) (default 2)
|
|
4435
4413
|
shortest: Force termination when the shortest input terminates (default false)
|
|
4436
4414
|
width: Set output width (0 to use the width of input 0) (from 0 to 65535) (default 0)
|
|
4415
|
+
extra_options: Extra options for the filter
|
|
4437
4416
|
|
|
4438
4417
|
Returns:
|
|
4439
4418
|
default: the video stream
|
|
@@ -4465,13 +4444,10 @@ def xcorrelate(
|
|
|
4465
4444
|
_primary: VideoStream,
|
|
4466
4445
|
_secondary: VideoStream,
|
|
4467
4446
|
*,
|
|
4468
|
-
planes: Int = Default(7),
|
|
4447
|
+
planes: Int = Default("7"),
|
|
4469
4448
|
secondary: Int | Literal["first", "all"] | Default = Default("all"),
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
repeatlast: Boolean = Default(True),
|
|
4473
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
4474
|
-
enable: String = Default(None),
|
|
4449
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
4450
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
4475
4451
|
extra_options: dict[str, Any] | None = None,
|
|
4476
4452
|
) -> VideoStream:
|
|
4477
4453
|
"""
|
|
@@ -4481,11 +4457,9 @@ def xcorrelate(
|
|
|
4481
4457
|
Args:
|
|
4482
4458
|
planes: set planes to cross-correlate (from 0 to 15) (default 7)
|
|
4483
4459
|
secondary: when to process secondary frame (from 0 to 1) (default all)
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
4488
|
-
enable: timeline editing
|
|
4460
|
+
framesync_options: Framesync options
|
|
4461
|
+
timeline_options: Timeline options
|
|
4462
|
+
extra_options: Extra options for the filter
|
|
4489
4463
|
|
|
4490
4464
|
Returns:
|
|
4491
4465
|
default: the video stream
|
|
@@ -4506,13 +4480,10 @@ def xcorrelate(
|
|
|
4506
4480
|
{
|
|
4507
4481
|
"planes": planes,
|
|
4508
4482
|
"secondary": secondary,
|
|
4509
|
-
"eof_action": eof_action,
|
|
4510
|
-
"shortest": shortest,
|
|
4511
|
-
"repeatlast": repeatlast,
|
|
4512
|
-
"ts_sync_mode": ts_sync_mode,
|
|
4513
|
-
"enable": enable,
|
|
4514
4483
|
},
|
|
4515
4484
|
extra_options,
|
|
4485
|
+
framesync_options,
|
|
4486
|
+
timeline_options,
|
|
4516
4487
|
),
|
|
4517
4488
|
)
|
|
4518
4489
|
return filter_node.video(0)
|
|
@@ -4585,8 +4556,8 @@ def xfade(
|
|
|
4585
4556
|
"revealdown",
|
|
4586
4557
|
]
|
|
4587
4558
|
| Default = Default("fade"),
|
|
4588
|
-
duration: Duration = Default(1
|
|
4589
|
-
offset: Duration = Default(0
|
|
4559
|
+
duration: Duration = Default("1"),
|
|
4560
|
+
offset: Duration = Default("0"),
|
|
4590
4561
|
expr: String = Default(None),
|
|
4591
4562
|
extra_options: dict[str, Any] | None = None,
|
|
4592
4563
|
) -> VideoStream:
|
|
@@ -4599,6 +4570,7 @@ def xfade(
|
|
|
4599
4570
|
duration: set cross fade duration (default 1)
|
|
4600
4571
|
offset: set cross fade start relative to first input stream (default 0)
|
|
4601
4572
|
expr: set expression for custom transition
|
|
4573
|
+
extra_options: Extra options for the filter
|
|
4602
4574
|
|
|
4603
4575
|
Returns:
|
|
4604
4576
|
default: the video stream
|
|
@@ -4646,8 +4618,8 @@ def xfade_opencl(
|
|
|
4646
4618
|
| Default = Default("fade"),
|
|
4647
4619
|
source: String = Default(None),
|
|
4648
4620
|
kernel: String = Default(None),
|
|
4649
|
-
duration: Duration = Default(1
|
|
4650
|
-
offset: Duration = Default(0
|
|
4621
|
+
duration: Duration = Default("1"),
|
|
4622
|
+
offset: Duration = Default("0"),
|
|
4651
4623
|
extra_options: dict[str, Any] | None = None,
|
|
4652
4624
|
) -> VideoStream:
|
|
4653
4625
|
"""
|
|
@@ -4660,6 +4632,7 @@ def xfade_opencl(
|
|
|
4660
4632
|
kernel: set kernel name in program file for custom transition
|
|
4661
4633
|
duration: set cross fade duration (default 1)
|
|
4662
4634
|
offset: set cross fade start relative to first input stream (default 0)
|
|
4635
|
+
extra_options: Extra options for the filter
|
|
4663
4636
|
|
|
4664
4637
|
Returns:
|
|
4665
4638
|
default: the video stream
|
|
@@ -4693,13 +4666,10 @@ def xfade_opencl(
|
|
|
4693
4666
|
def xmedian(
|
|
4694
4667
|
*streams: VideoStream,
|
|
4695
4668
|
inputs: Int = Auto("len(streams)"),
|
|
4696
|
-
planes: Int = Default(15),
|
|
4697
|
-
percentile: Float = Default(0.5),
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
repeatlast: Boolean = Default(True),
|
|
4701
|
-
ts_sync_mode: Int | Literal["default", "nearest"] | Default = Default("default"),
|
|
4702
|
-
enable: String = Default(None),
|
|
4669
|
+
planes: Int = Default("15"),
|
|
4670
|
+
percentile: Float = Default("0.5"),
|
|
4671
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
|
4672
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
|
4703
4673
|
extra_options: dict[str, Any] | None = None,
|
|
4704
4674
|
) -> VideoStream:
|
|
4705
4675
|
"""
|
|
@@ -4710,11 +4680,9 @@ def xmedian(
|
|
|
4710
4680
|
inputs: set number of inputs (from 3 to 255) (default 3)
|
|
4711
4681
|
planes: set planes to filter (from 0 to 15) (default 15)
|
|
4712
4682
|
percentile: set percentile (from 0 to 1) (default 0.5)
|
|
4713
|
-
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
ts_sync_mode: How strictly to sync streams based on secondary input timestamps (from 0 to 1) (default default)
|
|
4717
|
-
enable: timeline editing
|
|
4683
|
+
framesync_options: Framesync options
|
|
4684
|
+
timeline_options: Timeline options
|
|
4685
|
+
extra_options: Extra options for the filter
|
|
4718
4686
|
|
|
4719
4687
|
Returns:
|
|
4720
4688
|
default: the video stream
|
|
@@ -4735,13 +4703,10 @@ def xmedian(
|
|
|
4735
4703
|
"inputs": inputs,
|
|
4736
4704
|
"planes": planes,
|
|
4737
4705
|
"percentile": percentile,
|
|
4738
|
-
"eof_action": eof_action,
|
|
4739
|
-
"shortest": shortest,
|
|
4740
|
-
"repeatlast": repeatlast,
|
|
4741
|
-
"ts_sync_mode": ts_sync_mode,
|
|
4742
|
-
"enable": enable,
|
|
4743
4706
|
},
|
|
4744
4707
|
extra_options,
|
|
4708
|
+
framesync_options,
|
|
4709
|
+
timeline_options,
|
|
4745
4710
|
),
|
|
4746
4711
|
)
|
|
4747
4712
|
return filter_node.video(0)
|
|
@@ -4752,7 +4717,7 @@ def xstack(
|
|
|
4752
4717
|
inputs: Int = Auto("len(streams)"),
|
|
4753
4718
|
layout: String = Default(None),
|
|
4754
4719
|
grid: Image_size = Default(None),
|
|
4755
|
-
shortest: Boolean = Default(
|
|
4720
|
+
shortest: Boolean = Default("false"),
|
|
4756
4721
|
fill: String = Default("none"),
|
|
4757
4722
|
extra_options: dict[str, Any] | None = None,
|
|
4758
4723
|
) -> VideoStream:
|
|
@@ -4766,6 +4731,7 @@ def xstack(
|
|
|
4766
4731
|
grid: set fixed size grid layout
|
|
4767
4732
|
shortest: force termination when the shortest input terminates (default false)
|
|
4768
4733
|
fill: set the color for unused pixels (default "none")
|
|
4734
|
+
extra_options: Extra options for the filter
|
|
4769
4735
|
|
|
4770
4736
|
Returns:
|
|
4771
4737
|
default: the video stream
|
|
@@ -4797,8 +4763,8 @@ def xstack(
|
|
|
4797
4763
|
|
|
4798
4764
|
def xstack_vaapi(
|
|
4799
4765
|
*streams: VideoStream,
|
|
4800
|
-
inputs: Int = Default(2),
|
|
4801
|
-
shortest: Boolean = Default(
|
|
4766
|
+
inputs: Int = Default("2"),
|
|
4767
|
+
shortest: Boolean = Default("false"),
|
|
4802
4768
|
layout: String = Default(None),
|
|
4803
4769
|
grid: Image_size = Default(None),
|
|
4804
4770
|
grid_tile_size: Image_size = Default(None),
|
|
@@ -4807,7 +4773,7 @@ def xstack_vaapi(
|
|
|
4807
4773
|
) -> VideoStream:
|
|
4808
4774
|
"""
|
|
4809
4775
|
|
|
4810
|
-
"VA-API" xstack
|
|
4776
|
+
"VA-API" xstack.
|
|
4811
4777
|
|
|
4812
4778
|
Args:
|
|
4813
4779
|
inputs: Set number of inputs (from 2 to 65535) (default 2)
|
|
@@ -4816,6 +4782,7 @@ def xstack_vaapi(
|
|
|
4816
4782
|
grid: set fixed size grid layout
|
|
4817
4783
|
grid_tile_size: set tile size in grid layout
|
|
4818
4784
|
fill: Set the color for unused pixels (default "none")
|
|
4785
|
+
extra_options: Extra options for the filter
|
|
4819
4786
|
|
|
4820
4787
|
Returns:
|
|
4821
4788
|
default: the video stream
|