typed-ffmpeg-compatible 2.1.0__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 (45) hide show
  1. typed_ffmpeg/__init__.py +25 -0
  2. typed_ffmpeg/base.py +114 -0
  3. typed_ffmpeg/common/__init__.py +0 -0
  4. typed_ffmpeg/common/schema.py +308 -0
  5. typed_ffmpeg/common/serialize.py +132 -0
  6. typed_ffmpeg/dag/__init__.py +13 -0
  7. typed_ffmpeg/dag/compile.py +51 -0
  8. typed_ffmpeg/dag/context.py +221 -0
  9. typed_ffmpeg/dag/factory.py +31 -0
  10. typed_ffmpeg/dag/global_runnable/__init__.py +0 -0
  11. typed_ffmpeg/dag/global_runnable/global_args.py +178 -0
  12. typed_ffmpeg/dag/global_runnable/runnable.py +174 -0
  13. typed_ffmpeg/dag/io/__init__.py +0 -0
  14. typed_ffmpeg/dag/io/_input.py +197 -0
  15. typed_ffmpeg/dag/io/_output.py +318 -0
  16. typed_ffmpeg/dag/io/output_args.py +327 -0
  17. typed_ffmpeg/dag/nodes.py +479 -0
  18. typed_ffmpeg/dag/schema.py +210 -0
  19. typed_ffmpeg/dag/utils.py +41 -0
  20. typed_ffmpeg/dag/validate.py +172 -0
  21. typed_ffmpeg/exceptions.py +42 -0
  22. typed_ffmpeg/filters.py +3510 -0
  23. typed_ffmpeg/probe.py +43 -0
  24. typed_ffmpeg/py.typed +0 -0
  25. typed_ffmpeg/schema.py +29 -0
  26. typed_ffmpeg/streams/__init__.py +5 -0
  27. typed_ffmpeg/streams/audio.py +6955 -0
  28. typed_ffmpeg/streams/av.py +22 -0
  29. typed_ffmpeg/streams/channel_layout.py +39 -0
  30. typed_ffmpeg/streams/video.py +12974 -0
  31. typed_ffmpeg/types.py +119 -0
  32. typed_ffmpeg/utils/__init__.py +0 -0
  33. typed_ffmpeg/utils/escaping.py +49 -0
  34. typed_ffmpeg/utils/lazy_eval/__init__.py +0 -0
  35. typed_ffmpeg/utils/lazy_eval/operator.py +134 -0
  36. typed_ffmpeg/utils/lazy_eval/schema.py +211 -0
  37. typed_ffmpeg/utils/run.py +27 -0
  38. typed_ffmpeg/utils/snapshot.py +26 -0
  39. typed_ffmpeg/utils/typing.py +17 -0
  40. typed_ffmpeg/utils/view.py +64 -0
  41. typed_ffmpeg_compatible-2.1.0.dist-info/LICENSE +21 -0
  42. typed_ffmpeg_compatible-2.1.0.dist-info/METADATA +183 -0
  43. typed_ffmpeg_compatible-2.1.0.dist-info/RECORD +45 -0
  44. typed_ffmpeg_compatible-2.1.0.dist-info/WHEEL +4 -0
  45. typed_ffmpeg_compatible-2.1.0.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,22 @@
1
+ from ..dag.nodes import InputNode
2
+ from ..utils.typing import override
3
+ from .audio import AudioStream
4
+ from .video import VideoStream
5
+
6
+
7
+ class AVStream(AudioStream, VideoStream):
8
+ """
9
+ A stream that contains both audio and video. This is for input nodes only.
10
+ """
11
+
12
+ node: InputNode
13
+
14
+ @property
15
+ @override
16
+ def video(self) -> VideoStream:
17
+ return VideoStream(node=self.node, index=self.index)
18
+
19
+ @property
20
+ @override
21
+ def audio(self) -> AudioStream:
22
+ return AudioStream(node=self.node, index=self.index)
@@ -0,0 +1,39 @@
1
+ CHANNEL_LAYOUT = {
2
+ "mono": 1,
3
+ "stereo": 2,
4
+ "2.1": 3,
5
+ "3.0": 3,
6
+ "3.0(back)": 3,
7
+ "4.0": 4,
8
+ "quad": 4,
9
+ "quad(side)": 4,
10
+ "3.1": 4,
11
+ "5.0": 5,
12
+ "5.0(side)": 5,
13
+ "4.1": 5,
14
+ "5.1": 6,
15
+ "5.1(side)": 6,
16
+ "6.0": 6,
17
+ "6.0(front)": 6,
18
+ "3.1.2": 6,
19
+ "hexagonal": 6,
20
+ "6.1": 7,
21
+ "6.1(back)": 7,
22
+ "6.1(front)": 7,
23
+ "7.0": 7,
24
+ "7.0(front)": 7,
25
+ "7.1": 8,
26
+ "7.1(wide)": 8,
27
+ "7.1(wide-side)": 8,
28
+ "5.1.2": 8,
29
+ "octagonal": 8,
30
+ "cube": 8,
31
+ "5.1.4": 10,
32
+ "7.1.2": 10,
33
+ "7.1.4": 12,
34
+ "7.2.3": 12,
35
+ "9.1.4": 14,
36
+ "hexadecagonal": 16,
37
+ "downmix": 2,
38
+ "22.2": 24,
39
+ }