typed-ffmpeg-compatible 3.5.1__py3-none-any.whl → 3.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- typed_ffmpeg/__init__.py +4 -1
- typed_ffmpeg/_version.py +2 -2
- typed_ffmpeg/base.py +4 -1
- typed_ffmpeg/codecs/__init__.py +2 -0
- typed_ffmpeg/codecs/decoders.py +1852 -1853
- typed_ffmpeg/codecs/encoders.py +2001 -1782
- typed_ffmpeg/codecs/schema.py +6 -12
- typed_ffmpeg/common/__init__.py +1 -0
- typed_ffmpeg/common/cache.py +9 -6
- typed_ffmpeg/common/schema.py +11 -0
- typed_ffmpeg/common/serialize.py +13 -7
- typed_ffmpeg/compile/__init__.py +1 -0
- typed_ffmpeg/compile/compile_cli.py +55 -8
- typed_ffmpeg/compile/compile_json.py +4 -0
- typed_ffmpeg/compile/compile_python.py +15 -0
- typed_ffmpeg/compile/context.py +15 -4
- typed_ffmpeg/compile/validate.py +9 -8
- typed_ffmpeg/dag/factory.py +2 -0
- typed_ffmpeg/dag/global_runnable/__init__.py +1 -0
- typed_ffmpeg/dag/global_runnable/global_args.py +2 -2
- typed_ffmpeg/dag/global_runnable/runnable.py +51 -11
- typed_ffmpeg/dag/io/__init__.py +1 -0
- typed_ffmpeg/dag/io/_input.py +20 -5
- typed_ffmpeg/dag/io/_output.py +24 -9
- typed_ffmpeg/dag/io/output_args.py +21 -7
- typed_ffmpeg/dag/nodes.py +20 -0
- typed_ffmpeg/dag/schema.py +19 -6
- typed_ffmpeg/dag/utils.py +2 -2
- typed_ffmpeg/exceptions.py +2 -1
- typed_ffmpeg/expressions.py +884 -0
- typed_ffmpeg/ffprobe/__init__.py +1 -0
- typed_ffmpeg/ffprobe/parse.py +7 -1
- typed_ffmpeg/ffprobe/probe.py +3 -1
- typed_ffmpeg/ffprobe/schema.py +83 -1
- typed_ffmpeg/ffprobe/xml2json.py +8 -2
- typed_ffmpeg/filters.py +540 -631
- typed_ffmpeg/formats/__init__.py +2 -0
- typed_ffmpeg/formats/demuxers.py +1869 -1921
- typed_ffmpeg/formats/muxers.py +1382 -1107
- typed_ffmpeg/formats/schema.py +6 -12
- typed_ffmpeg/info.py +8 -0
- typed_ffmpeg/options/__init__.py +15 -0
- typed_ffmpeg/options/codec.py +711 -0
- typed_ffmpeg/options/format.py +196 -0
- typed_ffmpeg/options/framesync.py +43 -0
- typed_ffmpeg/options/timeline.py +22 -0
- typed_ffmpeg/schema.py +15 -0
- typed_ffmpeg/sources.py +392 -381
- typed_ffmpeg/streams/__init__.py +2 -0
- typed_ffmpeg/streams/audio.py +1071 -882
- typed_ffmpeg/streams/av.py +9 -3
- typed_ffmpeg/streams/subtitle.py +3 -3
- typed_ffmpeg/streams/video.py +1873 -1725
- typed_ffmpeg/types.py +3 -2
- typed_ffmpeg/utils/__init__.py +1 -0
- typed_ffmpeg/utils/escaping.py +8 -4
- typed_ffmpeg/utils/frozendict.py +31 -1
- typed_ffmpeg/utils/lazy_eval/__init__.py +1 -0
- typed_ffmpeg/utils/lazy_eval/operator.py +75 -27
- typed_ffmpeg/utils/lazy_eval/schema.py +176 -4
- typed_ffmpeg/utils/run.py +2 -0
- typed_ffmpeg/utils/snapshot.py +3 -2
- typed_ffmpeg/utils/typing.py +2 -1
- typed_ffmpeg/utils/view.py +2 -1
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/METADATA +1 -1
- typed_ffmpeg_compatible-3.6.dist-info/RECORD +73 -0
- typed_ffmpeg_compatible-3.5.1.dist-info/RECORD +0 -67
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/WHEEL +0 -0
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/entry_points.txt +0 -0
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/licenses/LICENSE +0 -0
- {typed_ffmpeg_compatible-3.5.1.dist-info → typed_ffmpeg_compatible-3.6.dist-info}/top_level.txt +0 -0
typed_ffmpeg/formats/schema.py
CHANGED
@@ -1,17 +1,11 @@
|
|
1
|
-
|
1
|
+
"""FFmpeg format schema definitions."""
|
2
2
|
|
3
|
-
from ..
|
4
|
-
from ..utils.frozendict import FrozenDict
|
3
|
+
from ..schema import FFMpegOptionGroup
|
5
4
|
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
kwargs: FrozenDict[str, str | int | float | bool] = FrozenDict({})
|
6
|
+
class FFMpegMuxerOption(FFMpegOptionGroup):
|
7
|
+
"""FFmpeg muxer option group."""
|
10
8
|
|
11
9
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
@dataclass(frozen=True, kw_only=True)
|
17
|
-
class FFMpegDemuxerOption(FFMpegFormatOption): ...
|
10
|
+
class FFMpegDemuxerOption(FFMpegOptionGroup):
|
11
|
+
"""FFmpeg demuxer option group."""
|
typed_ffmpeg/info.py
CHANGED
@@ -49,6 +49,7 @@ class Codec:
|
|
49
49
|
name: The codec identifier used in FFmpeg commands
|
50
50
|
flags: Bitmap of capabilities supported by the codec
|
51
51
|
description: Human-readable description of the codec
|
52
|
+
|
52
53
|
"""
|
53
54
|
|
54
55
|
name: str
|
@@ -68,6 +69,7 @@ def parse_codec_flags(flags: str) -> CodecFlags:
|
|
68
69
|
|
69
70
|
Returns:
|
70
71
|
A CodecFlags bitmap with the appropriate flags set
|
72
|
+
|
71
73
|
"""
|
72
74
|
flags_enum = CodecFlags(0)
|
73
75
|
if flags[0] == "V":
|
@@ -101,6 +103,7 @@ def get_codecs() -> tuple[Codec, ...]:
|
|
101
103
|
|
102
104
|
Raises:
|
103
105
|
FFMpegExecuteError: If the ffmpeg command fails
|
106
|
+
|
104
107
|
"""
|
105
108
|
args = ["ffmpeg", "-hide_banner", "-codecs"]
|
106
109
|
logger.info("Running ffmpeg command: %s", command_line(args))
|
@@ -161,6 +164,7 @@ def parse_coder_flags(flags: str) -> CoderFlags:
|
|
161
164
|
|
162
165
|
Returns:
|
163
166
|
A CoderFlags bitmap with the appropriate flags set
|
167
|
+
|
164
168
|
"""
|
165
169
|
flags_enum = CoderFlags(0)
|
166
170
|
if flags[0] == "V":
|
@@ -195,6 +199,7 @@ class Coder:
|
|
195
199
|
name: The coder identifier used in FFmpeg commands
|
196
200
|
flags: Bitmap of capabilities supported by the coder
|
197
201
|
description: Human-readable description of the coder
|
202
|
+
|
198
203
|
"""
|
199
204
|
|
200
205
|
name: str
|
@@ -214,6 +219,7 @@ def get_coders(codes: str) -> tuple[Coder, ...]:
|
|
214
219
|
|
215
220
|
Returns:
|
216
221
|
A tuple of Coder objects representing the available encoders/decoders
|
222
|
+
|
217
223
|
"""
|
218
224
|
codecs_lines = codes.strip().split("\n")
|
219
225
|
# Skip header lines until we find the separator
|
@@ -244,6 +250,7 @@ def get_decoders() -> tuple[Coder, ...]:
|
|
244
250
|
|
245
251
|
Raises:
|
246
252
|
FFMpegExecuteError: If the ffmpeg command fails
|
253
|
+
|
247
254
|
"""
|
248
255
|
args = ["ffmpeg", "-hide_banner", "-decoders"]
|
249
256
|
logger.info("Running ffmpeg command: %s", command_line(args))
|
@@ -272,6 +279,7 @@ def get_encoders() -> tuple[Coder, ...]:
|
|
272
279
|
|
273
280
|
Raises:
|
274
281
|
FFMpegExecuteError: If the ffmpeg command fails
|
282
|
+
|
275
283
|
"""
|
276
284
|
args = ["ffmpeg", "-hide_banner", "-encoders"]
|
277
285
|
logger.info("Running ffmpeg command: %s", command_line(args))
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"""FFmpeg options."""
|
2
|
+
|
3
|
+
from .codec import decoder_codec_context, encoder_codec_context
|
4
|
+
from .format import decoder_format_context, encoder_format_context
|
5
|
+
from .framesync import framesync
|
6
|
+
from .timeline import timeline
|
7
|
+
|
8
|
+
__all__ = [
|
9
|
+
"framesync",
|
10
|
+
"timeline",
|
11
|
+
"encoder_format_context",
|
12
|
+
"decoder_format_context",
|
13
|
+
"encoder_codec_context",
|
14
|
+
"decoder_codec_context",
|
15
|
+
]
|