typed-ffmpeg-compatible 3.5.1__py3-none-any.whl → 3.6__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 +2 -2
- 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 +13 -7
- typed_ffmpeg/compile/__init__.py +1 -0
- typed_ffmpeg/compile/compile_cli.py +55 -8
- 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 +9 -8
- 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 +51 -11
- 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 +21 -7
- 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 +540 -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 +1873 -1725
- 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 +3 -2
- typed_ffmpeg/utils/typing.py +2 -1
- typed_ffmpeg/utils/view.py +2 -1
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/METADATA +1 -1
- typed_ffmpeg_compatible-3.6.dist-info/RECORD +73 -0
- typed_ffmpeg_compatible-3.5.1.dist-info/RECORD +0 -67
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/WHEEL +0 -0
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/entry_points.txt +0 -0
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/licenses/LICENSE +0 -0
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.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,10 @@ 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,
|
3338
3287
|
),
|
3339
3288
|
)
|
3340
3289
|
return filter_node.video(0)
|
@@ -3344,17 +3293,18 @@ def overlay_opencl(
|
|
3344
3293
|
_main: VideoStream,
|
3345
3294
|
_overlay: VideoStream,
|
3346
3295
|
*,
|
3347
|
-
x: Int = Default(0),
|
3348
|
-
y: Int = Default(0),
|
3296
|
+
x: Int = Default("0"),
|
3297
|
+
y: Int = Default("0"),
|
3349
3298
|
extra_options: dict[str, Any] | None = None,
|
3350
3299
|
) -> VideoStream:
|
3351
3300
|
"""
|
3352
3301
|
|
3353
|
-
Overlay one video on top of another
|
3302
|
+
Overlay one video on top of another.
|
3354
3303
|
|
3355
3304
|
Args:
|
3356
3305
|
x: Overlay x position (from 0 to INT_MAX) (default 0)
|
3357
3306
|
y: Overlay y position (from 0 to INT_MAX) (default 0)
|
3307
|
+
extra_options: Extra options for the filter
|
3358
3308
|
|
3359
3309
|
Returns:
|
3360
3310
|
default: the video stream
|
@@ -3390,18 +3340,16 @@ def overlay_vaapi(
|
|
3390
3340
|
y: String = Default("0"),
|
3391
3341
|
w: String = Default("overlay_iw"),
|
3392
3342
|
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"),
|
3343
|
+
alpha: Float = Default("1"),
|
3344
|
+
eof_action: Int | Literal["repeat", "endall", "pass"] | Default = Default("repeat"),
|
3345
|
+
shortest: Boolean = Default("false"),
|
3346
|
+
repeatlast: Boolean = Default("true"),
|
3347
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
3400
3348
|
extra_options: dict[str, Any] | None = None,
|
3401
3349
|
) -> VideoStream:
|
3402
3350
|
"""
|
3403
3351
|
|
3404
|
-
Overlay one video on top of another
|
3352
|
+
Overlay one video on top of another.
|
3405
3353
|
|
3406
3354
|
Args:
|
3407
3355
|
x: Overlay x position (default "0")
|
@@ -3412,7 +3360,8 @@ def overlay_vaapi(
|
|
3412
3360
|
eof_action: Action to take when encountering EOF from secondary input (from 0 to 2) (default repeat)
|
3413
3361
|
shortest: force termination when the shortest input terminates (default false)
|
3414
3362
|
repeatlast: repeat overlay of the last overlay frame (default true)
|
3415
|
-
|
3363
|
+
framesync_options: Framesync options
|
3364
|
+
extra_options: Extra options for the filter
|
3416
3365
|
|
3417
3366
|
Returns:
|
3418
3367
|
default: the video stream
|
@@ -3439,9 +3388,9 @@ def overlay_vaapi(
|
|
3439
3388
|
"eof_action": eof_action,
|
3440
3389
|
"shortest": shortest,
|
3441
3390
|
"repeatlast": repeatlast,
|
3442
|
-
"ts_sync_mode": ts_sync_mode,
|
3443
3391
|
},
|
3444
3392
|
extra_options,
|
3393
|
+
framesync_options,
|
3445
3394
|
),
|
3446
3395
|
)
|
3447
3396
|
return filter_node.video(0)
|
@@ -3451,17 +3400,18 @@ def overlay_vulkan(
|
|
3451
3400
|
_main: VideoStream,
|
3452
3401
|
_overlay: VideoStream,
|
3453
3402
|
*,
|
3454
|
-
x: Int = Default(0),
|
3455
|
-
y: Int = Default(0),
|
3403
|
+
x: Int = Default("0"),
|
3404
|
+
y: Int = Default("0"),
|
3456
3405
|
extra_options: dict[str, Any] | None = None,
|
3457
3406
|
) -> VideoStream:
|
3458
3407
|
"""
|
3459
3408
|
|
3460
|
-
Overlay a source on top of another
|
3409
|
+
Overlay a source on top of another.
|
3461
3410
|
|
3462
3411
|
Args:
|
3463
3412
|
x: Set horizontal offset (from 0 to INT_MAX) (default 0)
|
3464
3413
|
y: Set vertical offset (from 0 to INT_MAX) (default 0)
|
3414
|
+
extra_options: Extra options for the filter
|
3465
3415
|
|
3466
3416
|
Returns:
|
3467
3417
|
default: the video stream
|
@@ -3505,10 +3455,10 @@ def paletteuse(
|
|
3505
3455
|
"atkinson",
|
3506
3456
|
]
|
3507
3457
|
| 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),
|
3458
|
+
bayer_scale: Int = Default("2"),
|
3459
|
+
diff_mode: Int | Literal["rectangle"] | Default = Default("0"),
|
3460
|
+
new: Boolean = Default("false"),
|
3461
|
+
alpha_threshold: Int = Default("128"),
|
3512
3462
|
debug_kdtree: String = Default(None),
|
3513
3463
|
extra_options: dict[str, Any] | None = None,
|
3514
3464
|
) -> VideoStream:
|
@@ -3523,6 +3473,7 @@ def paletteuse(
|
|
3523
3473
|
new: take new palette for each output frame (default false)
|
3524
3474
|
alpha_threshold: set the alpha threshold for transparency (from 0 to 255) (default 128)
|
3525
3475
|
debug_kdtree: save Graphviz graph of the kdtree in specified file
|
3476
|
+
extra_options: Extra options for the filter
|
3526
3477
|
|
3527
3478
|
Returns:
|
3528
3479
|
default: the video stream
|
@@ -3556,9 +3507,9 @@ def paletteuse(
|
|
3556
3507
|
|
3557
3508
|
def premultiply(
|
3558
3509
|
*streams: VideoStream,
|
3559
|
-
planes: Int = Default(15),
|
3560
|
-
inplace: Boolean = Default(
|
3561
|
-
|
3510
|
+
planes: Int = Default("15"),
|
3511
|
+
inplace: Boolean = Default("false"),
|
3512
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
3562
3513
|
extra_options: dict[str, Any] | None = None,
|
3563
3514
|
) -> VideoStream:
|
3564
3515
|
"""
|
@@ -3568,7 +3519,8 @@ def premultiply(
|
|
3568
3519
|
Args:
|
3569
3520
|
planes: set planes (from 0 to 15) (default 15)
|
3570
3521
|
inplace: enable inplace mode (default false)
|
3571
|
-
|
3522
|
+
timeline_options: Timeline options
|
3523
|
+
extra_options: Extra options for the filter
|
3572
3524
|
|
3573
3525
|
Returns:
|
3574
3526
|
default: the video stream
|
@@ -3588,9 +3540,9 @@ def premultiply(
|
|
3588
3540
|
{
|
3589
3541
|
"planes": planes,
|
3590
3542
|
"inplace": inplace,
|
3591
|
-
"enable": enable,
|
3592
3543
|
},
|
3593
3544
|
extra_options,
|
3545
|
+
timeline_options,
|
3594
3546
|
),
|
3595
3547
|
)
|
3596
3548
|
return filter_node.video(0)
|
@@ -3600,27 +3552,22 @@ def program_opencl(
|
|
3600
3552
|
*streams: VideoStream,
|
3601
3553
|
source: String = Default(None),
|
3602
3554
|
kernel: String = Default(None),
|
3603
|
-
inputs: Int = Default(1),
|
3555
|
+
inputs: Int = Default("1"),
|
3604
3556
|
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"),
|
3557
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
3609
3558
|
extra_options: dict[str, Any] | None = None,
|
3610
3559
|
) -> VideoStream:
|
3611
3560
|
"""
|
3612
3561
|
|
3613
|
-
Filter video using an OpenCL program
|
3562
|
+
Filter video using an OpenCL program.
|
3614
3563
|
|
3615
3564
|
Args:
|
3616
3565
|
source: OpenCL program source file
|
3617
3566
|
kernel: Kernel name in program
|
3618
3567
|
inputs: Number of inputs (from 1 to INT_MAX) (default 1)
|
3619
3568
|
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)
|
3569
|
+
framesync_options: Framesync options
|
3570
|
+
extra_options: Extra options for the filter
|
3624
3571
|
|
3625
3572
|
Returns:
|
3626
3573
|
default: the video stream
|
@@ -3642,12 +3589,9 @@ def program_opencl(
|
|
3642
3589
|
"kernel": kernel,
|
3643
3590
|
"inputs": inputs,
|
3644
3591
|
"size": size,
|
3645
|
-
"eof_action": eof_action,
|
3646
|
-
"shortest": shortest,
|
3647
|
-
"repeatlast": repeatlast,
|
3648
|
-
"ts_sync_mode": ts_sync_mode,
|
3649
3592
|
},
|
3650
3593
|
extra_options,
|
3594
|
+
framesync_options,
|
3651
3595
|
),
|
3652
3596
|
)
|
3653
3597
|
return filter_node.video(0)
|
@@ -3658,13 +3602,10 @@ def psnr(
|
|
3658
3602
|
_reference: VideoStream,
|
3659
3603
|
*,
|
3660
3604
|
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),
|
3605
|
+
stats_version: Int = Default("1"),
|
3606
|
+
output_max: Boolean = Default("false"),
|
3607
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
3608
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
3668
3609
|
extra_options: dict[str, Any] | None = None,
|
3669
3610
|
) -> VideoStream:
|
3670
3611
|
"""
|
@@ -3675,11 +3616,9 @@ def psnr(
|
|
3675
3616
|
stats_file: Set file where to store per-frame difference information
|
3676
3617
|
stats_version: Set the format version for the stats file. (from 1 to 2) (default 1)
|
3677
3618
|
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
|
3619
|
+
framesync_options: Framesync options
|
3620
|
+
timeline_options: Timeline options
|
3621
|
+
extra_options: Extra options for the filter
|
3683
3622
|
|
3684
3623
|
Returns:
|
3685
3624
|
default: the video stream
|
@@ -3699,13 +3638,10 @@ def psnr(
|
|
3699
3638
|
"stats_file": stats_file,
|
3700
3639
|
"stats_version": stats_version,
|
3701
3640
|
"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
3641
|
},
|
3708
3642
|
extra_options,
|
3643
|
+
framesync_options,
|
3644
|
+
timeline_options,
|
3709
3645
|
),
|
3710
3646
|
)
|
3711
3647
|
return filter_node.video(0)
|
@@ -3727,6 +3663,7 @@ def remap(
|
|
3727
3663
|
Args:
|
3728
3664
|
format: set output format (from 0 to 1) (default color)
|
3729
3665
|
fill: set the color of the unmapped pixels (default "black")
|
3666
|
+
extra_options: Extra options for the filter
|
3730
3667
|
|
3731
3668
|
Returns:
|
3732
3669
|
default: the video stream
|
@@ -3771,6 +3708,7 @@ def remap_opencl(
|
|
3771
3708
|
Args:
|
3772
3709
|
interp: set interpolation method (from 0 to 1) (default linear)
|
3773
3710
|
fill: set the color of the unmapped pixels (default "black")
|
3711
|
+
extra_options: Extra options for the filter
|
3774
3712
|
|
3775
3713
|
Returns:
|
3776
3714
|
default: the video stream
|
@@ -3803,18 +3741,18 @@ def sidechaincompress(
|
|
3803
3741
|
_main: AudioStream,
|
3804
3742
|
_sidechain: AudioStream,
|
3805
3743
|
*,
|
3806
|
-
level_in: Double = Default(1
|
3744
|
+
level_in: Double = Default("1"),
|
3807
3745
|
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),
|
3746
|
+
threshold: Double = Default("0.125"),
|
3747
|
+
ratio: Double = Default("2"),
|
3748
|
+
attack: Double = Default("20"),
|
3749
|
+
release: Double = Default("250"),
|
3750
|
+
makeup: Double = Default("1"),
|
3751
|
+
knee: Double = Default("2.82843"),
|
3814
3752
|
link: Int | Literal["average", "maximum"] | Default = Default("average"),
|
3815
3753
|
detection: Int | Literal["peak", "rms"] | Default = Default("rms"),
|
3816
|
-
level_sc: Double = Default(1
|
3817
|
-
mix: Double = Default(1
|
3754
|
+
level_sc: Double = Default("1"),
|
3755
|
+
mix: Double = Default("1"),
|
3818
3756
|
extra_options: dict[str, Any] | None = None,
|
3819
3757
|
) -> AudioStream:
|
3820
3758
|
"""
|
@@ -3834,6 +3772,7 @@ def sidechaincompress(
|
|
3834
3772
|
detection: set detection (from 0 to 1) (default rms)
|
3835
3773
|
level_sc: set sidechain gain (from 0.015625 to 64) (default 1)
|
3836
3774
|
mix: set mix (from 0 to 1) (default 1)
|
3775
|
+
extra_options: Extra options for the filter
|
3837
3776
|
|
3838
3777
|
Returns:
|
3839
3778
|
default: the audio stream
|
@@ -3875,19 +3814,19 @@ def sidechaingate(
|
|
3875
3814
|
_main: AudioStream,
|
3876
3815
|
_sidechain: AudioStream,
|
3877
3816
|
*,
|
3878
|
-
level_in: Double = Default(1
|
3817
|
+
level_in: Double = Default("1"),
|
3879
3818
|
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),
|
3819
|
+
range: Double = Default("0.06125"),
|
3820
|
+
threshold: Double = Default("0.125"),
|
3821
|
+
ratio: Double = Default("2"),
|
3822
|
+
attack: Double = Default("20"),
|
3823
|
+
release: Double = Default("250"),
|
3824
|
+
makeup: Double = Default("1"),
|
3825
|
+
knee: Double = Default("2.82843"),
|
3887
3826
|
detection: Int | Literal["peak", "rms"] | Default = Default("rms"),
|
3888
3827
|
link: Int | Literal["average", "maximum"] | Default = Default("average"),
|
3889
|
-
level_sc: Double = Default(1
|
3890
|
-
|
3828
|
+
level_sc: Double = Default("1"),
|
3829
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
3891
3830
|
extra_options: dict[str, Any] | None = None,
|
3892
3831
|
) -> AudioStream:
|
3893
3832
|
"""
|
@@ -3907,7 +3846,8 @@ def sidechaingate(
|
|
3907
3846
|
detection: set detection (from 0 to 1) (default rms)
|
3908
3847
|
link: set link (from 0 to 1) (default average)
|
3909
3848
|
level_sc: set sidechain gain (from 0.015625 to 64) (default 1)
|
3910
|
-
|
3849
|
+
timeline_options: Timeline options
|
3850
|
+
extra_options: Extra options for the filter
|
3911
3851
|
|
3912
3852
|
Returns:
|
3913
3853
|
default: the audio stream
|
@@ -3938,9 +3878,9 @@ def sidechaingate(
|
|
3938
3878
|
"detection": detection,
|
3939
3879
|
"link": link,
|
3940
3880
|
"level_sc": level_sc,
|
3941
|
-
"enable": enable,
|
3942
3881
|
},
|
3943
3882
|
extra_options,
|
3883
|
+
timeline_options,
|
3944
3884
|
),
|
3945
3885
|
)
|
3946
3886
|
return filter_node.audio(0)
|
@@ -3952,16 +3892,16 @@ def signature(
|
|
3952
3892
|
nb_inputs: Int = Auto("len(streams)"),
|
3953
3893
|
filename: String = Default(""),
|
3954
3894
|
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),
|
3895
|
+
th_d: Int = Default("9000"),
|
3896
|
+
th_dc: Int = Default("60000"),
|
3897
|
+
th_xh: Int = Default("116"),
|
3898
|
+
th_di: Int = Default("0"),
|
3899
|
+
th_it: Double = Default("0.5"),
|
3960
3900
|
extra_options: dict[str, Any] | None = None,
|
3961
3901
|
) -> VideoStream:
|
3962
3902
|
"""
|
3963
3903
|
|
3964
|
-
Calculate the MPEG-7 video signature
|
3904
|
+
Calculate the MPEG-7 video signature.
|
3965
3905
|
|
3966
3906
|
Args:
|
3967
3907
|
detectmode: set the detectmode (from 0 to 2) (default off)
|
@@ -3973,6 +3913,7 @@ def signature(
|
|
3973
3913
|
th_xh: threshold to detect frames as similar (from 1 to INT_MAX) (default 116)
|
3974
3914
|
th_di: minimum length of matching sequence in frames (from 0 to INT_MAX) (default 0)
|
3975
3915
|
th_it: threshold for relation of good to all frames (from 0 to 1) (default 0.5)
|
3916
|
+
extra_options: Extra options for the filter
|
3976
3917
|
|
3977
3918
|
Returns:
|
3978
3919
|
default: the video stream
|
@@ -4010,8 +3951,8 @@ def spectrumsynth(
|
|
4010
3951
|
_magnitude: VideoStream,
|
4011
3952
|
_phase: VideoStream,
|
4012
3953
|
*,
|
4013
|
-
sample_rate: Int = Default(44100),
|
4014
|
-
channels: Int = Default(1),
|
3954
|
+
sample_rate: Int = Default("44100"),
|
3955
|
+
channels: Int = Default("1"),
|
4015
3956
|
scale: Int | Literal["lin", "log"] | Default = Default("log"),
|
4016
3957
|
slide: Int
|
4017
3958
|
| Literal["replace", "scroll", "fullframe", "rscroll"]
|
@@ -4042,7 +3983,7 @@ def spectrumsynth(
|
|
4042
3983
|
"kaiser",
|
4043
3984
|
]
|
4044
3985
|
| Default = Default("rect"),
|
4045
|
-
overlap: Float = Default(1
|
3986
|
+
overlap: Float = Default("1"),
|
4046
3987
|
orientation: Int | Literal["vertical", "horizontal"] | Default = Default(
|
4047
3988
|
"vertical"
|
4048
3989
|
),
|
@@ -4060,6 +4001,7 @@ def spectrumsynth(
|
|
4060
4001
|
win_func: set window function (from 0 to 20) (default rect)
|
4061
4002
|
overlap: set window overlap (from 0 to 1) (default 1)
|
4062
4003
|
orientation: set orientation (from 0 to 1) (default vertical)
|
4004
|
+
extra_options: Extra options for the filter
|
4063
4005
|
|
4064
4006
|
Returns:
|
4065
4007
|
default: the audio stream
|
@@ -4097,11 +4039,8 @@ def ssim(
|
|
4097
4039
|
_reference: VideoStream,
|
4098
4040
|
*,
|
4099
4041
|
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),
|
4042
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
4043
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
4105
4044
|
extra_options: dict[str, Any] | None = None,
|
4106
4045
|
) -> VideoStream:
|
4107
4046
|
"""
|
@@ -4110,11 +4049,9 @@ def ssim(
|
|
4110
4049
|
|
4111
4050
|
Args:
|
4112
4051
|
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
|
4052
|
+
framesync_options: Framesync options
|
4053
|
+
timeline_options: Timeline options
|
4054
|
+
extra_options: Extra options for the filter
|
4118
4055
|
|
4119
4056
|
Returns:
|
4120
4057
|
default: the video stream
|
@@ -4132,13 +4069,10 @@ def ssim(
|
|
4132
4069
|
**merge(
|
4133
4070
|
{
|
4134
4071
|
"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
4072
|
},
|
4141
4073
|
extra_options,
|
4074
|
+
framesync_options,
|
4075
|
+
timeline_options,
|
4142
4076
|
),
|
4143
4077
|
)
|
4144
4078
|
return filter_node.video(0)
|
@@ -4152,11 +4086,12 @@ def streamselect(
|
|
4152
4086
|
) -> FilterNode:
|
4153
4087
|
"""
|
4154
4088
|
|
4155
|
-
Select video streams
|
4089
|
+
Select video streams.
|
4156
4090
|
|
4157
4091
|
Args:
|
4158
4092
|
inputs: number of input streams (from 2 to INT_MAX) (default 2)
|
4159
4093
|
map: input indexes to remap to outputs
|
4094
|
+
extra_options: Extra options for the filter
|
4160
4095
|
|
4161
4096
|
Returns:
|
4162
4097
|
filter_node: the filter node
|
@@ -4191,8 +4126,8 @@ def threshold(
|
|
4191
4126
|
_min: VideoStream,
|
4192
4127
|
_max: VideoStream,
|
4193
4128
|
*,
|
4194
|
-
planes: Int = Default(15),
|
4195
|
-
|
4129
|
+
planes: Int = Default("15"),
|
4130
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
4196
4131
|
extra_options: dict[str, Any] | None = None,
|
4197
4132
|
) -> VideoStream:
|
4198
4133
|
"""
|
@@ -4201,7 +4136,8 @@ def threshold(
|
|
4201
4136
|
|
4202
4137
|
Args:
|
4203
4138
|
planes: set planes to filter (from 0 to 15) (default 15)
|
4204
|
-
|
4139
|
+
timeline_options: Timeline options
|
4140
|
+
extra_options: Extra options for the filter
|
4205
4141
|
|
4206
4142
|
Returns:
|
4207
4143
|
default: the video stream
|
@@ -4223,9 +4159,9 @@ def threshold(
|
|
4223
4159
|
**merge(
|
4224
4160
|
{
|
4225
4161
|
"planes": planes,
|
4226
|
-
"enable": enable,
|
4227
4162
|
},
|
4228
4163
|
extra_options,
|
4164
|
+
timeline_options,
|
4229
4165
|
),
|
4230
4166
|
)
|
4231
4167
|
return filter_node.video(0)
|
@@ -4233,9 +4169,9 @@ def threshold(
|
|
4233
4169
|
|
4234
4170
|
def unpremultiply(
|
4235
4171
|
*streams: VideoStream,
|
4236
|
-
planes: Int = Default(15),
|
4237
|
-
inplace: Boolean = Default(
|
4238
|
-
|
4172
|
+
planes: Int = Default("15"),
|
4173
|
+
inplace: Boolean = Default("false"),
|
4174
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
4239
4175
|
extra_options: dict[str, Any] | None = None,
|
4240
4176
|
) -> VideoStream:
|
4241
4177
|
"""
|
@@ -4245,7 +4181,8 @@ def unpremultiply(
|
|
4245
4181
|
Args:
|
4246
4182
|
planes: set planes (from 0 to 15) (default 15)
|
4247
4183
|
inplace: enable inplace mode (default false)
|
4248
|
-
|
4184
|
+
timeline_options: Timeline options
|
4185
|
+
extra_options: Extra options for the filter
|
4249
4186
|
|
4250
4187
|
Returns:
|
4251
4188
|
default: the video stream
|
@@ -4265,9 +4202,9 @@ def unpremultiply(
|
|
4265
4202
|
{
|
4266
4203
|
"planes": planes,
|
4267
4204
|
"inplace": inplace,
|
4268
|
-
"enable": enable,
|
4269
4205
|
},
|
4270
4206
|
extra_options,
|
4207
|
+
timeline_options,
|
4271
4208
|
),
|
4272
4209
|
)
|
4273
4210
|
return filter_node.video(0)
|
@@ -4277,14 +4214,11 @@ def varblur(
|
|
4277
4214
|
_default: VideoStream,
|
4278
4215
|
_radius: VideoStream,
|
4279
4216
|
*,
|
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),
|
4217
|
+
min_r: Int = Default("0"),
|
4218
|
+
max_r: Int = Default("8"),
|
4219
|
+
planes: Int = Default("15"),
|
4220
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
4221
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
4288
4222
|
extra_options: dict[str, Any] | None = None,
|
4289
4223
|
) -> VideoStream:
|
4290
4224
|
"""
|
@@ -4295,11 +4229,9 @@ def varblur(
|
|
4295
4229
|
min_r: set min blur radius (from 0 to 254) (default 0)
|
4296
4230
|
max_r: set max blur radius (from 1 to 255) (default 8)
|
4297
4231
|
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
|
4232
|
+
framesync_options: Framesync options
|
4233
|
+
timeline_options: Timeline options
|
4234
|
+
extra_options: Extra options for the filter
|
4303
4235
|
|
4304
4236
|
Returns:
|
4305
4237
|
default: the video stream
|
@@ -4319,13 +4251,10 @@ def varblur(
|
|
4319
4251
|
"min_r": min_r,
|
4320
4252
|
"max_r": max_r,
|
4321
4253
|
"planes": planes,
|
4322
|
-
"eof_action": eof_action,
|
4323
|
-
"shortest": shortest,
|
4324
|
-
"repeatlast": repeatlast,
|
4325
|
-
"ts_sync_mode": ts_sync_mode,
|
4326
|
-
"enable": enable,
|
4327
4254
|
},
|
4328
4255
|
extra_options,
|
4256
|
+
framesync_options,
|
4257
|
+
timeline_options,
|
4329
4258
|
),
|
4330
4259
|
)
|
4331
4260
|
return filter_node.video(0)
|
@@ -4334,12 +4263,8 @@ def varblur(
|
|
4334
4263
|
def vif(
|
4335
4264
|
_main: VideoStream,
|
4336
4265
|
_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),
|
4266
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
4267
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
4343
4268
|
extra_options: dict[str, Any] | None = None,
|
4344
4269
|
) -> VideoStream:
|
4345
4270
|
"""
|
@@ -4347,11 +4272,9 @@ def vif(
|
|
4347
4272
|
Calculate the VIF between two video streams.
|
4348
4273
|
|
4349
4274
|
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
|
4275
|
+
framesync_options: Framesync options
|
4276
|
+
timeline_options: Timeline options
|
4277
|
+
extra_options: Extra options for the filter
|
4355
4278
|
|
4356
4279
|
Returns:
|
4357
4280
|
default: the video stream
|
@@ -4367,14 +4290,10 @@ def vif(
|
|
4367
4290
|
_main,
|
4368
4291
|
_reference,
|
4369
4292
|
**merge(
|
4370
|
-
{
|
4371
|
-
"eof_action": eof_action,
|
4372
|
-
"shortest": shortest,
|
4373
|
-
"repeatlast": repeatlast,
|
4374
|
-
"ts_sync_mode": ts_sync_mode,
|
4375
|
-
"enable": enable,
|
4376
|
-
},
|
4293
|
+
{},
|
4377
4294
|
extra_options,
|
4295
|
+
framesync_options,
|
4296
|
+
timeline_options,
|
4378
4297
|
),
|
4379
4298
|
)
|
4380
4299
|
return filter_node.video(0)
|
@@ -4383,7 +4302,7 @@ def vif(
|
|
4383
4302
|
def vstack(
|
4384
4303
|
*streams: VideoStream,
|
4385
4304
|
inputs: Int = Auto("len(streams)"),
|
4386
|
-
shortest: Boolean = Default(
|
4305
|
+
shortest: Boolean = Default("false"),
|
4387
4306
|
extra_options: dict[str, Any] | None = None,
|
4388
4307
|
) -> VideoStream:
|
4389
4308
|
"""
|
@@ -4393,6 +4312,7 @@ def vstack(
|
|
4393
4312
|
Args:
|
4394
4313
|
inputs: set number of inputs (from 2 to INT_MAX) (default 2)
|
4395
4314
|
shortest: force termination when the shortest input terminates (default false)
|
4315
|
+
extra_options: Extra options for the filter
|
4396
4316
|
|
4397
4317
|
Returns:
|
4398
4318
|
default: the video stream
|
@@ -4421,19 +4341,20 @@ def vstack(
|
|
4421
4341
|
|
4422
4342
|
def vstack_vaapi(
|
4423
4343
|
*streams: VideoStream,
|
4424
|
-
inputs: Int = Default(2),
|
4425
|
-
shortest: Boolean = Default(
|
4426
|
-
width: Int = Default(0),
|
4344
|
+
inputs: Int = Default("2"),
|
4345
|
+
shortest: Boolean = Default("false"),
|
4346
|
+
width: Int = Default("0"),
|
4427
4347
|
extra_options: dict[str, Any] | None = None,
|
4428
4348
|
) -> VideoStream:
|
4429
4349
|
"""
|
4430
4350
|
|
4431
|
-
"VA-API" vstack
|
4351
|
+
"VA-API" vstack.
|
4432
4352
|
|
4433
4353
|
Args:
|
4434
4354
|
inputs: Set number of inputs (from 2 to 65535) (default 2)
|
4435
4355
|
shortest: Force termination when the shortest input terminates (default false)
|
4436
4356
|
width: Set output width (0 to use the width of input 0) (from 0 to 65535) (default 0)
|
4357
|
+
extra_options: Extra options for the filter
|
4437
4358
|
|
4438
4359
|
Returns:
|
4439
4360
|
default: the video stream
|
@@ -4465,13 +4386,10 @@ def xcorrelate(
|
|
4465
4386
|
_primary: VideoStream,
|
4466
4387
|
_secondary: VideoStream,
|
4467
4388
|
*,
|
4468
|
-
planes: Int = Default(7),
|
4389
|
+
planes: Int = Default("7"),
|
4469
4390
|
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),
|
4391
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
4392
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
4475
4393
|
extra_options: dict[str, Any] | None = None,
|
4476
4394
|
) -> VideoStream:
|
4477
4395
|
"""
|
@@ -4481,11 +4399,9 @@ def xcorrelate(
|
|
4481
4399
|
Args:
|
4482
4400
|
planes: set planes to cross-correlate (from 0 to 15) (default 7)
|
4483
4401
|
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
|
4402
|
+
framesync_options: Framesync options
|
4403
|
+
timeline_options: Timeline options
|
4404
|
+
extra_options: Extra options for the filter
|
4489
4405
|
|
4490
4406
|
Returns:
|
4491
4407
|
default: the video stream
|
@@ -4506,13 +4422,10 @@ def xcorrelate(
|
|
4506
4422
|
{
|
4507
4423
|
"planes": planes,
|
4508
4424
|
"secondary": secondary,
|
4509
|
-
"eof_action": eof_action,
|
4510
|
-
"shortest": shortest,
|
4511
|
-
"repeatlast": repeatlast,
|
4512
|
-
"ts_sync_mode": ts_sync_mode,
|
4513
|
-
"enable": enable,
|
4514
4425
|
},
|
4515
4426
|
extra_options,
|
4427
|
+
framesync_options,
|
4428
|
+
timeline_options,
|
4516
4429
|
),
|
4517
4430
|
)
|
4518
4431
|
return filter_node.video(0)
|
@@ -4585,8 +4498,8 @@ def xfade(
|
|
4585
4498
|
"revealdown",
|
4586
4499
|
]
|
4587
4500
|
| Default = Default("fade"),
|
4588
|
-
duration: Duration = Default(1
|
4589
|
-
offset: Duration = Default(0
|
4501
|
+
duration: Duration = Default("1"),
|
4502
|
+
offset: Duration = Default("0"),
|
4590
4503
|
expr: String = Default(None),
|
4591
4504
|
extra_options: dict[str, Any] | None = None,
|
4592
4505
|
) -> VideoStream:
|
@@ -4599,6 +4512,7 @@ def xfade(
|
|
4599
4512
|
duration: set cross fade duration (default 1)
|
4600
4513
|
offset: set cross fade start relative to first input stream (default 0)
|
4601
4514
|
expr: set expression for custom transition
|
4515
|
+
extra_options: Extra options for the filter
|
4602
4516
|
|
4603
4517
|
Returns:
|
4604
4518
|
default: the video stream
|
@@ -4646,8 +4560,8 @@ def xfade_opencl(
|
|
4646
4560
|
| Default = Default("fade"),
|
4647
4561
|
source: String = Default(None),
|
4648
4562
|
kernel: String = Default(None),
|
4649
|
-
duration: Duration = Default(1
|
4650
|
-
offset: Duration = Default(0
|
4563
|
+
duration: Duration = Default("1"),
|
4564
|
+
offset: Duration = Default("0"),
|
4651
4565
|
extra_options: dict[str, Any] | None = None,
|
4652
4566
|
) -> VideoStream:
|
4653
4567
|
"""
|
@@ -4660,6 +4574,7 @@ def xfade_opencl(
|
|
4660
4574
|
kernel: set kernel name in program file for custom transition
|
4661
4575
|
duration: set cross fade duration (default 1)
|
4662
4576
|
offset: set cross fade start relative to first input stream (default 0)
|
4577
|
+
extra_options: Extra options for the filter
|
4663
4578
|
|
4664
4579
|
Returns:
|
4665
4580
|
default: the video stream
|
@@ -4693,13 +4608,10 @@ def xfade_opencl(
|
|
4693
4608
|
def xmedian(
|
4694
4609
|
*streams: VideoStream,
|
4695
4610
|
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),
|
4611
|
+
planes: Int = Default("15"),
|
4612
|
+
percentile: Float = Default("0.5"),
|
4613
|
+
framesync_options: FFMpegFrameSyncOption | None = None,
|
4614
|
+
timeline_options: FFMpegTimelineOption | None = None,
|
4703
4615
|
extra_options: dict[str, Any] | None = None,
|
4704
4616
|
) -> VideoStream:
|
4705
4617
|
"""
|
@@ -4710,11 +4622,9 @@ def xmedian(
|
|
4710
4622
|
inputs: set number of inputs (from 3 to 255) (default 3)
|
4711
4623
|
planes: set planes to filter (from 0 to 15) (default 15)
|
4712
4624
|
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
|
4625
|
+
framesync_options: Framesync options
|
4626
|
+
timeline_options: Timeline options
|
4627
|
+
extra_options: Extra options for the filter
|
4718
4628
|
|
4719
4629
|
Returns:
|
4720
4630
|
default: the video stream
|
@@ -4735,13 +4645,10 @@ def xmedian(
|
|
4735
4645
|
"inputs": inputs,
|
4736
4646
|
"planes": planes,
|
4737
4647
|
"percentile": percentile,
|
4738
|
-
"eof_action": eof_action,
|
4739
|
-
"shortest": shortest,
|
4740
|
-
"repeatlast": repeatlast,
|
4741
|
-
"ts_sync_mode": ts_sync_mode,
|
4742
|
-
"enable": enable,
|
4743
4648
|
},
|
4744
4649
|
extra_options,
|
4650
|
+
framesync_options,
|
4651
|
+
timeline_options,
|
4745
4652
|
),
|
4746
4653
|
)
|
4747
4654
|
return filter_node.video(0)
|
@@ -4752,7 +4659,7 @@ def xstack(
|
|
4752
4659
|
inputs: Int = Auto("len(streams)"),
|
4753
4660
|
layout: String = Default(None),
|
4754
4661
|
grid: Image_size = Default(None),
|
4755
|
-
shortest: Boolean = Default(
|
4662
|
+
shortest: Boolean = Default("false"),
|
4756
4663
|
fill: String = Default("none"),
|
4757
4664
|
extra_options: dict[str, Any] | None = None,
|
4758
4665
|
) -> VideoStream:
|
@@ -4766,6 +4673,7 @@ def xstack(
|
|
4766
4673
|
grid: set fixed size grid layout
|
4767
4674
|
shortest: force termination when the shortest input terminates (default false)
|
4768
4675
|
fill: set the color for unused pixels (default "none")
|
4676
|
+
extra_options: Extra options for the filter
|
4769
4677
|
|
4770
4678
|
Returns:
|
4771
4679
|
default: the video stream
|
@@ -4797,8 +4705,8 @@ def xstack(
|
|
4797
4705
|
|
4798
4706
|
def xstack_vaapi(
|
4799
4707
|
*streams: VideoStream,
|
4800
|
-
inputs: Int = Default(2),
|
4801
|
-
shortest: Boolean = Default(
|
4708
|
+
inputs: Int = Default("2"),
|
4709
|
+
shortest: Boolean = Default("false"),
|
4802
4710
|
layout: String = Default(None),
|
4803
4711
|
grid: Image_size = Default(None),
|
4804
4712
|
grid_tile_size: Image_size = Default(None),
|
@@ -4807,7 +4715,7 @@ def xstack_vaapi(
|
|
4807
4715
|
) -> VideoStream:
|
4808
4716
|
"""
|
4809
4717
|
|
4810
|
-
"VA-API" xstack
|
4718
|
+
"VA-API" xstack.
|
4811
4719
|
|
4812
4720
|
Args:
|
4813
4721
|
inputs: Set number of inputs (from 2 to 65535) (default 2)
|
@@ -4816,6 +4724,7 @@ def xstack_vaapi(
|
|
4816
4724
|
grid: set fixed size grid layout
|
4817
4725
|
grid_tile_size: set tile size in grid layout
|
4818
4726
|
fill: Set the color for unused pixels (default "none")
|
4727
|
+
extra_options: Extra options for the filter
|
4819
4728
|
|
4820
4729
|
Returns:
|
4821
4730
|
default: the video stream
|