typed-ffmpeg-compatible 3.3.1__py3-none-any.whl → 3.4.1__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.
Files changed (30) hide show
  1. typed_ffmpeg/__init__.py +3 -1
  2. typed_ffmpeg/_version.py +2 -2
  3. typed_ffmpeg/base.py +1 -1
  4. typed_ffmpeg/codecs/__init__.py +3 -0
  5. typed_ffmpeg/codecs/decoders.py +6644 -0
  6. typed_ffmpeg/codecs/encoders.py +6401 -0
  7. typed_ffmpeg/codecs/schema.py +17 -0
  8. typed_ffmpeg/common/serialize.py +1 -1
  9. typed_ffmpeg/dag/global_runnable/global_args.py +59 -55
  10. typed_ffmpeg/dag/io/_input.py +76 -64
  11. typed_ffmpeg/dag/io/_output.py +118 -105
  12. typed_ffmpeg/dag/io/output_args.py +122 -104
  13. typed_ffmpeg/dag/nodes.py +1 -1
  14. typed_ffmpeg/dag/schema.py +1 -1
  15. typed_ffmpeg/filters.py +1717 -675
  16. typed_ffmpeg/formats/__init__.py +3 -0
  17. typed_ffmpeg/formats/demuxers.py +6664 -0
  18. typed_ffmpeg/formats/muxers.py +3774 -0
  19. typed_ffmpeg/formats/schema.py +17 -0
  20. typed_ffmpeg/sources.py +1641 -571
  21. typed_ffmpeg/streams/audio.py +1994 -1554
  22. typed_ffmpeg/streams/video.py +4540 -2843
  23. typed_ffmpeg/utils/{forzendict.py → frozendict.py} +56 -1
  24. typed_ffmpeg/utils/run.py +1 -1
  25. {typed_ffmpeg_compatible-3.3.1.dist-info → typed_ffmpeg_compatible-3.4.1.dist-info}/METADATA +1 -1
  26. {typed_ffmpeg_compatible-3.3.1.dist-info → typed_ffmpeg_compatible-3.4.1.dist-info}/RECORD +30 -22
  27. {typed_ffmpeg_compatible-3.3.1.dist-info → typed_ffmpeg_compatible-3.4.1.dist-info}/WHEEL +0 -0
  28. {typed_ffmpeg_compatible-3.3.1.dist-info → typed_ffmpeg_compatible-3.4.1.dist-info}/entry_points.txt +0 -0
  29. {typed_ffmpeg_compatible-3.3.1.dist-info → typed_ffmpeg_compatible-3.4.1.dist-info}/licenses/LICENSE +0 -0
  30. {typed_ffmpeg_compatible-3.3.1.dist-info → typed_ffmpeg_compatible-3.4.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3774 @@
1
+ # NOTE: this file is auto-generated, do not modify
2
+ from typing import Literal
3
+
4
+ from ..utils.frozendict import merge
5
+ from .schema import FFMpegMuxerOption
6
+
7
+
8
+ def _3g2(
9
+ movflags: str | None = None,
10
+ moov_size: int | None = None,
11
+ rtpflags: str | None = None,
12
+ skip_iods: bool | None = None,
13
+ iods_audio_profile: int | None = None,
14
+ iods_video_profile: int | None = None,
15
+ frag_duration: int | None = None,
16
+ min_frag_duration: int | None = None,
17
+ frag_size: int | None = None,
18
+ ism_lookahead: int | None = None,
19
+ video_track_timescale: int | None = None,
20
+ brand: str | None = None,
21
+ use_editlist: bool | None = None,
22
+ fragment_index: int | None = None,
23
+ mov_gamma: float | None = None,
24
+ frag_interleave: int | None = None,
25
+ encryption_scheme: str | None = None,
26
+ encryption_key: str | None = None,
27
+ encryption_kid: str | None = None,
28
+ use_stream_ids_as_track_ids: bool | None = None,
29
+ write_btrt: bool | None = None,
30
+ write_tmcd: bool | None = None,
31
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
32
+ empty_hdlr_name: bool | None = None,
33
+ movie_timescale: int | None = None,
34
+ ) -> FFMpegMuxerOption:
35
+ """
36
+ 3GP2 (3GPP2 file format)
37
+
38
+ Args:
39
+ movflags: MOV muxer flags (default 0)
40
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
41
+ rtpflags: RTP muxer flags (default 0)
42
+ skip_iods: Skip writing iods atom. (default true)
43
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
44
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
45
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
46
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
47
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
48
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
49
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
50
+ brand: Override major brand
51
+ use_editlist: use edit list (default auto)
52
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
53
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
54
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
55
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
56
+ encryption_key: The media encryption key (hex)
57
+ encryption_kid: The media encryption key identifier (hex)
58
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
59
+ write_btrt: force or disable writing btrt (default auto)
60
+ write_tmcd: force or disable writing tmcd (default auto)
61
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
62
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
63
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
64
+
65
+ Returns:
66
+ the set codec options
67
+ """
68
+ return FFMpegMuxerOption(
69
+ kwargs=merge(
70
+ {
71
+ "movflags": movflags,
72
+ "moov_size": moov_size,
73
+ "rtpflags": rtpflags,
74
+ "skip_iods": skip_iods,
75
+ "iods_audio_profile": iods_audio_profile,
76
+ "iods_video_profile": iods_video_profile,
77
+ "frag_duration": frag_duration,
78
+ "min_frag_duration": min_frag_duration,
79
+ "frag_size": frag_size,
80
+ "ism_lookahead": ism_lookahead,
81
+ "video_track_timescale": video_track_timescale,
82
+ "brand": brand,
83
+ "use_editlist": use_editlist,
84
+ "fragment_index": fragment_index,
85
+ "mov_gamma": mov_gamma,
86
+ "frag_interleave": frag_interleave,
87
+ "encryption_scheme": encryption_scheme,
88
+ "encryption_key": encryption_key,
89
+ "encryption_kid": encryption_kid,
90
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
91
+ "write_btrt": write_btrt,
92
+ "write_tmcd": write_tmcd,
93
+ "write_prft": write_prft,
94
+ "empty_hdlr_name": empty_hdlr_name,
95
+ "movie_timescale": movie_timescale,
96
+ }
97
+ )
98
+ )
99
+
100
+
101
+ def _3gp(
102
+ movflags: str | None = None,
103
+ moov_size: int | None = None,
104
+ rtpflags: str | None = None,
105
+ skip_iods: bool | None = None,
106
+ iods_audio_profile: int | None = None,
107
+ iods_video_profile: int | None = None,
108
+ frag_duration: int | None = None,
109
+ min_frag_duration: int | None = None,
110
+ frag_size: int | None = None,
111
+ ism_lookahead: int | None = None,
112
+ video_track_timescale: int | None = None,
113
+ brand: str | None = None,
114
+ use_editlist: bool | None = None,
115
+ fragment_index: int | None = None,
116
+ mov_gamma: float | None = None,
117
+ frag_interleave: int | None = None,
118
+ encryption_scheme: str | None = None,
119
+ encryption_key: str | None = None,
120
+ encryption_kid: str | None = None,
121
+ use_stream_ids_as_track_ids: bool | None = None,
122
+ write_btrt: bool | None = None,
123
+ write_tmcd: bool | None = None,
124
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
125
+ empty_hdlr_name: bool | None = None,
126
+ movie_timescale: int | None = None,
127
+ ) -> FFMpegMuxerOption:
128
+ """
129
+ 3GP (3GPP file format)
130
+
131
+ Args:
132
+ movflags: MOV muxer flags (default 0)
133
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
134
+ rtpflags: RTP muxer flags (default 0)
135
+ skip_iods: Skip writing iods atom. (default true)
136
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
137
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
138
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
139
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
140
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
141
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
142
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
143
+ brand: Override major brand
144
+ use_editlist: use edit list (default auto)
145
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
146
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
147
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
148
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
149
+ encryption_key: The media encryption key (hex)
150
+ encryption_kid: The media encryption key identifier (hex)
151
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
152
+ write_btrt: force or disable writing btrt (default auto)
153
+ write_tmcd: force or disable writing tmcd (default auto)
154
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
155
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
156
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
157
+
158
+ Returns:
159
+ the set codec options
160
+ """
161
+ return FFMpegMuxerOption(
162
+ kwargs=merge(
163
+ {
164
+ "movflags": movflags,
165
+ "moov_size": moov_size,
166
+ "rtpflags": rtpflags,
167
+ "skip_iods": skip_iods,
168
+ "iods_audio_profile": iods_audio_profile,
169
+ "iods_video_profile": iods_video_profile,
170
+ "frag_duration": frag_duration,
171
+ "min_frag_duration": min_frag_duration,
172
+ "frag_size": frag_size,
173
+ "ism_lookahead": ism_lookahead,
174
+ "video_track_timescale": video_track_timescale,
175
+ "brand": brand,
176
+ "use_editlist": use_editlist,
177
+ "fragment_index": fragment_index,
178
+ "mov_gamma": mov_gamma,
179
+ "frag_interleave": frag_interleave,
180
+ "encryption_scheme": encryption_scheme,
181
+ "encryption_key": encryption_key,
182
+ "encryption_kid": encryption_kid,
183
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
184
+ "write_btrt": write_btrt,
185
+ "write_tmcd": write_tmcd,
186
+ "write_prft": write_prft,
187
+ "empty_hdlr_name": empty_hdlr_name,
188
+ "movie_timescale": movie_timescale,
189
+ }
190
+ )
191
+ )
192
+
193
+
194
+ def a64() -> FFMpegMuxerOption:
195
+ """
196
+ a64 - video for Commodore 64
197
+
198
+
199
+ Returns:
200
+ the set codec options
201
+ """
202
+ return FFMpegMuxerOption(kwargs=merge({}))
203
+
204
+
205
+ def ac3() -> FFMpegMuxerOption:
206
+ """
207
+ raw AC-3
208
+
209
+
210
+ Returns:
211
+ the set codec options
212
+ """
213
+ return FFMpegMuxerOption(kwargs=merge({}))
214
+
215
+
216
+ def ac4(
217
+ write_crc: bool | None = None,
218
+ ) -> FFMpegMuxerOption:
219
+ """
220
+ raw AC-4
221
+
222
+ Args:
223
+ write_crc: enable checksum (default false)
224
+
225
+ Returns:
226
+ the set codec options
227
+ """
228
+ return FFMpegMuxerOption(
229
+ kwargs=merge(
230
+ {
231
+ "write_crc": write_crc,
232
+ }
233
+ )
234
+ )
235
+
236
+
237
+ def adts(
238
+ write_id3v2: bool | None = None,
239
+ write_apetag: bool | None = None,
240
+ write_mpeg2: bool | None = None,
241
+ ) -> FFMpegMuxerOption:
242
+ """
243
+ ADTS AAC (Advanced Audio Coding)
244
+
245
+ Args:
246
+ write_id3v2: Enable ID3v2 tag writing (default false)
247
+ write_apetag: Enable APE tag writing (default false)
248
+ write_mpeg2: Set MPEG version to MPEG-2 (default false)
249
+
250
+ Returns:
251
+ the set codec options
252
+ """
253
+ return FFMpegMuxerOption(
254
+ kwargs=merge(
255
+ {
256
+ "write_id3v2": write_id3v2,
257
+ "write_apetag": write_apetag,
258
+ "write_mpeg2": write_mpeg2,
259
+ }
260
+ )
261
+ )
262
+
263
+
264
+ def adx() -> FFMpegMuxerOption:
265
+ """
266
+ CRI ADX
267
+
268
+
269
+ Returns:
270
+ the set codec options
271
+ """
272
+ return FFMpegMuxerOption(kwargs=merge({}))
273
+
274
+
275
+ def aiff(
276
+ write_id3v2: bool | None = None,
277
+ id3v2_version: int | None = None,
278
+ ) -> FFMpegMuxerOption:
279
+ """
280
+ Audio IFF
281
+
282
+ Args:
283
+ write_id3v2: Enable ID3 tags writing. (default false)
284
+ id3v2_version: Select ID3v2 version to write. Currently 3 and 4 are supported. (from 3 to 4) (default 4)
285
+
286
+ Returns:
287
+ the set codec options
288
+ """
289
+ return FFMpegMuxerOption(
290
+ kwargs=merge(
291
+ {
292
+ "write_id3v2": write_id3v2,
293
+ "id3v2_version": id3v2_version,
294
+ }
295
+ )
296
+ )
297
+
298
+
299
+ def alaw() -> FFMpegMuxerOption:
300
+ """
301
+ PCM A-law
302
+
303
+
304
+ Returns:
305
+ the set codec options
306
+ """
307
+ return FFMpegMuxerOption(kwargs=merge({}))
308
+
309
+
310
+ def alp(
311
+ type: int | None | Literal["auto", "tun", "pcm"] = None,
312
+ ) -> FFMpegMuxerOption:
313
+ """
314
+ LEGO Racers ALP
315
+
316
+ Args:
317
+ type: set file type (from 0 to 2) (default auto)
318
+
319
+ Returns:
320
+ the set codec options
321
+ """
322
+ return FFMpegMuxerOption(
323
+ kwargs=merge(
324
+ {
325
+ "type": type,
326
+ }
327
+ )
328
+ )
329
+
330
+
331
+ def alsa() -> FFMpegMuxerOption:
332
+ """
333
+ ALSA audio output
334
+
335
+
336
+ Returns:
337
+ the set codec options
338
+ """
339
+ return FFMpegMuxerOption(kwargs=merge({}))
340
+
341
+
342
+ def amr() -> FFMpegMuxerOption:
343
+ """
344
+ 3GPP AMR
345
+
346
+
347
+ Returns:
348
+ the set codec options
349
+ """
350
+ return FFMpegMuxerOption(kwargs=merge({}))
351
+
352
+
353
+ def amv() -> FFMpegMuxerOption:
354
+ """
355
+ AMV
356
+
357
+
358
+ Returns:
359
+ the set codec options
360
+ """
361
+ return FFMpegMuxerOption(kwargs=merge({}))
362
+
363
+
364
+ def apm() -> FFMpegMuxerOption:
365
+ """
366
+ Ubisoft Rayman 2 APM
367
+
368
+
369
+ Returns:
370
+ the set codec options
371
+ """
372
+ return FFMpegMuxerOption(kwargs=merge({}))
373
+
374
+
375
+ def apng(
376
+ plays: int | None = None,
377
+ final_delay: str | None = None,
378
+ ) -> FFMpegMuxerOption:
379
+ """
380
+ Animated Portable Network Graphics
381
+
382
+ Args:
383
+ plays: Number of times to play the output: 0 - infinite loop, 1 - no loop (from 0 to 65535) (default 1)
384
+ final_delay: Force delay after the last frame (from 0 to 65535) (default 0/1)
385
+
386
+ Returns:
387
+ the set codec options
388
+ """
389
+ return FFMpegMuxerOption(
390
+ kwargs=merge(
391
+ {
392
+ "plays": plays,
393
+ "final_delay": final_delay,
394
+ }
395
+ )
396
+ )
397
+
398
+
399
+ def aptx() -> FFMpegMuxerOption:
400
+ """
401
+ raw aptX (Audio Processing Technology for Bluetooth)
402
+
403
+
404
+ Returns:
405
+ the set codec options
406
+ """
407
+ return FFMpegMuxerOption(kwargs=merge({}))
408
+
409
+
410
+ def aptx_hd() -> FFMpegMuxerOption:
411
+ """
412
+ raw aptX HD (Audio Processing Technology for Bluetooth)
413
+
414
+
415
+ Returns:
416
+ the set codec options
417
+ """
418
+ return FFMpegMuxerOption(kwargs=merge({}))
419
+
420
+
421
+ def argo_asf(
422
+ version_major: int | None = None,
423
+ version_minor: int | None = None,
424
+ name: str | None = None,
425
+ ) -> FFMpegMuxerOption:
426
+ """
427
+ Argonaut Games ASF
428
+
429
+ Args:
430
+ version_major: override file major version (from 0 to 65535) (default 2)
431
+ version_minor: override file minor version (from 0 to 65535) (default 1)
432
+ name: embedded file name (max 8 characters)
433
+
434
+ Returns:
435
+ the set codec options
436
+ """
437
+ return FFMpegMuxerOption(
438
+ kwargs=merge(
439
+ {
440
+ "version_major": version_major,
441
+ "version_minor": version_minor,
442
+ "name": name,
443
+ }
444
+ )
445
+ )
446
+
447
+
448
+ def argo_cvg(
449
+ skip_rate_check: bool | None = None,
450
+ loop: bool | None = None,
451
+ reverb: bool | None = None,
452
+ ) -> FFMpegMuxerOption:
453
+ """
454
+ Argonaut Games CVG
455
+
456
+ Args:
457
+ skip_rate_check: skip sample rate check (default false)
458
+ loop: set loop flag (default false)
459
+ reverb: set reverb flag (default true)
460
+
461
+ Returns:
462
+ the set codec options
463
+ """
464
+ return FFMpegMuxerOption(
465
+ kwargs=merge(
466
+ {
467
+ "skip_rate_check": skip_rate_check,
468
+ "loop": loop,
469
+ "reverb": reverb,
470
+ }
471
+ )
472
+ )
473
+
474
+
475
+ def asf() -> FFMpegMuxerOption:
476
+ """
477
+ ASF (Advanced / Active Streaming Format)
478
+
479
+
480
+ Returns:
481
+ the set codec options
482
+ """
483
+ return FFMpegMuxerOption(kwargs=merge({}))
484
+
485
+
486
+ def asf_stream() -> FFMpegMuxerOption:
487
+ """
488
+ ASF (Advanced / Active Streaming Format)
489
+
490
+
491
+ Returns:
492
+ the set codec options
493
+ """
494
+ return FFMpegMuxerOption(kwargs=merge({}))
495
+
496
+
497
+ def ass(
498
+ ignore_readorder: bool | None = None,
499
+ ) -> FFMpegMuxerOption:
500
+ """
501
+ SSA (SubStation Alpha) subtitle
502
+
503
+ Args:
504
+ ignore_readorder: write events immediately, even if they're out-of-order (default false)
505
+
506
+ Returns:
507
+ the set codec options
508
+ """
509
+ return FFMpegMuxerOption(
510
+ kwargs=merge(
511
+ {
512
+ "ignore_readorder": ignore_readorder,
513
+ }
514
+ )
515
+ )
516
+
517
+
518
+ def ast(
519
+ loopstart: int | None = None,
520
+ loopend: int | None = None,
521
+ ) -> FFMpegMuxerOption:
522
+ """
523
+ AST (Audio Stream)
524
+
525
+ Args:
526
+ loopstart: Loopstart position in milliseconds. (from -1 to INT_MAX) (default -1)
527
+ loopend: Loopend position in milliseconds. (from 0 to INT_MAX) (default 0)
528
+
529
+ Returns:
530
+ the set codec options
531
+ """
532
+ return FFMpegMuxerOption(
533
+ kwargs=merge(
534
+ {
535
+ "loopstart": loopstart,
536
+ "loopend": loopend,
537
+ }
538
+ )
539
+ )
540
+
541
+
542
+ def au() -> FFMpegMuxerOption:
543
+ """
544
+ Sun AU
545
+
546
+
547
+ Returns:
548
+ the set codec options
549
+ """
550
+ return FFMpegMuxerOption(kwargs=merge({}))
551
+
552
+
553
+ def avi(
554
+ reserve_index_space: int | None = None,
555
+ write_channel_mask: bool | None = None,
556
+ flipped_raw_rgb: bool | None = None,
557
+ ) -> FFMpegMuxerOption:
558
+ """
559
+ AVI (Audio Video Interleaved)
560
+
561
+ Args:
562
+ reserve_index_space: reserve space (in bytes) at the beginning of the file for each stream index (from 0 to INT_MAX) (default 0)
563
+ write_channel_mask: write channel mask into wave format header (default true)
564
+ flipped_raw_rgb: Raw RGB bitmaps are stored bottom-up (default false)
565
+
566
+ Returns:
567
+ the set codec options
568
+ """
569
+ return FFMpegMuxerOption(
570
+ kwargs=merge(
571
+ {
572
+ "reserve_index_space": reserve_index_space,
573
+ "write_channel_mask": write_channel_mask,
574
+ "flipped_raw_rgb": flipped_raw_rgb,
575
+ }
576
+ )
577
+ )
578
+
579
+
580
+ def avif(
581
+ movie_timescale: int | None = None,
582
+ loop: int | None = None,
583
+ ) -> FFMpegMuxerOption:
584
+ """
585
+ AVIF
586
+
587
+ Args:
588
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
589
+ loop: Number of times to loop animated AVIF: 0 - infinite loop (from 0 to INT_MAX) (default 0)
590
+
591
+ Returns:
592
+ the set codec options
593
+ """
594
+ return FFMpegMuxerOption(
595
+ kwargs=merge(
596
+ {
597
+ "movie_timescale": movie_timescale,
598
+ "loop": loop,
599
+ }
600
+ )
601
+ )
602
+
603
+
604
+ def avm2() -> FFMpegMuxerOption:
605
+ """
606
+ SWF (ShockWave Flash) (AVM2)
607
+
608
+
609
+ Returns:
610
+ the set codec options
611
+ """
612
+ return FFMpegMuxerOption(kwargs=merge({}))
613
+
614
+
615
+ def avs2() -> FFMpegMuxerOption:
616
+ """
617
+ raw AVS2-P2/IEEE1857.4 video
618
+
619
+
620
+ Returns:
621
+ the set codec options
622
+ """
623
+ return FFMpegMuxerOption(kwargs=merge({}))
624
+
625
+
626
+ def avs3() -> FFMpegMuxerOption:
627
+ """
628
+ AVS3-P2/IEEE1857.10
629
+
630
+
631
+ Returns:
632
+ the set codec options
633
+ """
634
+ return FFMpegMuxerOption(kwargs=merge({}))
635
+
636
+
637
+ def bit() -> FFMpegMuxerOption:
638
+ """
639
+ G.729 BIT file format
640
+
641
+
642
+ Returns:
643
+ the set codec options
644
+ """
645
+ return FFMpegMuxerOption(kwargs=merge({}))
646
+
647
+
648
+ def caca(
649
+ window_size: str | None = None,
650
+ window_title: str | None = None,
651
+ driver: str | None = None,
652
+ algorithm: str | None = None,
653
+ antialias: str | None = None,
654
+ charset: str | None = None,
655
+ color: str | None = None,
656
+ list_drivers: bool | None = None,
657
+ list_dither: str
658
+ | None
659
+ | Literal["algorithms", "antialiases", "charsets", "colors"] = None,
660
+ ) -> FFMpegMuxerOption:
661
+ """
662
+ caca (color ASCII art) output device
663
+
664
+ Args:
665
+ window_size: set window forced size
666
+ window_title: set window title
667
+ driver: set display driver
668
+ algorithm: set dithering algorithm (default "default")
669
+ antialias: set antialias method (default "default")
670
+ charset: set charset used to render output (default "default")
671
+ color: set color used to render output (default "default")
672
+ list_drivers: list available drivers (default false)
673
+ list_dither: list available dither options
674
+
675
+ Returns:
676
+ the set codec options
677
+ """
678
+ return FFMpegMuxerOption(
679
+ kwargs=merge(
680
+ {
681
+ "window_size": window_size,
682
+ "window_title": window_title,
683
+ "driver": driver,
684
+ "algorithm": algorithm,
685
+ "antialias": antialias,
686
+ "charset": charset,
687
+ "color": color,
688
+ "list_drivers": list_drivers,
689
+ "list_dither": list_dither,
690
+ }
691
+ )
692
+ )
693
+
694
+
695
+ def caf() -> FFMpegMuxerOption:
696
+ """
697
+ Apple CAF (Core Audio Format)
698
+
699
+
700
+ Returns:
701
+ the set codec options
702
+ """
703
+ return FFMpegMuxerOption(kwargs=merge({}))
704
+
705
+
706
+ def cavsvideo() -> FFMpegMuxerOption:
707
+ """
708
+ raw Chinese AVS (Audio Video Standard) video
709
+
710
+
711
+ Returns:
712
+ the set codec options
713
+ """
714
+ return FFMpegMuxerOption(kwargs=merge({}))
715
+
716
+
717
+ def chromaprint(
718
+ silence_threshold: int | None = None,
719
+ algorithm: int | None = None,
720
+ fp_format: int | None | Literal["raw", "compressed", "base64"] = None,
721
+ ) -> FFMpegMuxerOption:
722
+ """
723
+ Chromaprint
724
+
725
+ Args:
726
+ silence_threshold: threshold for detecting silence (from -1 to 32767) (default -1)
727
+ algorithm: version of the fingerprint algorithm (from 0 to INT_MAX) (default 1)
728
+ fp_format: fingerprint format to write (from 0 to 2) (default base64)
729
+
730
+ Returns:
731
+ the set codec options
732
+ """
733
+ return FFMpegMuxerOption(
734
+ kwargs=merge(
735
+ {
736
+ "silence_threshold": silence_threshold,
737
+ "algorithm": algorithm,
738
+ "fp_format": fp_format,
739
+ }
740
+ )
741
+ )
742
+
743
+
744
+ def codec2() -> FFMpegMuxerOption:
745
+ """
746
+ codec2 .c2 muxer
747
+
748
+
749
+ Returns:
750
+ the set codec options
751
+ """
752
+ return FFMpegMuxerOption(kwargs=merge({}))
753
+
754
+
755
+ def codec2raw() -> FFMpegMuxerOption:
756
+ """
757
+ raw codec2 muxer
758
+
759
+
760
+ Returns:
761
+ the set codec options
762
+ """
763
+ return FFMpegMuxerOption(kwargs=merge({}))
764
+
765
+
766
+ def crc() -> FFMpegMuxerOption:
767
+ """
768
+ CRC testing
769
+
770
+
771
+ Returns:
772
+ the set codec options
773
+ """
774
+ return FFMpegMuxerOption(kwargs=merge({}))
775
+
776
+
777
+ def dash(
778
+ adaptation_sets: str | None = None,
779
+ window_size: int | None = None,
780
+ extra_window_size: int | None = None,
781
+ seg_duration: str | None = None,
782
+ frag_duration: str | None = None,
783
+ frag_type: int
784
+ | None
785
+ | Literal["none", "every_frame", "duration", "pframes"] = None,
786
+ remove_at_exit: bool | None = None,
787
+ use_template: bool | None = None,
788
+ use_timeline: bool | None = None,
789
+ single_file: bool | None = None,
790
+ single_file_name: str | None = None,
791
+ init_seg_name: str | None = None,
792
+ media_seg_name: str | None = None,
793
+ utc_timing_url: str | None = None,
794
+ method: str | None = None,
795
+ http_user_agent: str | None = None,
796
+ http_persistent: bool | None = None,
797
+ hls_playlist: bool | None = None,
798
+ hls_master_name: str | None = None,
799
+ streaming: bool | None = None,
800
+ timeout: str | None = None,
801
+ index_correction: bool | None = None,
802
+ format_options: str | None = None,
803
+ global_sidx: bool | None = None,
804
+ dash_segment_type: int | None | Literal["auto", "mp4", "webm"] = None,
805
+ ignore_io_errors: bool | None = None,
806
+ lhls: bool | None = None,
807
+ ldash: bool | None = None,
808
+ master_m3u8_publish_rate: int | None = None,
809
+ write_prft: bool | None = None,
810
+ mpd_profile: str | None = None,
811
+ http_opts: str | None = None,
812
+ target_latency: str | None = None,
813
+ min_playback_rate: str | None = None,
814
+ max_playback_rate: str | None = None,
815
+ update_period: int | None = None,
816
+ ) -> FFMpegMuxerOption:
817
+ """
818
+ DASH Muxer
819
+
820
+ Args:
821
+ adaptation_sets: Adaptation sets. Syntax: id=0,streams=0,1,2 id=1,streams=3,4 and so on
822
+ window_size: number of segments kept in the manifest (from 0 to INT_MAX) (default 0)
823
+ extra_window_size: number of segments kept outside of the manifest before removing from disk (from 0 to INT_MAX) (default 5)
824
+ seg_duration: segment duration (in seconds, fractional value can be set) (default 5)
825
+ frag_duration: fragment duration (in seconds, fractional value can be set) (default 0)
826
+ frag_type: set type of interval for fragments (from 0 to 3) (default none)
827
+ remove_at_exit: remove all segments when finished (default false)
828
+ use_template: Use SegmentTemplate instead of SegmentList (default true)
829
+ use_timeline: Use SegmentTimeline in SegmentTemplate (default true)
830
+ single_file: Store all segments in one file, accessed using byte ranges (default false)
831
+ single_file_name: DASH-templated name to be used for baseURL. Implies storing all segments in one file, accessed using byte ranges
832
+ init_seg_name: DASH-templated name to used for the initialization segment (default "init-stream$RepresentationID$.$ext$")
833
+ media_seg_name: DASH-templated name to used for the media segments (default "chunk-stream$RepresentationID$-$Number%05d$.$ext$")
834
+ utc_timing_url: URL of the page that will return the UTC timestamp in ISO format
835
+ method: set the HTTP method
836
+ http_user_agent: override User-Agent field in HTTP header
837
+ http_persistent: Use persistent HTTP connections (default false)
838
+ hls_playlist: Generate HLS playlist files(master.m3u8, media_%d.m3u8) (default false)
839
+ hls_master_name: HLS master playlist name (default "master.m3u8")
840
+ streaming: Enable/Disable streaming mode of output. Each frame will be moof fragment (default false)
841
+ timeout: set timeout for socket I/O operations (default -0.000001)
842
+ index_correction: Enable/Disable segment index correction logic (default false)
843
+ format_options: set list of options for the container format (mp4/webm) used for dash
844
+ global_sidx: Write global SIDX atom. Applicable only for single file, mp4 output, non-streaming mode (default false)
845
+ dash_segment_type: set dash segment files type (from 0 to 2) (default auto)
846
+ ignore_io_errors: Ignore IO errors during open and write. Useful for long-duration runs with network output (default false)
847
+ lhls: Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag with current segment's URI (default false)
848
+ ldash: Enable Low-latency dash. Constrains the value of a few elements (default false)
849
+ master_m3u8_publish_rate: Publish master playlist every after this many segment intervals (from 0 to UINT32_MAX) (default 0)
850
+ write_prft: Write producer reference time element (default auto)
851
+ mpd_profile: Set profiles. Elements and values used in the manifest may be constrained by them (default dash)
852
+ http_opts: HTTP protocol options
853
+ target_latency: Set desired target latency for Low-latency dash (default 0)
854
+ min_playback_rate: Set desired minimum playback rate (from 0.5 to 1.5) (default 1/1)
855
+ max_playback_rate: Set desired maximum playback rate (from 0.5 to 1.5) (default 1/1)
856
+ update_period: Set the mpd update interval (from 0 to I64_MAX) (default 0)
857
+
858
+ Returns:
859
+ the set codec options
860
+ """
861
+ return FFMpegMuxerOption(
862
+ kwargs=merge(
863
+ {
864
+ "adaptation_sets": adaptation_sets,
865
+ "window_size": window_size,
866
+ "extra_window_size": extra_window_size,
867
+ "seg_duration": seg_duration,
868
+ "frag_duration": frag_duration,
869
+ "frag_type": frag_type,
870
+ "remove_at_exit": remove_at_exit,
871
+ "use_template": use_template,
872
+ "use_timeline": use_timeline,
873
+ "single_file": single_file,
874
+ "single_file_name": single_file_name,
875
+ "init_seg_name": init_seg_name,
876
+ "media_seg_name": media_seg_name,
877
+ "utc_timing_url": utc_timing_url,
878
+ "method": method,
879
+ "http_user_agent": http_user_agent,
880
+ "http_persistent": http_persistent,
881
+ "hls_playlist": hls_playlist,
882
+ "hls_master_name": hls_master_name,
883
+ "streaming": streaming,
884
+ "timeout": timeout,
885
+ "index_correction": index_correction,
886
+ "format_options": format_options,
887
+ "global_sidx": global_sidx,
888
+ "dash_segment_type": dash_segment_type,
889
+ "ignore_io_errors": ignore_io_errors,
890
+ "lhls": lhls,
891
+ "ldash": ldash,
892
+ "master_m3u8_publish_rate": master_m3u8_publish_rate,
893
+ "write_prft": write_prft,
894
+ "mpd_profile": mpd_profile,
895
+ "http_opts": http_opts,
896
+ "target_latency": target_latency,
897
+ "min_playback_rate": min_playback_rate,
898
+ "max_playback_rate": max_playback_rate,
899
+ "update_period": update_period,
900
+ }
901
+ )
902
+ )
903
+
904
+
905
+ def data() -> FFMpegMuxerOption:
906
+ """
907
+ raw data
908
+
909
+
910
+ Returns:
911
+ the set codec options
912
+ """
913
+ return FFMpegMuxerOption(kwargs=merge({}))
914
+
915
+
916
+ def daud() -> FFMpegMuxerOption:
917
+ """
918
+ D-Cinema audio
919
+
920
+
921
+ Returns:
922
+ the set codec options
923
+ """
924
+ return FFMpegMuxerOption(kwargs=merge({}))
925
+
926
+
927
+ def dfpwm() -> FFMpegMuxerOption:
928
+ """
929
+ raw DFPWM1a
930
+
931
+
932
+ Returns:
933
+ the set codec options
934
+ """
935
+ return FFMpegMuxerOption(kwargs=merge({}))
936
+
937
+
938
+ def dirac() -> FFMpegMuxerOption:
939
+ """
940
+ raw Dirac
941
+
942
+
943
+ Returns:
944
+ the set codec options
945
+ """
946
+ return FFMpegMuxerOption(kwargs=merge({}))
947
+
948
+
949
+ def dnxhd() -> FFMpegMuxerOption:
950
+ """
951
+ raw DNxHD (SMPTE VC-3)
952
+
953
+
954
+ Returns:
955
+ the set codec options
956
+ """
957
+ return FFMpegMuxerOption(kwargs=merge({}))
958
+
959
+
960
+ def dts() -> FFMpegMuxerOption:
961
+ """
962
+ raw DTS
963
+
964
+
965
+ Returns:
966
+ the set codec options
967
+ """
968
+ return FFMpegMuxerOption(kwargs=merge({}))
969
+
970
+
971
+ def dv() -> FFMpegMuxerOption:
972
+ """
973
+ DV (Digital Video)
974
+
975
+
976
+ Returns:
977
+ the set codec options
978
+ """
979
+ return FFMpegMuxerOption(kwargs=merge({}))
980
+
981
+
982
+ def dvd() -> FFMpegMuxerOption:
983
+ """
984
+ MPEG-2 PS (DVD VOB)
985
+
986
+
987
+ Returns:
988
+ the set codec options
989
+ """
990
+ return FFMpegMuxerOption(kwargs=merge({}))
991
+
992
+
993
+ def eac3() -> FFMpegMuxerOption:
994
+ """
995
+ raw E-AC-3
996
+
997
+
998
+ Returns:
999
+ the set codec options
1000
+ """
1001
+ return FFMpegMuxerOption(kwargs=merge({}))
1002
+
1003
+
1004
+ def evc() -> FFMpegMuxerOption:
1005
+ """
1006
+ raw EVC video
1007
+
1008
+
1009
+ Returns:
1010
+ the set codec options
1011
+ """
1012
+ return FFMpegMuxerOption(kwargs=merge({}))
1013
+
1014
+
1015
+ def f32be() -> FFMpegMuxerOption:
1016
+ """
1017
+ PCM 32-bit floating-point big-endian
1018
+
1019
+
1020
+ Returns:
1021
+ the set codec options
1022
+ """
1023
+ return FFMpegMuxerOption(kwargs=merge({}))
1024
+
1025
+
1026
+ def f32le() -> FFMpegMuxerOption:
1027
+ """
1028
+ PCM 32-bit floating-point little-endian
1029
+
1030
+
1031
+ Returns:
1032
+ the set codec options
1033
+ """
1034
+ return FFMpegMuxerOption(kwargs=merge({}))
1035
+
1036
+
1037
+ def f4v(
1038
+ movflags: str | None = None,
1039
+ moov_size: int | None = None,
1040
+ rtpflags: str | None = None,
1041
+ skip_iods: bool | None = None,
1042
+ iods_audio_profile: int | None = None,
1043
+ iods_video_profile: int | None = None,
1044
+ frag_duration: int | None = None,
1045
+ min_frag_duration: int | None = None,
1046
+ frag_size: int | None = None,
1047
+ ism_lookahead: int | None = None,
1048
+ video_track_timescale: int | None = None,
1049
+ brand: str | None = None,
1050
+ use_editlist: bool | None = None,
1051
+ fragment_index: int | None = None,
1052
+ mov_gamma: float | None = None,
1053
+ frag_interleave: int | None = None,
1054
+ encryption_scheme: str | None = None,
1055
+ encryption_key: str | None = None,
1056
+ encryption_kid: str | None = None,
1057
+ use_stream_ids_as_track_ids: bool | None = None,
1058
+ write_btrt: bool | None = None,
1059
+ write_tmcd: bool | None = None,
1060
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
1061
+ empty_hdlr_name: bool | None = None,
1062
+ movie_timescale: int | None = None,
1063
+ ) -> FFMpegMuxerOption:
1064
+ """
1065
+ F4V Adobe Flash Video
1066
+
1067
+ Args:
1068
+ movflags: MOV muxer flags (default 0)
1069
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
1070
+ rtpflags: RTP muxer flags (default 0)
1071
+ skip_iods: Skip writing iods atom. (default true)
1072
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
1073
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
1074
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
1075
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
1076
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
1077
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
1078
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
1079
+ brand: Override major brand
1080
+ use_editlist: use edit list (default auto)
1081
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
1082
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
1083
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
1084
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
1085
+ encryption_key: The media encryption key (hex)
1086
+ encryption_kid: The media encryption key identifier (hex)
1087
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
1088
+ write_btrt: force or disable writing btrt (default auto)
1089
+ write_tmcd: force or disable writing tmcd (default auto)
1090
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
1091
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
1092
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
1093
+
1094
+ Returns:
1095
+ the set codec options
1096
+ """
1097
+ return FFMpegMuxerOption(
1098
+ kwargs=merge(
1099
+ {
1100
+ "movflags": movflags,
1101
+ "moov_size": moov_size,
1102
+ "rtpflags": rtpflags,
1103
+ "skip_iods": skip_iods,
1104
+ "iods_audio_profile": iods_audio_profile,
1105
+ "iods_video_profile": iods_video_profile,
1106
+ "frag_duration": frag_duration,
1107
+ "min_frag_duration": min_frag_duration,
1108
+ "frag_size": frag_size,
1109
+ "ism_lookahead": ism_lookahead,
1110
+ "video_track_timescale": video_track_timescale,
1111
+ "brand": brand,
1112
+ "use_editlist": use_editlist,
1113
+ "fragment_index": fragment_index,
1114
+ "mov_gamma": mov_gamma,
1115
+ "frag_interleave": frag_interleave,
1116
+ "encryption_scheme": encryption_scheme,
1117
+ "encryption_key": encryption_key,
1118
+ "encryption_kid": encryption_kid,
1119
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
1120
+ "write_btrt": write_btrt,
1121
+ "write_tmcd": write_tmcd,
1122
+ "write_prft": write_prft,
1123
+ "empty_hdlr_name": empty_hdlr_name,
1124
+ "movie_timescale": movie_timescale,
1125
+ }
1126
+ )
1127
+ )
1128
+
1129
+
1130
+ def f64be() -> FFMpegMuxerOption:
1131
+ """
1132
+ PCM 64-bit floating-point big-endian
1133
+
1134
+
1135
+ Returns:
1136
+ the set codec options
1137
+ """
1138
+ return FFMpegMuxerOption(kwargs=merge({}))
1139
+
1140
+
1141
+ def f64le() -> FFMpegMuxerOption:
1142
+ """
1143
+ PCM 64-bit floating-point little-endian
1144
+
1145
+
1146
+ Returns:
1147
+ the set codec options
1148
+ """
1149
+ return FFMpegMuxerOption(kwargs=merge({}))
1150
+
1151
+
1152
+ def fbdev(
1153
+ xoffset: int | None = None,
1154
+ yoffset: int | None = None,
1155
+ ) -> FFMpegMuxerOption:
1156
+ """
1157
+ Linux framebuffer
1158
+
1159
+ Args:
1160
+ xoffset: set x coordinate of top left corner (from INT_MIN to INT_MAX) (default 0)
1161
+ yoffset: set y coordinate of top left corner (from INT_MIN to INT_MAX) (default 0)
1162
+
1163
+ Returns:
1164
+ the set codec options
1165
+ """
1166
+ return FFMpegMuxerOption(
1167
+ kwargs=merge(
1168
+ {
1169
+ "xoffset": xoffset,
1170
+ "yoffset": yoffset,
1171
+ }
1172
+ )
1173
+ )
1174
+
1175
+
1176
+ def ffmetadata() -> FFMpegMuxerOption:
1177
+ """
1178
+ FFmpeg metadata in text
1179
+
1180
+
1181
+ Returns:
1182
+ the set codec options
1183
+ """
1184
+ return FFMpegMuxerOption(kwargs=merge({}))
1185
+
1186
+
1187
+ def fifo(
1188
+ fifo_format: str | None = None,
1189
+ queue_size: int | None = None,
1190
+ format_opts: str | None = None,
1191
+ drop_pkts_on_overflow: bool | None = None,
1192
+ restart_with_keyframe: bool | None = None,
1193
+ attempt_recovery: bool | None = None,
1194
+ max_recovery_attempts: int | None = None,
1195
+ recovery_wait_time: str | None = None,
1196
+ recovery_wait_streamtime: bool | None = None,
1197
+ recover_any_error: bool | None = None,
1198
+ timeshift: str | None = None,
1199
+ ) -> FFMpegMuxerOption:
1200
+ """
1201
+ FIFO queue pseudo-muxer
1202
+
1203
+ Args:
1204
+ fifo_format: Target muxer
1205
+ queue_size: Size of fifo queue (from 1 to INT_MAX) (default 60)
1206
+ format_opts: Options to be passed to underlying muxer
1207
+ drop_pkts_on_overflow: Drop packets on fifo queue overflow not to block encoder (default false)
1208
+ restart_with_keyframe: Wait for keyframe when restarting output (default false)
1209
+ attempt_recovery: Attempt recovery in case of failure (default false)
1210
+ max_recovery_attempts: Maximal number of recovery attempts (from 0 to INT_MAX) (default 0)
1211
+ recovery_wait_time: Waiting time between recovery attempts (default 5)
1212
+ recovery_wait_streamtime: Use stream time instead of real time while waiting for recovery (default false)
1213
+ recover_any_error: Attempt recovery regardless of type of the error (default false)
1214
+ timeshift: Delay fifo output (default 0)
1215
+
1216
+ Returns:
1217
+ the set codec options
1218
+ """
1219
+ return FFMpegMuxerOption(
1220
+ kwargs=merge(
1221
+ {
1222
+ "fifo_format": fifo_format,
1223
+ "queue_size": queue_size,
1224
+ "format_opts": format_opts,
1225
+ "drop_pkts_on_overflow": drop_pkts_on_overflow,
1226
+ "restart_with_keyframe": restart_with_keyframe,
1227
+ "attempt_recovery": attempt_recovery,
1228
+ "max_recovery_attempts": max_recovery_attempts,
1229
+ "recovery_wait_time": recovery_wait_time,
1230
+ "recovery_wait_streamtime": recovery_wait_streamtime,
1231
+ "recover_any_error": recover_any_error,
1232
+ "timeshift": timeshift,
1233
+ }
1234
+ )
1235
+ )
1236
+
1237
+
1238
+ def fifo_test(
1239
+ write_header_ret: int | None = None,
1240
+ write_trailer_ret: int | None = None,
1241
+ print_deinit_summary: bool | None = None,
1242
+ ) -> FFMpegMuxerOption:
1243
+ """
1244
+ Fifo test muxer
1245
+
1246
+ Args:
1247
+ write_header_ret: write_header() return value (from INT_MIN to INT_MAX) (default 0)
1248
+ write_trailer_ret: write_trailer() return value (from INT_MIN to INT_MAX) (default 0)
1249
+ print_deinit_summary: print summary when deinitializing muxer (default true)
1250
+
1251
+ Returns:
1252
+ the set codec options
1253
+ """
1254
+ return FFMpegMuxerOption(
1255
+ kwargs=merge(
1256
+ {
1257
+ "write_header_ret": write_header_ret,
1258
+ "write_trailer_ret": write_trailer_ret,
1259
+ "print_deinit_summary": print_deinit_summary,
1260
+ }
1261
+ )
1262
+ )
1263
+
1264
+
1265
+ def film_cpk() -> FFMpegMuxerOption:
1266
+ """
1267
+ Sega FILM / CPK
1268
+
1269
+
1270
+ Returns:
1271
+ the set codec options
1272
+ """
1273
+ return FFMpegMuxerOption(kwargs=merge({}))
1274
+
1275
+
1276
+ def filmstrip() -> FFMpegMuxerOption:
1277
+ """
1278
+ Adobe Filmstrip
1279
+
1280
+
1281
+ Returns:
1282
+ the set codec options
1283
+ """
1284
+ return FFMpegMuxerOption(kwargs=merge({}))
1285
+
1286
+
1287
+ def fits() -> FFMpegMuxerOption:
1288
+ """
1289
+ Flexible Image Transport System
1290
+
1291
+
1292
+ Returns:
1293
+ the set codec options
1294
+ """
1295
+ return FFMpegMuxerOption(kwargs=merge({}))
1296
+
1297
+
1298
+ def flac(
1299
+ write_header: bool | None = None,
1300
+ ) -> FFMpegMuxerOption:
1301
+ """
1302
+ raw FLAC
1303
+
1304
+ Args:
1305
+ write_header: Write the file header (default true)
1306
+
1307
+ Returns:
1308
+ the set codec options
1309
+ """
1310
+ return FFMpegMuxerOption(
1311
+ kwargs=merge(
1312
+ {
1313
+ "write_header": write_header,
1314
+ }
1315
+ )
1316
+ )
1317
+
1318
+
1319
+ def flv(
1320
+ flvflags: str | None = None,
1321
+ ) -> FFMpegMuxerOption:
1322
+ """
1323
+ FLV (Flash Video)
1324
+
1325
+ Args:
1326
+ flvflags: FLV muxer flags (default 0)
1327
+
1328
+ Returns:
1329
+ the set codec options
1330
+ """
1331
+ return FFMpegMuxerOption(
1332
+ kwargs=merge(
1333
+ {
1334
+ "flvflags": flvflags,
1335
+ }
1336
+ )
1337
+ )
1338
+
1339
+
1340
+ def framecrc() -> FFMpegMuxerOption:
1341
+ """
1342
+ framecrc testing
1343
+
1344
+
1345
+ Returns:
1346
+ the set codec options
1347
+ """
1348
+ return FFMpegMuxerOption(kwargs=merge({}))
1349
+
1350
+
1351
+ def framehash(
1352
+ hash: str | None = None,
1353
+ format_version: int | None = None,
1354
+ ) -> FFMpegMuxerOption:
1355
+ """
1356
+ Per-frame hash testing
1357
+
1358
+ Args:
1359
+ hash: set hash to use (default "sha256")
1360
+ format_version: file format version (from 1 to 2) (default 2)
1361
+
1362
+ Returns:
1363
+ the set codec options
1364
+ """
1365
+ return FFMpegMuxerOption(
1366
+ kwargs=merge(
1367
+ {
1368
+ "hash": hash,
1369
+ "format_version": format_version,
1370
+ }
1371
+ )
1372
+ )
1373
+
1374
+
1375
+ def framemd5(
1376
+ hash: str | None = None,
1377
+ format_version: int | None = None,
1378
+ ) -> FFMpegMuxerOption:
1379
+ """
1380
+ Per-frame MD5 testing
1381
+
1382
+ Args:
1383
+ hash: set hash to use (default "md5")
1384
+ format_version: file format version (from 1 to 2) (default 2)
1385
+
1386
+ Returns:
1387
+ the set codec options
1388
+ """
1389
+ return FFMpegMuxerOption(
1390
+ kwargs=merge(
1391
+ {
1392
+ "hash": hash,
1393
+ "format_version": format_version,
1394
+ }
1395
+ )
1396
+ )
1397
+
1398
+
1399
+ def g722() -> FFMpegMuxerOption:
1400
+ """
1401
+ raw G.722
1402
+
1403
+
1404
+ Returns:
1405
+ the set codec options
1406
+ """
1407
+ return FFMpegMuxerOption(kwargs=merge({}))
1408
+
1409
+
1410
+ def g723_1() -> FFMpegMuxerOption:
1411
+ """
1412
+ raw G.723.1
1413
+
1414
+
1415
+ Returns:
1416
+ the set codec options
1417
+ """
1418
+ return FFMpegMuxerOption(kwargs=merge({}))
1419
+
1420
+
1421
+ def g726() -> FFMpegMuxerOption:
1422
+ """
1423
+ raw big-endian G.726 ("left-justified")
1424
+
1425
+
1426
+ Returns:
1427
+ the set codec options
1428
+ """
1429
+ return FFMpegMuxerOption(kwargs=merge({}))
1430
+
1431
+
1432
+ def g726le() -> FFMpegMuxerOption:
1433
+ """
1434
+ raw little-endian G.726 ("right-justified")
1435
+
1436
+
1437
+ Returns:
1438
+ the set codec options
1439
+ """
1440
+ return FFMpegMuxerOption(kwargs=merge({}))
1441
+
1442
+
1443
+ def gif(
1444
+ loop: int | None = None,
1445
+ final_delay: int | None = None,
1446
+ ) -> FFMpegMuxerOption:
1447
+ """
1448
+ CompuServe Graphics Interchange Format (GIF)
1449
+
1450
+ Args:
1451
+ loop: Number of times to loop the output: -1 - no loop, 0 - infinite loop (from -1 to 65535) (default 0)
1452
+ final_delay: Force delay (in centiseconds) after the last frame (from -1 to 65535) (default -1)
1453
+
1454
+ Returns:
1455
+ the set codec options
1456
+ """
1457
+ return FFMpegMuxerOption(
1458
+ kwargs=merge(
1459
+ {
1460
+ "loop": loop,
1461
+ "final_delay": final_delay,
1462
+ }
1463
+ )
1464
+ )
1465
+
1466
+
1467
+ def gsm() -> FFMpegMuxerOption:
1468
+ """
1469
+ raw GSM
1470
+
1471
+
1472
+ Returns:
1473
+ the set codec options
1474
+ """
1475
+ return FFMpegMuxerOption(kwargs=merge({}))
1476
+
1477
+
1478
+ def gxf() -> FFMpegMuxerOption:
1479
+ """
1480
+ GXF (General eXchange Format)
1481
+
1482
+
1483
+ Returns:
1484
+ the set codec options
1485
+ """
1486
+ return FFMpegMuxerOption(kwargs=merge({}))
1487
+
1488
+
1489
+ def h261() -> FFMpegMuxerOption:
1490
+ """
1491
+ raw H.261
1492
+
1493
+
1494
+ Returns:
1495
+ the set codec options
1496
+ """
1497
+ return FFMpegMuxerOption(kwargs=merge({}))
1498
+
1499
+
1500
+ def h263() -> FFMpegMuxerOption:
1501
+ """
1502
+ raw H.263
1503
+
1504
+
1505
+ Returns:
1506
+ the set codec options
1507
+ """
1508
+ return FFMpegMuxerOption(kwargs=merge({}))
1509
+
1510
+
1511
+ def h264() -> FFMpegMuxerOption:
1512
+ """
1513
+ raw H.264 video
1514
+
1515
+
1516
+ Returns:
1517
+ the set codec options
1518
+ """
1519
+ return FFMpegMuxerOption(kwargs=merge({}))
1520
+
1521
+
1522
+ def hash() -> FFMpegMuxerOption:
1523
+ """
1524
+ Hash testing
1525
+
1526
+
1527
+ Returns:
1528
+ the set codec options
1529
+ """
1530
+ return FFMpegMuxerOption(kwargs=merge({}))
1531
+
1532
+
1533
+ def hds(
1534
+ window_size: int | None = None,
1535
+ extra_window_size: int | None = None,
1536
+ min_frag_duration: int | None = None,
1537
+ remove_at_exit: bool | None = None,
1538
+ ) -> FFMpegMuxerOption:
1539
+ """
1540
+ HDS Muxer
1541
+
1542
+ Args:
1543
+ window_size: number of fragments kept in the manifest (from 0 to INT_MAX) (default 0)
1544
+ extra_window_size: number of fragments kept outside of the manifest before removing from disk (from 0 to INT_MAX) (default 5)
1545
+ min_frag_duration: minimum fragment duration (in microseconds) (from 0 to INT_MAX) (default 10000000)
1546
+ remove_at_exit: remove all fragments when finished (default false)
1547
+
1548
+ Returns:
1549
+ the set codec options
1550
+ """
1551
+ return FFMpegMuxerOption(
1552
+ kwargs=merge(
1553
+ {
1554
+ "window_size": window_size,
1555
+ "extra_window_size": extra_window_size,
1556
+ "min_frag_duration": min_frag_duration,
1557
+ "remove_at_exit": remove_at_exit,
1558
+ }
1559
+ )
1560
+ )
1561
+
1562
+
1563
+ def hevc() -> FFMpegMuxerOption:
1564
+ """
1565
+ raw HEVC video
1566
+
1567
+
1568
+ Returns:
1569
+ the set codec options
1570
+ """
1571
+ return FFMpegMuxerOption(kwargs=merge({}))
1572
+
1573
+
1574
+ def hls(
1575
+ start_number: int | None = None,
1576
+ hls_time: str | None = None,
1577
+ hls_init_time: str | None = None,
1578
+ hls_list_size: int | None = None,
1579
+ hls_delete_threshold: int | None = None,
1580
+ hls_vtt_options: str | None = None,
1581
+ hls_allow_cache: int | None = None,
1582
+ hls_base_url: str | None = None,
1583
+ hls_segment_filename: str | None = None,
1584
+ hls_segment_options: str | None = None,
1585
+ hls_segment_size: int | None = None,
1586
+ hls_key_info_file: str | None = None,
1587
+ hls_enc: bool | None = None,
1588
+ hls_enc_key: str | None = None,
1589
+ hls_enc_key_url: str | None = None,
1590
+ hls_enc_iv: str | None = None,
1591
+ hls_subtitle_path: str | None = None,
1592
+ hls_segment_type: int | None | Literal["mpegts", "fmp4"] = None,
1593
+ hls_fmp4_init_filename: str | None = None,
1594
+ hls_fmp4_init_resend: bool | None = None,
1595
+ hls_flags: str | None = None,
1596
+ strftime: bool | None = None,
1597
+ strftime_mkdir: bool | None = None,
1598
+ hls_playlist_type: int | None | Literal["event", "vod"] = None,
1599
+ method: str | None = None,
1600
+ hls_start_number_source: int
1601
+ | None
1602
+ | Literal["generic", "epoch", "epoch_us", "datetime"] = None,
1603
+ http_user_agent: str | None = None,
1604
+ var_stream_map: str | None = None,
1605
+ cc_stream_map: str | None = None,
1606
+ master_pl_name: str | None = None,
1607
+ master_pl_publish_rate: int | None = None,
1608
+ http_persistent: bool | None = None,
1609
+ timeout: str | None = None,
1610
+ ignore_io_errors: bool | None = None,
1611
+ headers: str | None = None,
1612
+ ) -> FFMpegMuxerOption:
1613
+ """
1614
+ Apple HTTP Live Streaming
1615
+
1616
+ Args:
1617
+ start_number: set first number in the sequence (from 0 to I64_MAX) (default 0)
1618
+ hls_time: set segment length (default 2)
1619
+ hls_init_time: set segment length at init list (default 0)
1620
+ hls_list_size: set maximum number of playlist entries (from 0 to INT_MAX) (default 5)
1621
+ hls_delete_threshold: set number of unreferenced segments to keep before deleting (from 1 to INT_MAX) (default 1)
1622
+ hls_vtt_options: set hls vtt list of options for the container format used for hls
1623
+ hls_allow_cache: explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments (from INT_MIN to INT_MAX) (default -1)
1624
+ hls_base_url: url to prepend to each playlist entry
1625
+ hls_segment_filename: filename template for segment files
1626
+ hls_segment_options: set segments files format options of hls
1627
+ hls_segment_size: maximum size per segment file, (in bytes) (from 0 to INT_MAX) (default 0)
1628
+ hls_key_info_file: file with key URI and key file path
1629
+ hls_enc: enable AES128 encryption support (default false)
1630
+ hls_enc_key: hex-coded 16 byte key to encrypt the segments
1631
+ hls_enc_key_url: url to access the key to decrypt the segments
1632
+ hls_enc_iv: hex-coded 16 byte initialization vector
1633
+ hls_subtitle_path: set path of hls subtitles
1634
+ hls_segment_type: set hls segment files type (from 0 to 1) (default mpegts)
1635
+ hls_fmp4_init_filename: set fragment mp4 file init filename (default "init.mp4")
1636
+ hls_fmp4_init_resend: resend fragment mp4 init file after refresh m3u8 every time (default false)
1637
+ hls_flags: set flags affecting HLS playlist and media file generation (default 0)
1638
+ strftime: set filename expansion with strftime at segment creation (default false)
1639
+ strftime_mkdir: create last directory component in strftime-generated filename (default false)
1640
+ hls_playlist_type: set the HLS playlist type (from 0 to 2) (default 0)
1641
+ method: set the HTTP method(default: PUT)
1642
+ hls_start_number_source: set source of first number in sequence (from 0 to 3) (default generic)
1643
+ http_user_agent: override User-Agent field in HTTP header
1644
+ var_stream_map: Variant stream map string
1645
+ cc_stream_map: Closed captions stream map string
1646
+ master_pl_name: Create HLS master playlist with this name
1647
+ master_pl_publish_rate: Publish master play list every after this many segment intervals (from 0 to UINT32_MAX) (default 0)
1648
+ http_persistent: Use persistent HTTP connections (default false)
1649
+ timeout: set timeout for socket I/O operations (default -0.000001)
1650
+ ignore_io_errors: Ignore IO errors for stable long-duration runs with network output (default false)
1651
+ headers: set custom HTTP headers, can override built in default headers
1652
+
1653
+ Returns:
1654
+ the set codec options
1655
+ """
1656
+ return FFMpegMuxerOption(
1657
+ kwargs=merge(
1658
+ {
1659
+ "start_number": start_number,
1660
+ "hls_time": hls_time,
1661
+ "hls_init_time": hls_init_time,
1662
+ "hls_list_size": hls_list_size,
1663
+ "hls_delete_threshold": hls_delete_threshold,
1664
+ "hls_vtt_options": hls_vtt_options,
1665
+ "hls_allow_cache": hls_allow_cache,
1666
+ "hls_base_url": hls_base_url,
1667
+ "hls_segment_filename": hls_segment_filename,
1668
+ "hls_segment_options": hls_segment_options,
1669
+ "hls_segment_size": hls_segment_size,
1670
+ "hls_key_info_file": hls_key_info_file,
1671
+ "hls_enc": hls_enc,
1672
+ "hls_enc_key": hls_enc_key,
1673
+ "hls_enc_key_url": hls_enc_key_url,
1674
+ "hls_enc_iv": hls_enc_iv,
1675
+ "hls_subtitle_path": hls_subtitle_path,
1676
+ "hls_segment_type": hls_segment_type,
1677
+ "hls_fmp4_init_filename": hls_fmp4_init_filename,
1678
+ "hls_fmp4_init_resend": hls_fmp4_init_resend,
1679
+ "hls_flags": hls_flags,
1680
+ "strftime": strftime,
1681
+ "strftime_mkdir": strftime_mkdir,
1682
+ "hls_playlist_type": hls_playlist_type,
1683
+ "method": method,
1684
+ "hls_start_number_source": hls_start_number_source,
1685
+ "http_user_agent": http_user_agent,
1686
+ "var_stream_map": var_stream_map,
1687
+ "cc_stream_map": cc_stream_map,
1688
+ "master_pl_name": master_pl_name,
1689
+ "master_pl_publish_rate": master_pl_publish_rate,
1690
+ "http_persistent": http_persistent,
1691
+ "timeout": timeout,
1692
+ "ignore_io_errors": ignore_io_errors,
1693
+ "headers": headers,
1694
+ }
1695
+ )
1696
+ )
1697
+
1698
+
1699
+ def ico() -> FFMpegMuxerOption:
1700
+ """
1701
+ Microsoft Windows ICO
1702
+
1703
+
1704
+ Returns:
1705
+ the set codec options
1706
+ """
1707
+ return FFMpegMuxerOption(kwargs=merge({}))
1708
+
1709
+
1710
+ def ilbc() -> FFMpegMuxerOption:
1711
+ """
1712
+ iLBC storage
1713
+
1714
+
1715
+ Returns:
1716
+ the set codec options
1717
+ """
1718
+ return FFMpegMuxerOption(kwargs=merge({}))
1719
+
1720
+
1721
+ def image2(
1722
+ update: bool | None = None,
1723
+ start_number: int | None = None,
1724
+ strftime: bool | None = None,
1725
+ frame_pts: bool | None = None,
1726
+ atomic_writing: bool | None = None,
1727
+ protocol_opts: str | None = None,
1728
+ ) -> FFMpegMuxerOption:
1729
+ """
1730
+ image2 sequence
1731
+
1732
+ Args:
1733
+ update: continuously overwrite one file (default false)
1734
+ start_number: set first number in the sequence (from 0 to INT_MAX) (default 1)
1735
+ strftime: use strftime for filename (default false)
1736
+ frame_pts: use current frame pts for filename (default false)
1737
+ atomic_writing: write files atomically (using temporary files and renames) (default false)
1738
+ protocol_opts: specify protocol options for the opened files
1739
+
1740
+ Returns:
1741
+ the set codec options
1742
+ """
1743
+ return FFMpegMuxerOption(
1744
+ kwargs=merge(
1745
+ {
1746
+ "update": update,
1747
+ "start_number": start_number,
1748
+ "strftime": strftime,
1749
+ "frame_pts": frame_pts,
1750
+ "atomic_writing": atomic_writing,
1751
+ "protocol_opts": protocol_opts,
1752
+ }
1753
+ )
1754
+ )
1755
+
1756
+
1757
+ def image2pipe() -> FFMpegMuxerOption:
1758
+ """
1759
+ piped image2 sequence
1760
+
1761
+
1762
+ Returns:
1763
+ the set codec options
1764
+ """
1765
+ return FFMpegMuxerOption(kwargs=merge({}))
1766
+
1767
+
1768
+ def ipod(
1769
+ movflags: str | None = None,
1770
+ moov_size: int | None = None,
1771
+ rtpflags: str | None = None,
1772
+ skip_iods: bool | None = None,
1773
+ iods_audio_profile: int | None = None,
1774
+ iods_video_profile: int | None = None,
1775
+ frag_duration: int | None = None,
1776
+ min_frag_duration: int | None = None,
1777
+ frag_size: int | None = None,
1778
+ ism_lookahead: int | None = None,
1779
+ video_track_timescale: int | None = None,
1780
+ brand: str | None = None,
1781
+ use_editlist: bool | None = None,
1782
+ fragment_index: int | None = None,
1783
+ mov_gamma: float | None = None,
1784
+ frag_interleave: int | None = None,
1785
+ encryption_scheme: str | None = None,
1786
+ encryption_key: str | None = None,
1787
+ encryption_kid: str | None = None,
1788
+ use_stream_ids_as_track_ids: bool | None = None,
1789
+ write_btrt: bool | None = None,
1790
+ write_tmcd: bool | None = None,
1791
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
1792
+ empty_hdlr_name: bool | None = None,
1793
+ movie_timescale: int | None = None,
1794
+ ) -> FFMpegMuxerOption:
1795
+ """
1796
+ iPod H.264 MP4 (MPEG-4 Part 14)
1797
+
1798
+ Args:
1799
+ movflags: MOV muxer flags (default 0)
1800
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
1801
+ rtpflags: RTP muxer flags (default 0)
1802
+ skip_iods: Skip writing iods atom. (default true)
1803
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
1804
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
1805
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
1806
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
1807
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
1808
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
1809
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
1810
+ brand: Override major brand
1811
+ use_editlist: use edit list (default auto)
1812
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
1813
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
1814
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
1815
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
1816
+ encryption_key: The media encryption key (hex)
1817
+ encryption_kid: The media encryption key identifier (hex)
1818
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
1819
+ write_btrt: force or disable writing btrt (default auto)
1820
+ write_tmcd: force or disable writing tmcd (default auto)
1821
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
1822
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
1823
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
1824
+
1825
+ Returns:
1826
+ the set codec options
1827
+ """
1828
+ return FFMpegMuxerOption(
1829
+ kwargs=merge(
1830
+ {
1831
+ "movflags": movflags,
1832
+ "moov_size": moov_size,
1833
+ "rtpflags": rtpflags,
1834
+ "skip_iods": skip_iods,
1835
+ "iods_audio_profile": iods_audio_profile,
1836
+ "iods_video_profile": iods_video_profile,
1837
+ "frag_duration": frag_duration,
1838
+ "min_frag_duration": min_frag_duration,
1839
+ "frag_size": frag_size,
1840
+ "ism_lookahead": ism_lookahead,
1841
+ "video_track_timescale": video_track_timescale,
1842
+ "brand": brand,
1843
+ "use_editlist": use_editlist,
1844
+ "fragment_index": fragment_index,
1845
+ "mov_gamma": mov_gamma,
1846
+ "frag_interleave": frag_interleave,
1847
+ "encryption_scheme": encryption_scheme,
1848
+ "encryption_key": encryption_key,
1849
+ "encryption_kid": encryption_kid,
1850
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
1851
+ "write_btrt": write_btrt,
1852
+ "write_tmcd": write_tmcd,
1853
+ "write_prft": write_prft,
1854
+ "empty_hdlr_name": empty_hdlr_name,
1855
+ "movie_timescale": movie_timescale,
1856
+ }
1857
+ )
1858
+ )
1859
+
1860
+
1861
+ def ircam() -> FFMpegMuxerOption:
1862
+ """
1863
+ Berkeley/IRCAM/CARL Sound Format
1864
+
1865
+
1866
+ Returns:
1867
+ the set codec options
1868
+ """
1869
+ return FFMpegMuxerOption(kwargs=merge({}))
1870
+
1871
+
1872
+ def ismv(
1873
+ movflags: str | None = None,
1874
+ moov_size: int | None = None,
1875
+ rtpflags: str | None = None,
1876
+ skip_iods: bool | None = None,
1877
+ iods_audio_profile: int | None = None,
1878
+ iods_video_profile: int | None = None,
1879
+ frag_duration: int | None = None,
1880
+ min_frag_duration: int | None = None,
1881
+ frag_size: int | None = None,
1882
+ ism_lookahead: int | None = None,
1883
+ video_track_timescale: int | None = None,
1884
+ brand: str | None = None,
1885
+ use_editlist: bool | None = None,
1886
+ fragment_index: int | None = None,
1887
+ mov_gamma: float | None = None,
1888
+ frag_interleave: int | None = None,
1889
+ encryption_scheme: str | None = None,
1890
+ encryption_key: str | None = None,
1891
+ encryption_kid: str | None = None,
1892
+ use_stream_ids_as_track_ids: bool | None = None,
1893
+ write_btrt: bool | None = None,
1894
+ write_tmcd: bool | None = None,
1895
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
1896
+ empty_hdlr_name: bool | None = None,
1897
+ movie_timescale: int | None = None,
1898
+ ) -> FFMpegMuxerOption:
1899
+ """
1900
+ ISMV/ISMA (Smooth Streaming)
1901
+
1902
+ Args:
1903
+ movflags: MOV muxer flags (default 0)
1904
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
1905
+ rtpflags: RTP muxer flags (default 0)
1906
+ skip_iods: Skip writing iods atom. (default true)
1907
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
1908
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
1909
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
1910
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
1911
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
1912
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
1913
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
1914
+ brand: Override major brand
1915
+ use_editlist: use edit list (default auto)
1916
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
1917
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
1918
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
1919
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
1920
+ encryption_key: The media encryption key (hex)
1921
+ encryption_kid: The media encryption key identifier (hex)
1922
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
1923
+ write_btrt: force or disable writing btrt (default auto)
1924
+ write_tmcd: force or disable writing tmcd (default auto)
1925
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
1926
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
1927
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
1928
+
1929
+ Returns:
1930
+ the set codec options
1931
+ """
1932
+ return FFMpegMuxerOption(
1933
+ kwargs=merge(
1934
+ {
1935
+ "movflags": movflags,
1936
+ "moov_size": moov_size,
1937
+ "rtpflags": rtpflags,
1938
+ "skip_iods": skip_iods,
1939
+ "iods_audio_profile": iods_audio_profile,
1940
+ "iods_video_profile": iods_video_profile,
1941
+ "frag_duration": frag_duration,
1942
+ "min_frag_duration": min_frag_duration,
1943
+ "frag_size": frag_size,
1944
+ "ism_lookahead": ism_lookahead,
1945
+ "video_track_timescale": video_track_timescale,
1946
+ "brand": brand,
1947
+ "use_editlist": use_editlist,
1948
+ "fragment_index": fragment_index,
1949
+ "mov_gamma": mov_gamma,
1950
+ "frag_interleave": frag_interleave,
1951
+ "encryption_scheme": encryption_scheme,
1952
+ "encryption_key": encryption_key,
1953
+ "encryption_kid": encryption_kid,
1954
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
1955
+ "write_btrt": write_btrt,
1956
+ "write_tmcd": write_tmcd,
1957
+ "write_prft": write_prft,
1958
+ "empty_hdlr_name": empty_hdlr_name,
1959
+ "movie_timescale": movie_timescale,
1960
+ }
1961
+ )
1962
+ )
1963
+
1964
+
1965
+ def ivf() -> FFMpegMuxerOption:
1966
+ """
1967
+ On2 IVF
1968
+
1969
+
1970
+ Returns:
1971
+ the set codec options
1972
+ """
1973
+ return FFMpegMuxerOption(kwargs=merge({}))
1974
+
1975
+
1976
+ def jacosub() -> FFMpegMuxerOption:
1977
+ """
1978
+ JACOsub subtitle format
1979
+
1980
+
1981
+ Returns:
1982
+ the set codec options
1983
+ """
1984
+ return FFMpegMuxerOption(kwargs=merge({}))
1985
+
1986
+
1987
+ def kvag() -> FFMpegMuxerOption:
1988
+ """
1989
+ Simon & Schuster Interactive VAG
1990
+
1991
+
1992
+ Returns:
1993
+ the set codec options
1994
+ """
1995
+ return FFMpegMuxerOption(kwargs=merge({}))
1996
+
1997
+
1998
+ def latm(
1999
+ smc_interval: int | None = None,
2000
+ ) -> FFMpegMuxerOption:
2001
+ """
2002
+ LOAS/LATM
2003
+
2004
+ Args:
2005
+ smc_interval: StreamMuxConfig interval. (from 1 to 65535) (default 20)
2006
+
2007
+ Returns:
2008
+ the set codec options
2009
+ """
2010
+ return FFMpegMuxerOption(
2011
+ kwargs=merge(
2012
+ {
2013
+ "smc-interval": smc_interval,
2014
+ }
2015
+ )
2016
+ )
2017
+
2018
+
2019
+ def lrc() -> FFMpegMuxerOption:
2020
+ """
2021
+ LRC lyrics
2022
+
2023
+
2024
+ Returns:
2025
+ the set codec options
2026
+ """
2027
+ return FFMpegMuxerOption(kwargs=merge({}))
2028
+
2029
+
2030
+ def m4v() -> FFMpegMuxerOption:
2031
+ """
2032
+ raw MPEG-4 video
2033
+
2034
+
2035
+ Returns:
2036
+ the set codec options
2037
+ """
2038
+ return FFMpegMuxerOption(kwargs=merge({}))
2039
+
2040
+
2041
+ def matroska(
2042
+ reserve_index_space: int | None = None,
2043
+ cues_to_front: bool | None = None,
2044
+ cluster_size_limit: int | None = None,
2045
+ cluster_time_limit: int | None = None,
2046
+ dash: bool | None = None,
2047
+ dash_track_number: int | None = None,
2048
+ live: bool | None = None,
2049
+ allow_raw_vfw: bool | None = None,
2050
+ flipped_raw_rgb: bool | None = None,
2051
+ write_crc32: bool | None = None,
2052
+ default_mode: int | None | Literal["infer", "infer_no_subs", "passthrough"] = None,
2053
+ ) -> FFMpegMuxerOption:
2054
+ """
2055
+ Matroska
2056
+
2057
+ Args:
2058
+ reserve_index_space: Reserve a given amount of space (in bytes) at the beginning of the file for the index (cues). (from 0 to INT_MAX) (default 0)
2059
+ cues_to_front: Move Cues (the index) to the front by shifting data if necessary (default false)
2060
+ cluster_size_limit: Store at most the provided amount of bytes in a cluster. (from -1 to INT_MAX) (default -1)
2061
+ cluster_time_limit: Store at most the provided number of milliseconds in a cluster. (from -1 to I64_MAX) (default -1)
2062
+ dash: Create a WebM file conforming to WebM DASH specification (default false)
2063
+ dash_track_number: Track number for the DASH stream (from 1 to INT_MAX) (default 1)
2064
+ live: Write files assuming it is a live stream. (default false)
2065
+ allow_raw_vfw: allow RAW VFW mode (default false)
2066
+ flipped_raw_rgb: Raw RGB bitmaps in VFW mode are stored bottom-up (default false)
2067
+ write_crc32: write a CRC32 element inside every Level 1 element (default true)
2068
+ default_mode: Controls how a track's FlagDefault is inferred (from 0 to 2) (default passthrough)
2069
+
2070
+ Returns:
2071
+ the set codec options
2072
+ """
2073
+ return FFMpegMuxerOption(
2074
+ kwargs=merge(
2075
+ {
2076
+ "reserve_index_space": reserve_index_space,
2077
+ "cues_to_front": cues_to_front,
2078
+ "cluster_size_limit": cluster_size_limit,
2079
+ "cluster_time_limit": cluster_time_limit,
2080
+ "dash": dash,
2081
+ "dash_track_number": dash_track_number,
2082
+ "live": live,
2083
+ "allow_raw_vfw": allow_raw_vfw,
2084
+ "flipped_raw_rgb": flipped_raw_rgb,
2085
+ "write_crc32": write_crc32,
2086
+ "default_mode": default_mode,
2087
+ }
2088
+ )
2089
+ )
2090
+
2091
+
2092
+ def md5(
2093
+ hash: str | None = None,
2094
+ ) -> FFMpegMuxerOption:
2095
+ """
2096
+ MD5 testing
2097
+
2098
+ Args:
2099
+ hash: set hash to use (default "md5")
2100
+
2101
+ Returns:
2102
+ the set codec options
2103
+ """
2104
+ return FFMpegMuxerOption(
2105
+ kwargs=merge(
2106
+ {
2107
+ "hash": hash,
2108
+ }
2109
+ )
2110
+ )
2111
+
2112
+
2113
+ def microdvd() -> FFMpegMuxerOption:
2114
+ """
2115
+ MicroDVD subtitle format
2116
+
2117
+
2118
+ Returns:
2119
+ the set codec options
2120
+ """
2121
+ return FFMpegMuxerOption(kwargs=merge({}))
2122
+
2123
+
2124
+ def mjpeg() -> FFMpegMuxerOption:
2125
+ """
2126
+ raw MJPEG video
2127
+
2128
+
2129
+ Returns:
2130
+ the set codec options
2131
+ """
2132
+ return FFMpegMuxerOption(kwargs=merge({}))
2133
+
2134
+
2135
+ def mkvtimestamp_v2() -> FFMpegMuxerOption:
2136
+ """
2137
+ extract pts as timecode v2 format, as defined by mkvtoolnix
2138
+
2139
+
2140
+ Returns:
2141
+ the set codec options
2142
+ """
2143
+ return FFMpegMuxerOption(kwargs=merge({}))
2144
+
2145
+
2146
+ def mlp() -> FFMpegMuxerOption:
2147
+ """
2148
+ raw MLP
2149
+
2150
+
2151
+ Returns:
2152
+ the set codec options
2153
+ """
2154
+ return FFMpegMuxerOption(kwargs=merge({}))
2155
+
2156
+
2157
+ def mmf() -> FFMpegMuxerOption:
2158
+ """
2159
+ Yamaha SMAF
2160
+
2161
+
2162
+ Returns:
2163
+ the set codec options
2164
+ """
2165
+ return FFMpegMuxerOption(kwargs=merge({}))
2166
+
2167
+
2168
+ def mov(
2169
+ movflags: str | None = None,
2170
+ moov_size: int | None = None,
2171
+ rtpflags: str | None = None,
2172
+ skip_iods: bool | None = None,
2173
+ iods_audio_profile: int | None = None,
2174
+ iods_video_profile: int | None = None,
2175
+ frag_duration: int | None = None,
2176
+ min_frag_duration: int | None = None,
2177
+ frag_size: int | None = None,
2178
+ ism_lookahead: int | None = None,
2179
+ video_track_timescale: int | None = None,
2180
+ brand: str | None = None,
2181
+ use_editlist: bool | None = None,
2182
+ fragment_index: int | None = None,
2183
+ mov_gamma: float | None = None,
2184
+ frag_interleave: int | None = None,
2185
+ encryption_scheme: str | None = None,
2186
+ encryption_key: str | None = None,
2187
+ encryption_kid: str | None = None,
2188
+ use_stream_ids_as_track_ids: bool | None = None,
2189
+ write_btrt: bool | None = None,
2190
+ write_tmcd: bool | None = None,
2191
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
2192
+ empty_hdlr_name: bool | None = None,
2193
+ movie_timescale: int | None = None,
2194
+ ) -> FFMpegMuxerOption:
2195
+ """
2196
+ QuickTime / MOV
2197
+
2198
+ Args:
2199
+ movflags: MOV muxer flags (default 0)
2200
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
2201
+ rtpflags: RTP muxer flags (default 0)
2202
+ skip_iods: Skip writing iods atom. (default true)
2203
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
2204
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
2205
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
2206
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
2207
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
2208
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
2209
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
2210
+ brand: Override major brand
2211
+ use_editlist: use edit list (default auto)
2212
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
2213
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
2214
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
2215
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
2216
+ encryption_key: The media encryption key (hex)
2217
+ encryption_kid: The media encryption key identifier (hex)
2218
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
2219
+ write_btrt: force or disable writing btrt (default auto)
2220
+ write_tmcd: force or disable writing tmcd (default auto)
2221
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
2222
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
2223
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
2224
+
2225
+ Returns:
2226
+ the set codec options
2227
+ """
2228
+ return FFMpegMuxerOption(
2229
+ kwargs=merge(
2230
+ {
2231
+ "movflags": movflags,
2232
+ "moov_size": moov_size,
2233
+ "rtpflags": rtpflags,
2234
+ "skip_iods": skip_iods,
2235
+ "iods_audio_profile": iods_audio_profile,
2236
+ "iods_video_profile": iods_video_profile,
2237
+ "frag_duration": frag_duration,
2238
+ "min_frag_duration": min_frag_duration,
2239
+ "frag_size": frag_size,
2240
+ "ism_lookahead": ism_lookahead,
2241
+ "video_track_timescale": video_track_timescale,
2242
+ "brand": brand,
2243
+ "use_editlist": use_editlist,
2244
+ "fragment_index": fragment_index,
2245
+ "mov_gamma": mov_gamma,
2246
+ "frag_interleave": frag_interleave,
2247
+ "encryption_scheme": encryption_scheme,
2248
+ "encryption_key": encryption_key,
2249
+ "encryption_kid": encryption_kid,
2250
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
2251
+ "write_btrt": write_btrt,
2252
+ "write_tmcd": write_tmcd,
2253
+ "write_prft": write_prft,
2254
+ "empty_hdlr_name": empty_hdlr_name,
2255
+ "movie_timescale": movie_timescale,
2256
+ }
2257
+ )
2258
+ )
2259
+
2260
+
2261
+ def mp2() -> FFMpegMuxerOption:
2262
+ """
2263
+ MP2 (MPEG audio layer 2)
2264
+
2265
+
2266
+ Returns:
2267
+ the set codec options
2268
+ """
2269
+ return FFMpegMuxerOption(kwargs=merge({}))
2270
+
2271
+
2272
+ def mp3(
2273
+ id3v2_version: int | None = None,
2274
+ write_id3v1: bool | None = None,
2275
+ write_xing: bool | None = None,
2276
+ ) -> FFMpegMuxerOption:
2277
+ """
2278
+ MP3 (MPEG audio layer 3)
2279
+
2280
+ Args:
2281
+ id3v2_version: Select ID3v2 version to write. Currently 3 and 4 are supported. (from 0 to 4) (default 4)
2282
+ write_id3v1: Enable ID3v1 writing. ID3v1 tags are written in UTF-8 which may not be supported by most software. (default false)
2283
+ write_xing: Write the Xing header containing file duration. (default true)
2284
+
2285
+ Returns:
2286
+ the set codec options
2287
+ """
2288
+ return FFMpegMuxerOption(
2289
+ kwargs=merge(
2290
+ {
2291
+ "id3v2_version": id3v2_version,
2292
+ "write_id3v1": write_id3v1,
2293
+ "write_xing": write_xing,
2294
+ }
2295
+ )
2296
+ )
2297
+
2298
+
2299
+ def mp4(
2300
+ movflags: str | None = None,
2301
+ moov_size: int | None = None,
2302
+ rtpflags: str | None = None,
2303
+ skip_iods: bool | None = None,
2304
+ iods_audio_profile: int | None = None,
2305
+ iods_video_profile: int | None = None,
2306
+ frag_duration: int | None = None,
2307
+ min_frag_duration: int | None = None,
2308
+ frag_size: int | None = None,
2309
+ ism_lookahead: int | None = None,
2310
+ video_track_timescale: int | None = None,
2311
+ brand: str | None = None,
2312
+ use_editlist: bool | None = None,
2313
+ fragment_index: int | None = None,
2314
+ mov_gamma: float | None = None,
2315
+ frag_interleave: int | None = None,
2316
+ encryption_scheme: str | None = None,
2317
+ encryption_key: str | None = None,
2318
+ encryption_kid: str | None = None,
2319
+ use_stream_ids_as_track_ids: bool | None = None,
2320
+ write_btrt: bool | None = None,
2321
+ write_tmcd: bool | None = None,
2322
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
2323
+ empty_hdlr_name: bool | None = None,
2324
+ movie_timescale: int | None = None,
2325
+ ) -> FFMpegMuxerOption:
2326
+ """
2327
+ MP4 (MPEG-4 Part 14)
2328
+
2329
+ Args:
2330
+ movflags: MOV muxer flags (default 0)
2331
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
2332
+ rtpflags: RTP muxer flags (default 0)
2333
+ skip_iods: Skip writing iods atom. (default true)
2334
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
2335
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
2336
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
2337
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
2338
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
2339
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
2340
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
2341
+ brand: Override major brand
2342
+ use_editlist: use edit list (default auto)
2343
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
2344
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
2345
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
2346
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
2347
+ encryption_key: The media encryption key (hex)
2348
+ encryption_kid: The media encryption key identifier (hex)
2349
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
2350
+ write_btrt: force or disable writing btrt (default auto)
2351
+ write_tmcd: force or disable writing tmcd (default auto)
2352
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
2353
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
2354
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
2355
+
2356
+ Returns:
2357
+ the set codec options
2358
+ """
2359
+ return FFMpegMuxerOption(
2360
+ kwargs=merge(
2361
+ {
2362
+ "movflags": movflags,
2363
+ "moov_size": moov_size,
2364
+ "rtpflags": rtpflags,
2365
+ "skip_iods": skip_iods,
2366
+ "iods_audio_profile": iods_audio_profile,
2367
+ "iods_video_profile": iods_video_profile,
2368
+ "frag_duration": frag_duration,
2369
+ "min_frag_duration": min_frag_duration,
2370
+ "frag_size": frag_size,
2371
+ "ism_lookahead": ism_lookahead,
2372
+ "video_track_timescale": video_track_timescale,
2373
+ "brand": brand,
2374
+ "use_editlist": use_editlist,
2375
+ "fragment_index": fragment_index,
2376
+ "mov_gamma": mov_gamma,
2377
+ "frag_interleave": frag_interleave,
2378
+ "encryption_scheme": encryption_scheme,
2379
+ "encryption_key": encryption_key,
2380
+ "encryption_kid": encryption_kid,
2381
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
2382
+ "write_btrt": write_btrt,
2383
+ "write_tmcd": write_tmcd,
2384
+ "write_prft": write_prft,
2385
+ "empty_hdlr_name": empty_hdlr_name,
2386
+ "movie_timescale": movie_timescale,
2387
+ }
2388
+ )
2389
+ )
2390
+
2391
+
2392
+ def mpeg() -> FFMpegMuxerOption:
2393
+ """
2394
+ MPEG-1 Systems / MPEG program stream
2395
+
2396
+
2397
+ Returns:
2398
+ the set codec options
2399
+ """
2400
+ return FFMpegMuxerOption(kwargs=merge({}))
2401
+
2402
+
2403
+ def mpeg1video() -> FFMpegMuxerOption:
2404
+ """
2405
+ raw MPEG-1 video
2406
+
2407
+
2408
+ Returns:
2409
+ the set codec options
2410
+ """
2411
+ return FFMpegMuxerOption(kwargs=merge({}))
2412
+
2413
+
2414
+ def mpeg2video() -> FFMpegMuxerOption:
2415
+ """
2416
+ raw MPEG-2 video
2417
+
2418
+
2419
+ Returns:
2420
+ the set codec options
2421
+ """
2422
+ return FFMpegMuxerOption(kwargs=merge({}))
2423
+
2424
+
2425
+ def mpegts(
2426
+ mpegts_transport_stream_id: int | None = None,
2427
+ mpegts_original_network_id: int | None = None,
2428
+ mpegts_service_id: int | None = None,
2429
+ mpegts_service_type: int
2430
+ | None
2431
+ | Literal[
2432
+ "digital_tv",
2433
+ "digital_radio",
2434
+ "teletext",
2435
+ "advanced_codec_digital_radio",
2436
+ "mpeg2_digital_hdtv",
2437
+ "advanced_codec_digital_sdtv",
2438
+ "advanced_codec_digital_hdtv",
2439
+ "hevc_digital_hdtv",
2440
+ ] = None,
2441
+ mpegts_pmt_start_pid: int | None = None,
2442
+ mpegts_start_pid: int | None = None,
2443
+ mpegts_m2ts_mode: bool | None = None,
2444
+ muxrate: int | None = None,
2445
+ pes_payload_size: int | None = None,
2446
+ mpegts_flags: str | None = None,
2447
+ mpegts_copyts: bool | None = None,
2448
+ tables_version: int | None = None,
2449
+ omit_video_pes_length: bool | None = None,
2450
+ pcr_period: int | None = None,
2451
+ pat_period: str | None = None,
2452
+ sdt_period: str | None = None,
2453
+ nit_period: str | None = None,
2454
+ ) -> FFMpegMuxerOption:
2455
+ """
2456
+ MPEG-TS (MPEG-2 Transport Stream)
2457
+
2458
+ Args:
2459
+ mpegts_transport_stream_id: Set transport_stream_id field. (from 1 to 65535) (default 1)
2460
+ mpegts_original_network_id: Set original_network_id field. (from 1 to 65535) (default 65281)
2461
+ mpegts_service_id: Set service_id field. (from 1 to 65535) (default 1)
2462
+ mpegts_service_type: Set service_type field. (from 1 to 255) (default digital_tv)
2463
+ mpegts_pmt_start_pid: Set the first pid of the PMT. (from 32 to 8186) (default 4096)
2464
+ mpegts_start_pid: Set the first pid. (from 32 to 8186) (default 256)
2465
+ mpegts_m2ts_mode: Enable m2ts mode. (default auto)
2466
+ muxrate: (from 0 to INT_MAX) (default 1)
2467
+ pes_payload_size: Minimum PES packet payload in bytes (from 0 to INT_MAX) (default 2930)
2468
+ mpegts_flags: MPEG-TS muxing flags (default 0)
2469
+ mpegts_copyts: don't offset dts/pts (default auto)
2470
+ tables_version: set PAT, PMT, SDT and NIT version (from 0 to 31) (default 0)
2471
+ omit_video_pes_length: Omit the PES packet length for video packets (default true)
2472
+ pcr_period: PCR retransmission time in milliseconds (from -1 to INT_MAX) (default -1)
2473
+ pat_period: PAT/PMT retransmission time limit in seconds (default 0.1)
2474
+ sdt_period: SDT retransmission time limit in seconds (default 0.5)
2475
+ nit_period: NIT retransmission time limit in seconds (default 0.5)
2476
+
2477
+ Returns:
2478
+ the set codec options
2479
+ """
2480
+ return FFMpegMuxerOption(
2481
+ kwargs=merge(
2482
+ {
2483
+ "mpegts_transport_stream_id": mpegts_transport_stream_id,
2484
+ "mpegts_original_network_id": mpegts_original_network_id,
2485
+ "mpegts_service_id": mpegts_service_id,
2486
+ "mpegts_service_type": mpegts_service_type,
2487
+ "mpegts_pmt_start_pid": mpegts_pmt_start_pid,
2488
+ "mpegts_start_pid": mpegts_start_pid,
2489
+ "mpegts_m2ts_mode": mpegts_m2ts_mode,
2490
+ "muxrate": muxrate,
2491
+ "pes_payload_size": pes_payload_size,
2492
+ "mpegts_flags": mpegts_flags,
2493
+ "mpegts_copyts": mpegts_copyts,
2494
+ "tables_version": tables_version,
2495
+ "omit_video_pes_length": omit_video_pes_length,
2496
+ "pcr_period": pcr_period,
2497
+ "pat_period": pat_period,
2498
+ "sdt_period": sdt_period,
2499
+ "nit_period": nit_period,
2500
+ }
2501
+ )
2502
+ )
2503
+
2504
+
2505
+ def mpjpeg(
2506
+ boundary_tag: str | None = None,
2507
+ ) -> FFMpegMuxerOption:
2508
+ """
2509
+ MIME multipart JPEG
2510
+
2511
+ Args:
2512
+ boundary_tag: Boundary tag (default "ffmpeg")
2513
+
2514
+ Returns:
2515
+ the set codec options
2516
+ """
2517
+ return FFMpegMuxerOption(
2518
+ kwargs=merge(
2519
+ {
2520
+ "boundary_tag": boundary_tag,
2521
+ }
2522
+ )
2523
+ )
2524
+
2525
+
2526
+ def mulaw() -> FFMpegMuxerOption:
2527
+ """
2528
+ PCM mu-law
2529
+
2530
+
2531
+ Returns:
2532
+ the set codec options
2533
+ """
2534
+ return FFMpegMuxerOption(kwargs=merge({}))
2535
+
2536
+
2537
+ def mxf(
2538
+ signal_standard: int
2539
+ | None
2540
+ | Literal[
2541
+ "bt601",
2542
+ "bt1358",
2543
+ "smpte347m",
2544
+ "smpte274m",
2545
+ "smpte296m",
2546
+ "smpte349m",
2547
+ "smpte428",
2548
+ ] = None,
2549
+ store_user_comments: bool | None = None,
2550
+ ) -> FFMpegMuxerOption:
2551
+ """
2552
+ MXF (Material eXchange Format)
2553
+
2554
+ Args:
2555
+ signal_standard: Force/set Signal Standard (from -1 to 7) (default -1)
2556
+ store_user_comments: (default true)
2557
+
2558
+ Returns:
2559
+ the set codec options
2560
+ """
2561
+ return FFMpegMuxerOption(
2562
+ kwargs=merge(
2563
+ {
2564
+ "signal_standard": signal_standard,
2565
+ "store_user_comments": store_user_comments,
2566
+ }
2567
+ )
2568
+ )
2569
+
2570
+
2571
+ def mxf_d10() -> FFMpegMuxerOption:
2572
+ """
2573
+ MXF (Material eXchange Format) D-10 Mapping
2574
+
2575
+
2576
+ Returns:
2577
+ the set codec options
2578
+ """
2579
+ return FFMpegMuxerOption(kwargs=merge({}))
2580
+
2581
+
2582
+ def mxf_opatom() -> FFMpegMuxerOption:
2583
+ """
2584
+ MXF (Material eXchange Format) Operational Pattern Atom
2585
+
2586
+
2587
+ Returns:
2588
+ the set codec options
2589
+ """
2590
+ return FFMpegMuxerOption(kwargs=merge({}))
2591
+
2592
+
2593
+ def null() -> FFMpegMuxerOption:
2594
+ """
2595
+ raw null video
2596
+
2597
+
2598
+ Returns:
2599
+ the set codec options
2600
+ """
2601
+ return FFMpegMuxerOption(kwargs=merge({}))
2602
+
2603
+
2604
+ def nut(
2605
+ syncpoints: str | None = None,
2606
+ write_index: bool | None = None,
2607
+ ) -> FFMpegMuxerOption:
2608
+ """
2609
+ NUT
2610
+
2611
+ Args:
2612
+ syncpoints: NUT syncpoint behaviour (default 0)
2613
+ write_index: Write index (default true)
2614
+
2615
+ Returns:
2616
+ the set codec options
2617
+ """
2618
+ return FFMpegMuxerOption(
2619
+ kwargs=merge(
2620
+ {
2621
+ "syncpoints": syncpoints,
2622
+ "write_index": write_index,
2623
+ }
2624
+ )
2625
+ )
2626
+
2627
+
2628
+ def obu() -> FFMpegMuxerOption:
2629
+ """
2630
+ AV1 low overhead OBU
2631
+
2632
+
2633
+ Returns:
2634
+ the set codec options
2635
+ """
2636
+ return FFMpegMuxerOption(kwargs=merge({}))
2637
+
2638
+
2639
+ def oga() -> FFMpegMuxerOption:
2640
+ """
2641
+ Ogg Audio
2642
+
2643
+
2644
+ Returns:
2645
+ the set codec options
2646
+ """
2647
+ return FFMpegMuxerOption(kwargs=merge({}))
2648
+
2649
+
2650
+ def ogg() -> FFMpegMuxerOption:
2651
+ """
2652
+ Ogg
2653
+
2654
+
2655
+ Returns:
2656
+ the set codec options
2657
+ """
2658
+ return FFMpegMuxerOption(kwargs=merge({}))
2659
+
2660
+
2661
+ def ogv() -> FFMpegMuxerOption:
2662
+ """
2663
+ Ogg Video
2664
+
2665
+
2666
+ Returns:
2667
+ the set codec options
2668
+ """
2669
+ return FFMpegMuxerOption(kwargs=merge({}))
2670
+
2671
+
2672
+ def oma() -> FFMpegMuxerOption:
2673
+ """
2674
+ Sony OpenMG audio
2675
+
2676
+
2677
+ Returns:
2678
+ the set codec options
2679
+ """
2680
+ return FFMpegMuxerOption(kwargs=merge({}))
2681
+
2682
+
2683
+ def opengl(
2684
+ background: str | None = None,
2685
+ no_window: int | None = None,
2686
+ window_title: str | None = None,
2687
+ window_size: str | None = None,
2688
+ ) -> FFMpegMuxerOption:
2689
+ """
2690
+ OpenGL output
2691
+
2692
+ Args:
2693
+ background: set background color (default "black")
2694
+ no_window: disable default window (from INT_MIN to INT_MAX) (default 0)
2695
+ window_title: set window title
2696
+ window_size: set window size
2697
+
2698
+ Returns:
2699
+ the set codec options
2700
+ """
2701
+ return FFMpegMuxerOption(
2702
+ kwargs=merge(
2703
+ {
2704
+ "background": background,
2705
+ "no_window": no_window,
2706
+ "window_title": window_title,
2707
+ "window_size": window_size,
2708
+ }
2709
+ )
2710
+ )
2711
+
2712
+
2713
+ def opus() -> FFMpegMuxerOption:
2714
+ """
2715
+ Ogg Opus
2716
+
2717
+
2718
+ Returns:
2719
+ the set codec options
2720
+ """
2721
+ return FFMpegMuxerOption(kwargs=merge({}))
2722
+
2723
+
2724
+ def oss() -> FFMpegMuxerOption:
2725
+ """
2726
+ OSS (Open Sound System) playback
2727
+
2728
+
2729
+ Returns:
2730
+ the set codec options
2731
+ """
2732
+ return FFMpegMuxerOption(kwargs=merge({}))
2733
+
2734
+
2735
+ def psp(
2736
+ movflags: str | None = None,
2737
+ moov_size: int | None = None,
2738
+ rtpflags: str | None = None,
2739
+ skip_iods: bool | None = None,
2740
+ iods_audio_profile: int | None = None,
2741
+ iods_video_profile: int | None = None,
2742
+ frag_duration: int | None = None,
2743
+ min_frag_duration: int | None = None,
2744
+ frag_size: int | None = None,
2745
+ ism_lookahead: int | None = None,
2746
+ video_track_timescale: int | None = None,
2747
+ brand: str | None = None,
2748
+ use_editlist: bool | None = None,
2749
+ fragment_index: int | None = None,
2750
+ mov_gamma: float | None = None,
2751
+ frag_interleave: int | None = None,
2752
+ encryption_scheme: str | None = None,
2753
+ encryption_key: str | None = None,
2754
+ encryption_kid: str | None = None,
2755
+ use_stream_ids_as_track_ids: bool | None = None,
2756
+ write_btrt: bool | None = None,
2757
+ write_tmcd: bool | None = None,
2758
+ write_prft: int | None | Literal["wallclock", "pts"] = None,
2759
+ empty_hdlr_name: bool | None = None,
2760
+ movie_timescale: int | None = None,
2761
+ ) -> FFMpegMuxerOption:
2762
+ """
2763
+ PSP MP4 (MPEG-4 Part 14)
2764
+
2765
+ Args:
2766
+ movflags: MOV muxer flags (default 0)
2767
+ moov_size: maximum moov size so it can be placed at the begin (from 0 to INT_MAX) (default 0)
2768
+ rtpflags: RTP muxer flags (default 0)
2769
+ skip_iods: Skip writing iods atom. (default true)
2770
+ iods_audio_profile: iods audio profile atom. (from -1 to 255) (default -1)
2771
+ iods_video_profile: iods video profile atom. (from -1 to 255) (default -1)
2772
+ frag_duration: Maximum fragment duration (from 0 to INT_MAX) (default 0)
2773
+ min_frag_duration: Minimum fragment duration (from 0 to INT_MAX) (default 0)
2774
+ frag_size: Maximum fragment size (from 0 to INT_MAX) (default 0)
2775
+ ism_lookahead: Number of lookahead entries for ISM files (from 0 to 255) (default 0)
2776
+ video_track_timescale: set timescale of all video tracks (from 0 to INT_MAX) (default 0)
2777
+ brand: Override major brand
2778
+ use_editlist: use edit list (default auto)
2779
+ fragment_index: Fragment number of the next fragment (from 1 to INT_MAX) (default 1)
2780
+ mov_gamma: gamma value for gama atom (from 0 to 10) (default 0)
2781
+ frag_interleave: Interleave samples within fragments (max number of consecutive samples, lower is tighter interleaving, but with more overhead) (from 0 to INT_MAX) (default 0)
2782
+ encryption_scheme: Configures the encryption scheme, allowed values are none, cenc-aes-ctr
2783
+ encryption_key: The media encryption key (hex)
2784
+ encryption_kid: The media encryption key identifier (hex)
2785
+ use_stream_ids_as_track_ids: use stream ids as track ids (default false)
2786
+ write_btrt: force or disable writing btrt (default auto)
2787
+ write_tmcd: force or disable writing tmcd (default auto)
2788
+ write_prft: Write producer reference time box with specified time source (from 0 to 2) (default 0)
2789
+ empty_hdlr_name: write zero-length name string in hdlr atoms within mdia and minf atoms (default false)
2790
+ movie_timescale: set movie timescale (from 1 to INT_MAX) (default 1000)
2791
+
2792
+ Returns:
2793
+ the set codec options
2794
+ """
2795
+ return FFMpegMuxerOption(
2796
+ kwargs=merge(
2797
+ {
2798
+ "movflags": movflags,
2799
+ "moov_size": moov_size,
2800
+ "rtpflags": rtpflags,
2801
+ "skip_iods": skip_iods,
2802
+ "iods_audio_profile": iods_audio_profile,
2803
+ "iods_video_profile": iods_video_profile,
2804
+ "frag_duration": frag_duration,
2805
+ "min_frag_duration": min_frag_duration,
2806
+ "frag_size": frag_size,
2807
+ "ism_lookahead": ism_lookahead,
2808
+ "video_track_timescale": video_track_timescale,
2809
+ "brand": brand,
2810
+ "use_editlist": use_editlist,
2811
+ "fragment_index": fragment_index,
2812
+ "mov_gamma": mov_gamma,
2813
+ "frag_interleave": frag_interleave,
2814
+ "encryption_scheme": encryption_scheme,
2815
+ "encryption_key": encryption_key,
2816
+ "encryption_kid": encryption_kid,
2817
+ "use_stream_ids_as_track_ids": use_stream_ids_as_track_ids,
2818
+ "write_btrt": write_btrt,
2819
+ "write_tmcd": write_tmcd,
2820
+ "write_prft": write_prft,
2821
+ "empty_hdlr_name": empty_hdlr_name,
2822
+ "movie_timescale": movie_timescale,
2823
+ }
2824
+ )
2825
+ )
2826
+
2827
+
2828
+ def pulse(
2829
+ server: str | None = None,
2830
+ name: str | None = None,
2831
+ stream_name: str | None = None,
2832
+ device: str | None = None,
2833
+ buffer_size: int | None = None,
2834
+ buffer_duration: int | None = None,
2835
+ prebuf: int | None = None,
2836
+ minreq: int | None = None,
2837
+ ) -> FFMpegMuxerOption:
2838
+ """
2839
+ Pulse audio output
2840
+
2841
+ Args:
2842
+ server: set PulseAudio server
2843
+ name: set application name (default "Lavf60.16.100")
2844
+ stream_name: set stream description
2845
+ device: set device name
2846
+ buffer_size: set buffer size in bytes (from 0 to INT_MAX) (default 0)
2847
+ buffer_duration: set buffer duration in millisecs (from 0 to INT_MAX) (default 0)
2848
+ prebuf: set pre-buffering size (from 0 to INT_MAX) (default 0)
2849
+ minreq: set minimum request size (from 0 to INT_MAX) (default 0)
2850
+
2851
+ Returns:
2852
+ the set codec options
2853
+ """
2854
+ return FFMpegMuxerOption(
2855
+ kwargs=merge(
2856
+ {
2857
+ "server": server,
2858
+ "name": name,
2859
+ "stream_name": stream_name,
2860
+ "device": device,
2861
+ "buffer_size": buffer_size,
2862
+ "buffer_duration": buffer_duration,
2863
+ "prebuf": prebuf,
2864
+ "minreq": minreq,
2865
+ }
2866
+ )
2867
+ )
2868
+
2869
+
2870
+ def rawvideo() -> FFMpegMuxerOption:
2871
+ """
2872
+ raw video
2873
+
2874
+
2875
+ Returns:
2876
+ the set codec options
2877
+ """
2878
+ return FFMpegMuxerOption(kwargs=merge({}))
2879
+
2880
+
2881
+ def rm() -> FFMpegMuxerOption:
2882
+ """
2883
+ RealMedia
2884
+
2885
+
2886
+ Returns:
2887
+ the set codec options
2888
+ """
2889
+ return FFMpegMuxerOption(kwargs=merge({}))
2890
+
2891
+
2892
+ def roq() -> FFMpegMuxerOption:
2893
+ """
2894
+ raw id RoQ
2895
+
2896
+
2897
+ Returns:
2898
+ the set codec options
2899
+ """
2900
+ return FFMpegMuxerOption(kwargs=merge({}))
2901
+
2902
+
2903
+ def rso() -> FFMpegMuxerOption:
2904
+ """
2905
+ Lego Mindstorms RSO
2906
+
2907
+
2908
+ Returns:
2909
+ the set codec options
2910
+ """
2911
+ return FFMpegMuxerOption(kwargs=merge({}))
2912
+
2913
+
2914
+ def rtp(
2915
+ rtpflags: str | None = None,
2916
+ payload_type: int | None = None,
2917
+ ssrc: int | None = None,
2918
+ cname: str | None = None,
2919
+ seq: int | None = None,
2920
+ ) -> FFMpegMuxerOption:
2921
+ """
2922
+ RTP output
2923
+
2924
+ Args:
2925
+ rtpflags: RTP muxer flags (default 0)
2926
+ payload_type: Specify RTP payload type (from -1 to 127) (default -1)
2927
+ ssrc: Stream identifier (from INT_MIN to INT_MAX) (default 0)
2928
+ cname: CNAME to include in RTCP SR packets
2929
+ seq: Starting sequence number (from -1 to 65535) (default -1)
2930
+
2931
+ Returns:
2932
+ the set codec options
2933
+ """
2934
+ return FFMpegMuxerOption(
2935
+ kwargs=merge(
2936
+ {
2937
+ "rtpflags": rtpflags,
2938
+ "payload_type": payload_type,
2939
+ "ssrc": ssrc,
2940
+ "cname": cname,
2941
+ "seq": seq,
2942
+ }
2943
+ )
2944
+ )
2945
+
2946
+
2947
+ def rtp_mpegts(
2948
+ mpegts_muxer_options: str | None = None,
2949
+ rtp_muxer_options: str | None = None,
2950
+ ) -> FFMpegMuxerOption:
2951
+ """
2952
+ RTP/mpegts output format
2953
+
2954
+ Args:
2955
+ mpegts_muxer_options: set list of options for the MPEG-TS muxer
2956
+ rtp_muxer_options: set list of options for the RTP muxer
2957
+
2958
+ Returns:
2959
+ the set codec options
2960
+ """
2961
+ return FFMpegMuxerOption(
2962
+ kwargs=merge(
2963
+ {
2964
+ "mpegts_muxer_options": mpegts_muxer_options,
2965
+ "rtp_muxer_options": rtp_muxer_options,
2966
+ }
2967
+ )
2968
+ )
2969
+
2970
+
2971
+ def rtsp(
2972
+ rtpflags: str | None = None,
2973
+ rtsp_transport: str | None = None,
2974
+ min_port: int | None = None,
2975
+ max_port: int | None = None,
2976
+ buffer_size: int | None = None,
2977
+ pkt_size: int | None = None,
2978
+ ) -> FFMpegMuxerOption:
2979
+ """
2980
+ RTSP output
2981
+
2982
+ Args:
2983
+ rtpflags: RTP muxer flags (default 0)
2984
+ rtsp_transport: set RTSP transport protocols (default 0)
2985
+ min_port: set minimum local UDP port (from 0 to 65535) (default 5000)
2986
+ max_port: set maximum local UDP port (from 0 to 65535) (default 65000)
2987
+ buffer_size: Underlying protocol send/receive buffer size (from -1 to INT_MAX) (default -1)
2988
+ pkt_size: Underlying protocol send packet size (from -1 to INT_MAX) (default 1472)
2989
+
2990
+ Returns:
2991
+ the set codec options
2992
+ """
2993
+ return FFMpegMuxerOption(
2994
+ kwargs=merge(
2995
+ {
2996
+ "rtpflags": rtpflags,
2997
+ "rtsp_transport": rtsp_transport,
2998
+ "min_port": min_port,
2999
+ "max_port": max_port,
3000
+ "buffer_size": buffer_size,
3001
+ "pkt_size": pkt_size,
3002
+ }
3003
+ )
3004
+ )
3005
+
3006
+
3007
+ def s16be() -> FFMpegMuxerOption:
3008
+ """
3009
+ PCM signed 16-bit big-endian
3010
+
3011
+
3012
+ Returns:
3013
+ the set codec options
3014
+ """
3015
+ return FFMpegMuxerOption(kwargs=merge({}))
3016
+
3017
+
3018
+ def s16le() -> FFMpegMuxerOption:
3019
+ """
3020
+ PCM signed 16-bit little-endian
3021
+
3022
+
3023
+ Returns:
3024
+ the set codec options
3025
+ """
3026
+ return FFMpegMuxerOption(kwargs=merge({}))
3027
+
3028
+
3029
+ def s24be() -> FFMpegMuxerOption:
3030
+ """
3031
+ PCM signed 24-bit big-endian
3032
+
3033
+
3034
+ Returns:
3035
+ the set codec options
3036
+ """
3037
+ return FFMpegMuxerOption(kwargs=merge({}))
3038
+
3039
+
3040
+ def s24le() -> FFMpegMuxerOption:
3041
+ """
3042
+ PCM signed 24-bit little-endian
3043
+
3044
+
3045
+ Returns:
3046
+ the set codec options
3047
+ """
3048
+ return FFMpegMuxerOption(kwargs=merge({}))
3049
+
3050
+
3051
+ def s32be() -> FFMpegMuxerOption:
3052
+ """
3053
+ PCM signed 32-bit big-endian
3054
+
3055
+
3056
+ Returns:
3057
+ the set codec options
3058
+ """
3059
+ return FFMpegMuxerOption(kwargs=merge({}))
3060
+
3061
+
3062
+ def s32le() -> FFMpegMuxerOption:
3063
+ """
3064
+ PCM signed 32-bit little-endian
3065
+
3066
+
3067
+ Returns:
3068
+ the set codec options
3069
+ """
3070
+ return FFMpegMuxerOption(kwargs=merge({}))
3071
+
3072
+
3073
+ def s8() -> FFMpegMuxerOption:
3074
+ """
3075
+ PCM signed 8-bit
3076
+
3077
+
3078
+ Returns:
3079
+ the set codec options
3080
+ """
3081
+ return FFMpegMuxerOption(kwargs=merge({}))
3082
+
3083
+
3084
+ def sap() -> FFMpegMuxerOption:
3085
+ """
3086
+ SAP output
3087
+
3088
+
3089
+ Returns:
3090
+ the set codec options
3091
+ """
3092
+ return FFMpegMuxerOption(kwargs=merge({}))
3093
+
3094
+
3095
+ def sbc() -> FFMpegMuxerOption:
3096
+ """
3097
+ raw SBC
3098
+
3099
+
3100
+ Returns:
3101
+ the set codec options
3102
+ """
3103
+ return FFMpegMuxerOption(kwargs=merge({}))
3104
+
3105
+
3106
+ def scc() -> FFMpegMuxerOption:
3107
+ """
3108
+ Scenarist Closed Captions
3109
+
3110
+
3111
+ Returns:
3112
+ the set codec options
3113
+ """
3114
+ return FFMpegMuxerOption(kwargs=merge({}))
3115
+
3116
+
3117
+ def segment() -> FFMpegMuxerOption:
3118
+ """
3119
+ segment
3120
+
3121
+
3122
+ Returns:
3123
+ the set codec options
3124
+ """
3125
+ return FFMpegMuxerOption(kwargs=merge({}))
3126
+
3127
+
3128
+ def smjpeg() -> FFMpegMuxerOption:
3129
+ """
3130
+ Loki SDL MJPEG
3131
+
3132
+
3133
+ Returns:
3134
+ the set codec options
3135
+ """
3136
+ return FFMpegMuxerOption(kwargs=merge({}))
3137
+
3138
+
3139
+ def smoothstreaming(
3140
+ window_size: int | None = None,
3141
+ extra_window_size: int | None = None,
3142
+ lookahead_count: int | None = None,
3143
+ min_frag_duration: int | None = None,
3144
+ remove_at_exit: bool | None = None,
3145
+ ) -> FFMpegMuxerOption:
3146
+ """
3147
+ Smooth Streaming Muxer
3148
+
3149
+ Args:
3150
+ window_size: number of fragments kept in the manifest (from 0 to INT_MAX) (default 0)
3151
+ extra_window_size: number of fragments kept outside of the manifest before removing from disk (from 0 to INT_MAX) (default 5)
3152
+ lookahead_count: number of lookahead fragments (from 0 to INT_MAX) (default 2)
3153
+ min_frag_duration: minimum fragment duration (in microseconds) (from 0 to INT_MAX) (default 5000000)
3154
+ remove_at_exit: remove all fragments when finished (default false)
3155
+
3156
+ Returns:
3157
+ the set codec options
3158
+ """
3159
+ return FFMpegMuxerOption(
3160
+ kwargs=merge(
3161
+ {
3162
+ "window_size": window_size,
3163
+ "extra_window_size": extra_window_size,
3164
+ "lookahead_count": lookahead_count,
3165
+ "min_frag_duration": min_frag_duration,
3166
+ "remove_at_exit": remove_at_exit,
3167
+ }
3168
+ )
3169
+ )
3170
+
3171
+
3172
+ def sox() -> FFMpegMuxerOption:
3173
+ """
3174
+ SoX (Sound eXchange) native
3175
+
3176
+
3177
+ Returns:
3178
+ the set codec options
3179
+ """
3180
+ return FFMpegMuxerOption(kwargs=merge({}))
3181
+
3182
+
3183
+ def spdif(
3184
+ spdif_flags: str | None = None,
3185
+ dtshd_rate: int | None = None,
3186
+ dtshd_fallback_time: int | None = None,
3187
+ ) -> FFMpegMuxerOption:
3188
+ """
3189
+ IEC 61937 (used on S/PDIF - IEC958)
3190
+
3191
+ Args:
3192
+ spdif_flags: IEC 61937 encapsulation flags (default 0)
3193
+ dtshd_rate: mux complete DTS frames in HD mode at the specified IEC958 rate (in Hz, default 0=disabled) (from 0 to 768000) (default 0)
3194
+ dtshd_fallback_time: min secs to strip HD for after an overflow (-1: till the end, default 60) (from -1 to INT_MAX) (default 60)
3195
+
3196
+ Returns:
3197
+ the set codec options
3198
+ """
3199
+ return FFMpegMuxerOption(
3200
+ kwargs=merge(
3201
+ {
3202
+ "spdif_flags": spdif_flags,
3203
+ "dtshd_rate": dtshd_rate,
3204
+ "dtshd_fallback_time": dtshd_fallback_time,
3205
+ }
3206
+ )
3207
+ )
3208
+
3209
+
3210
+ def spx() -> FFMpegMuxerOption:
3211
+ """
3212
+ Ogg Speex
3213
+
3214
+
3215
+ Returns:
3216
+ the set codec options
3217
+ """
3218
+ return FFMpegMuxerOption(kwargs=merge({}))
3219
+
3220
+
3221
+ def srt() -> FFMpegMuxerOption:
3222
+ """
3223
+ SubRip subtitle
3224
+
3225
+
3226
+ Returns:
3227
+ the set codec options
3228
+ """
3229
+ return FFMpegMuxerOption(kwargs=merge({}))
3230
+
3231
+
3232
+ def streamhash() -> FFMpegMuxerOption:
3233
+ """
3234
+ Per-stream hash testing
3235
+
3236
+
3237
+ Returns:
3238
+ the set codec options
3239
+ """
3240
+ return FFMpegMuxerOption(kwargs=merge({}))
3241
+
3242
+
3243
+ def sup() -> FFMpegMuxerOption:
3244
+ """
3245
+ raw HDMV Presentation Graphic Stream subtitles
3246
+
3247
+
3248
+ Returns:
3249
+ the set codec options
3250
+ """
3251
+ return FFMpegMuxerOption(kwargs=merge({}))
3252
+
3253
+
3254
+ def svcd() -> FFMpegMuxerOption:
3255
+ """
3256
+ MPEG-2 PS (SVCD)
3257
+
3258
+
3259
+ Returns:
3260
+ the set codec options
3261
+ """
3262
+ return FFMpegMuxerOption(kwargs=merge({}))
3263
+
3264
+
3265
+ def swf() -> FFMpegMuxerOption:
3266
+ """
3267
+ SWF (ShockWave Flash)
3268
+
3269
+
3270
+ Returns:
3271
+ the set codec options
3272
+ """
3273
+ return FFMpegMuxerOption(kwargs=merge({}))
3274
+
3275
+
3276
+ def tee(
3277
+ use_fifo: bool | None = None,
3278
+ fifo_options: str | None = None,
3279
+ ) -> FFMpegMuxerOption:
3280
+ """
3281
+ Multiple muxer tee
3282
+
3283
+ Args:
3284
+ use_fifo: Use fifo pseudo-muxer to separate actual muxers from encoder (default false)
3285
+ fifo_options: fifo pseudo-muxer options
3286
+
3287
+ Returns:
3288
+ the set codec options
3289
+ """
3290
+ return FFMpegMuxerOption(
3291
+ kwargs=merge(
3292
+ {
3293
+ "use_fifo": use_fifo,
3294
+ "fifo_options": fifo_options,
3295
+ }
3296
+ )
3297
+ )
3298
+
3299
+
3300
+ def truehd() -> FFMpegMuxerOption:
3301
+ """
3302
+ raw TrueHD
3303
+
3304
+
3305
+ Returns:
3306
+ the set codec options
3307
+ """
3308
+ return FFMpegMuxerOption(kwargs=merge({}))
3309
+
3310
+
3311
+ def tta() -> FFMpegMuxerOption:
3312
+ """
3313
+ TTA (True Audio)
3314
+
3315
+
3316
+ Returns:
3317
+ the set codec options
3318
+ """
3319
+ return FFMpegMuxerOption(kwargs=merge({}))
3320
+
3321
+
3322
+ def ttml() -> FFMpegMuxerOption:
3323
+ """
3324
+ TTML subtitle
3325
+
3326
+
3327
+ Returns:
3328
+ the set codec options
3329
+ """
3330
+ return FFMpegMuxerOption(kwargs=merge({}))
3331
+
3332
+
3333
+ def u16be() -> FFMpegMuxerOption:
3334
+ """
3335
+ PCM unsigned 16-bit big-endian
3336
+
3337
+
3338
+ Returns:
3339
+ the set codec options
3340
+ """
3341
+ return FFMpegMuxerOption(kwargs=merge({}))
3342
+
3343
+
3344
+ def u16le() -> FFMpegMuxerOption:
3345
+ """
3346
+ PCM unsigned 16-bit little-endian
3347
+
3348
+
3349
+ Returns:
3350
+ the set codec options
3351
+ """
3352
+ return FFMpegMuxerOption(kwargs=merge({}))
3353
+
3354
+
3355
+ def u24be() -> FFMpegMuxerOption:
3356
+ """
3357
+ PCM unsigned 24-bit big-endian
3358
+
3359
+
3360
+ Returns:
3361
+ the set codec options
3362
+ """
3363
+ return FFMpegMuxerOption(kwargs=merge({}))
3364
+
3365
+
3366
+ def u24le() -> FFMpegMuxerOption:
3367
+ """
3368
+ PCM unsigned 24-bit little-endian
3369
+
3370
+
3371
+ Returns:
3372
+ the set codec options
3373
+ """
3374
+ return FFMpegMuxerOption(kwargs=merge({}))
3375
+
3376
+
3377
+ def u32be() -> FFMpegMuxerOption:
3378
+ """
3379
+ PCM unsigned 32-bit big-endian
3380
+
3381
+
3382
+ Returns:
3383
+ the set codec options
3384
+ """
3385
+ return FFMpegMuxerOption(kwargs=merge({}))
3386
+
3387
+
3388
+ def u32le() -> FFMpegMuxerOption:
3389
+ """
3390
+ PCM unsigned 32-bit little-endian
3391
+
3392
+
3393
+ Returns:
3394
+ the set codec options
3395
+ """
3396
+ return FFMpegMuxerOption(kwargs=merge({}))
3397
+
3398
+
3399
+ def u8() -> FFMpegMuxerOption:
3400
+ """
3401
+ PCM unsigned 8-bit
3402
+
3403
+
3404
+ Returns:
3405
+ the set codec options
3406
+ """
3407
+ return FFMpegMuxerOption(kwargs=merge({}))
3408
+
3409
+
3410
+ def uncodedframecrc() -> FFMpegMuxerOption:
3411
+ """
3412
+ uncoded framecrc testing
3413
+
3414
+
3415
+ Returns:
3416
+ the set codec options
3417
+ """
3418
+ return FFMpegMuxerOption(kwargs=merge({}))
3419
+
3420
+
3421
+ def vc1() -> FFMpegMuxerOption:
3422
+ """
3423
+ raw VC-1 video
3424
+
3425
+
3426
+ Returns:
3427
+ the set codec options
3428
+ """
3429
+ return FFMpegMuxerOption(kwargs=merge({}))
3430
+
3431
+
3432
+ def vc1test() -> FFMpegMuxerOption:
3433
+ """
3434
+ VC-1 test bitstream
3435
+
3436
+
3437
+ Returns:
3438
+ the set codec options
3439
+ """
3440
+ return FFMpegMuxerOption(kwargs=merge({}))
3441
+
3442
+
3443
+ def vcd() -> FFMpegMuxerOption:
3444
+ """
3445
+ MPEG-1 Systems / MPEG program stream (VCD)
3446
+
3447
+
3448
+ Returns:
3449
+ the set codec options
3450
+ """
3451
+ return FFMpegMuxerOption(kwargs=merge({}))
3452
+
3453
+
3454
+ def vidc() -> FFMpegMuxerOption:
3455
+ """
3456
+ PCM Archimedes VIDC
3457
+
3458
+
3459
+ Returns:
3460
+ the set codec options
3461
+ """
3462
+ return FFMpegMuxerOption(kwargs=merge({}))
3463
+
3464
+
3465
+ def vob() -> FFMpegMuxerOption:
3466
+ """
3467
+ MPEG-2 PS (VOB)
3468
+
3469
+
3470
+ Returns:
3471
+ the set codec options
3472
+ """
3473
+ return FFMpegMuxerOption(kwargs=merge({}))
3474
+
3475
+
3476
+ def voc() -> FFMpegMuxerOption:
3477
+ """
3478
+ Creative Voice
3479
+
3480
+
3481
+ Returns:
3482
+ the set codec options
3483
+ """
3484
+ return FFMpegMuxerOption(kwargs=merge({}))
3485
+
3486
+
3487
+ def vvc() -> FFMpegMuxerOption:
3488
+ """
3489
+ raw H.266/VVC video
3490
+
3491
+
3492
+ Returns:
3493
+ the set codec options
3494
+ """
3495
+ return FFMpegMuxerOption(kwargs=merge({}))
3496
+
3497
+
3498
+ def w64() -> FFMpegMuxerOption:
3499
+ """
3500
+ Sony Wave64
3501
+
3502
+
3503
+ Returns:
3504
+ the set codec options
3505
+ """
3506
+ return FFMpegMuxerOption(kwargs=merge({}))
3507
+
3508
+
3509
+ def wav(
3510
+ write_bext: bool | None = None,
3511
+ write_peak: int | None | Literal["off", "on", "only"] = None,
3512
+ rf64: int | None | Literal["auto", "always", "never"] = None,
3513
+ peak_block_size: int | None = None,
3514
+ peak_format: int | None = None,
3515
+ peak_ppv: int | None = None,
3516
+ ) -> FFMpegMuxerOption:
3517
+ """
3518
+ WAV / WAVE (Waveform Audio)
3519
+
3520
+ Args:
3521
+ write_bext: Write BEXT chunk. (default false)
3522
+ write_peak: Write Peak Envelope chunk. (from 0 to 2) (default off)
3523
+ rf64: Use RF64 header rather than RIFF for large files. (from -1 to 1) (default never)
3524
+ peak_block_size: Number of audio samples used to generate each peak frame. (from 0 to 65536) (default 256)
3525
+ peak_format: The format of the peak envelope data (1: uint8, 2: uint16). (from 1 to 2) (default 2)
3526
+ peak_ppv: Number of peak points per peak value (1 or 2). (from 1 to 2) (default 2)
3527
+
3528
+ Returns:
3529
+ the set codec options
3530
+ """
3531
+ return FFMpegMuxerOption(
3532
+ kwargs=merge(
3533
+ {
3534
+ "write_bext": write_bext,
3535
+ "write_peak": write_peak,
3536
+ "rf64": rf64,
3537
+ "peak_block_size": peak_block_size,
3538
+ "peak_format": peak_format,
3539
+ "peak_ppv": peak_ppv,
3540
+ }
3541
+ )
3542
+ )
3543
+
3544
+
3545
+ def webm(
3546
+ reserve_index_space: int | None = None,
3547
+ cues_to_front: bool | None = None,
3548
+ cluster_size_limit: int | None = None,
3549
+ cluster_time_limit: int | None = None,
3550
+ dash: bool | None = None,
3551
+ dash_track_number: int | None = None,
3552
+ live: bool | None = None,
3553
+ allow_raw_vfw: bool | None = None,
3554
+ flipped_raw_rgb: bool | None = None,
3555
+ write_crc32: bool | None = None,
3556
+ default_mode: int | None | Literal["infer", "infer_no_subs", "passthrough"] = None,
3557
+ ) -> FFMpegMuxerOption:
3558
+ """
3559
+ WebM
3560
+
3561
+ Args:
3562
+ reserve_index_space: Reserve a given amount of space (in bytes) at the beginning of the file for the index (cues). (from 0 to INT_MAX) (default 0)
3563
+ cues_to_front: Move Cues (the index) to the front by shifting data if necessary (default false)
3564
+ cluster_size_limit: Store at most the provided amount of bytes in a cluster. (from -1 to INT_MAX) (default -1)
3565
+ cluster_time_limit: Store at most the provided number of milliseconds in a cluster. (from -1 to I64_MAX) (default -1)
3566
+ dash: Create a WebM file conforming to WebM DASH specification (default false)
3567
+ dash_track_number: Track number for the DASH stream (from 1 to INT_MAX) (default 1)
3568
+ live: Write files assuming it is a live stream. (default false)
3569
+ allow_raw_vfw: allow RAW VFW mode (default false)
3570
+ flipped_raw_rgb: Raw RGB bitmaps in VFW mode are stored bottom-up (default false)
3571
+ write_crc32: write a CRC32 element inside every Level 1 element (default true)
3572
+ default_mode: Controls how a track's FlagDefault is inferred (from 0 to 2) (default passthrough)
3573
+
3574
+ Returns:
3575
+ the set codec options
3576
+ """
3577
+ return FFMpegMuxerOption(
3578
+ kwargs=merge(
3579
+ {
3580
+ "reserve_index_space": reserve_index_space,
3581
+ "cues_to_front": cues_to_front,
3582
+ "cluster_size_limit": cluster_size_limit,
3583
+ "cluster_time_limit": cluster_time_limit,
3584
+ "dash": dash,
3585
+ "dash_track_number": dash_track_number,
3586
+ "live": live,
3587
+ "allow_raw_vfw": allow_raw_vfw,
3588
+ "flipped_raw_rgb": flipped_raw_rgb,
3589
+ "write_crc32": write_crc32,
3590
+ "default_mode": default_mode,
3591
+ }
3592
+ )
3593
+ )
3594
+
3595
+
3596
+ def webm_chunk(
3597
+ chunk_start_index: int | None = None,
3598
+ header: str | None = None,
3599
+ audio_chunk_duration: int | None = None,
3600
+ method: str | None = None,
3601
+ ) -> FFMpegMuxerOption:
3602
+ """
3603
+ WebM Chunk Muxer
3604
+
3605
+ Args:
3606
+ chunk_start_index: start index of the chunk (from 0 to INT_MAX) (default 0)
3607
+ header: filename of the header where the initialization data will be written
3608
+ audio_chunk_duration: duration of each chunk in milliseconds (from 0 to INT_MAX) (default 5000)
3609
+ method: set the HTTP method
3610
+
3611
+ Returns:
3612
+ the set codec options
3613
+ """
3614
+ return FFMpegMuxerOption(
3615
+ kwargs=merge(
3616
+ {
3617
+ "chunk_start_index": chunk_start_index,
3618
+ "header": header,
3619
+ "audio_chunk_duration": audio_chunk_duration,
3620
+ "method": method,
3621
+ }
3622
+ )
3623
+ )
3624
+
3625
+
3626
+ def webm_dash_manifest(
3627
+ adaptation_sets: str | None = None,
3628
+ live: bool | None = None,
3629
+ chunk_start_index: int | None = None,
3630
+ chunk_duration_ms: int | None = None,
3631
+ utc_timing_url: str | None = None,
3632
+ time_shift_buffer_depth: float | None = None,
3633
+ minimum_update_period: int | None = None,
3634
+ ) -> FFMpegMuxerOption:
3635
+ """
3636
+ WebM DASH Manifest
3637
+
3638
+ Args:
3639
+ adaptation_sets: Adaptation sets. Syntax: id=0,streams=0,1,2 id=1,streams=3,4 and so on
3640
+ live: create a live stream manifest (default false)
3641
+ chunk_start_index: start index of the chunk (from 0 to INT_MAX) (default 0)
3642
+ chunk_duration_ms: duration of each chunk (in milliseconds) (from 0 to INT_MAX) (default 1000)
3643
+ utc_timing_url: URL of the page that will return the UTC timestamp in ISO format
3644
+ time_shift_buffer_depth: Smallest time (in seconds) shifting buffer for which any Representation is guaranteed to be available. (from 1 to DBL_MAX) (default 60)
3645
+ minimum_update_period: Minimum Update Period (in seconds) of the manifest. (from 0 to INT_MAX) (default 0)
3646
+
3647
+ Returns:
3648
+ the set codec options
3649
+ """
3650
+ return FFMpegMuxerOption(
3651
+ kwargs=merge(
3652
+ {
3653
+ "adaptation_sets": adaptation_sets,
3654
+ "live": live,
3655
+ "chunk_start_index": chunk_start_index,
3656
+ "chunk_duration_ms": chunk_duration_ms,
3657
+ "utc_timing_url": utc_timing_url,
3658
+ "time_shift_buffer_depth": time_shift_buffer_depth,
3659
+ "minimum_update_period": minimum_update_period,
3660
+ }
3661
+ )
3662
+ )
3663
+
3664
+
3665
+ def webp(
3666
+ loop: int | None = None,
3667
+ ) -> FFMpegMuxerOption:
3668
+ """
3669
+ WebP
3670
+
3671
+ Args:
3672
+ loop: Number of times to loop the output: 0 - infinite loop (from 0 to 65535) (default 1)
3673
+
3674
+ Returns:
3675
+ the set codec options
3676
+ """
3677
+ return FFMpegMuxerOption(
3678
+ kwargs=merge(
3679
+ {
3680
+ "loop": loop,
3681
+ }
3682
+ )
3683
+ )
3684
+
3685
+
3686
+ def webvtt() -> FFMpegMuxerOption:
3687
+ """
3688
+ WebVTT subtitle
3689
+
3690
+
3691
+ Returns:
3692
+ the set codec options
3693
+ """
3694
+ return FFMpegMuxerOption(kwargs=merge({}))
3695
+
3696
+
3697
+ def wsaud() -> FFMpegMuxerOption:
3698
+ """
3699
+ Westwood Studios audio
3700
+
3701
+
3702
+ Returns:
3703
+ the set codec options
3704
+ """
3705
+ return FFMpegMuxerOption(kwargs=merge({}))
3706
+
3707
+
3708
+ def wtv() -> FFMpegMuxerOption:
3709
+ """
3710
+ Windows Television (WTV)
3711
+
3712
+
3713
+ Returns:
3714
+ the set codec options
3715
+ """
3716
+ return FFMpegMuxerOption(kwargs=merge({}))
3717
+
3718
+
3719
+ def wv() -> FFMpegMuxerOption:
3720
+ """
3721
+ raw WavPack
3722
+
3723
+
3724
+ Returns:
3725
+ the set codec options
3726
+ """
3727
+ return FFMpegMuxerOption(kwargs=merge({}))
3728
+
3729
+
3730
+ def xv(
3731
+ display_name: str | None = None,
3732
+ window_id: int | None = None,
3733
+ window_size: str | None = None,
3734
+ window_title: str | None = None,
3735
+ window_x: int | None = None,
3736
+ window_y: int | None = None,
3737
+ ) -> FFMpegMuxerOption:
3738
+ """
3739
+ XV (XVideo) output device
3740
+
3741
+ Args:
3742
+ display_name: set display name
3743
+ window_id: set existing window id (from 0 to I64_MAX) (default 0)
3744
+ window_size: set window forced size
3745
+ window_title: set window title
3746
+ window_x: set window x offset (from -2.14748e+09 to INT_MAX) (default 0)
3747
+ window_y: set window y offset (from -2.14748e+09 to INT_MAX) (default 0)
3748
+
3749
+ Returns:
3750
+ the set codec options
3751
+ """
3752
+ return FFMpegMuxerOption(
3753
+ kwargs=merge(
3754
+ {
3755
+ "display_name": display_name,
3756
+ "window_id": window_id,
3757
+ "window_size": window_size,
3758
+ "window_title": window_title,
3759
+ "window_x": window_x,
3760
+ "window_y": window_y,
3761
+ }
3762
+ )
3763
+ )
3764
+
3765
+
3766
+ def yuv4mpegpipe() -> FFMpegMuxerOption:
3767
+ """
3768
+ YUV4MPEG pipe
3769
+
3770
+
3771
+ Returns:
3772
+ the set codec options
3773
+ """
3774
+ return FFMpegMuxerOption(kwargs=merge({}))