auto-editor 23.35.1__py3-none-any.whl → 23.40.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.
@@ -5,7 +5,6 @@ from typing import TypedDict
5
5
 
6
6
 
7
7
  class DictContainer(TypedDict, total=False):
8
- name: str | None
9
8
  allow_video: bool
10
9
  allow_audio: bool
11
10
  allow_subtitle: bool
@@ -24,7 +23,6 @@ class DictContainer(TypedDict, total=False):
24
23
 
25
24
  @dataclass(slots=True)
26
25
  class Container:
27
- name: str | None = None
28
26
  allow_video: bool = False
29
27
  allow_audio: bool = False
30
28
  allow_subtitle: bool = False
@@ -41,40 +39,49 @@ class Container:
41
39
  samplerate: list[int] | None = None # Any samplerate is allowed
42
40
 
43
41
 
44
- # Define aliases
42
+ h264_en = [
43
+ "h264",
44
+ "libx264",
45
+ "libx264rgb",
46
+ "libopenh264",
47
+ "h264_videotoolbox",
48
+ "h264_amf",
49
+ "h264_nvenc",
50
+ "h264_qsv",
51
+ ]
52
+ hevc_en = ["hevc", "libx265", "hevc_videotoolbox", "hevc_amf", "hevc_nvenc", "hevc_qsv"]
53
+ av1_en = ["av1", "libaom-av1", "av1_nvenc", "av1_amf"]
54
+ prores_en = ["prores", "prores_videotoolbox", "prores_aw", "prores_ks"]
55
+ aac_en = ["aac", "aac_at", "libfdk_aac"]
56
+
57
+
45
58
  h265: DictContainer = {
46
- "name": "H.265 / High Efficiency Video Coding (HEVC) / MPEG-H Part 2",
47
59
  "allow_video": True,
48
- "vcodecs": ["hevc", "mpeg4", "h264"],
60
+ "vcodecs": hevc_en + ["mpeg4"] + h264_en,
49
61
  }
50
62
  h264: DictContainer = {
51
- "name": "H.264 / Advanced Video Coding (AVC) / MPEG-4 Part 10",
52
63
  "allow_video": True,
53
- "vcodecs": ["h264", "mpeg4", "hevc"],
64
+ "vcodecs": h264_en + ["mpeg4"] + hevc_en,
54
65
  }
55
66
  aac: DictContainer = {
56
- "name": "Advanced Audio Coding",
57
67
  "allow_audio": True,
58
68
  "max_audios": 1,
59
- "acodecs": ["aac"],
69
+ "acodecs": aac_en,
60
70
  }
61
71
  ass: DictContainer = {
62
- "name": "SubStation Alpha",
63
72
  "allow_subtitle": True,
64
73
  "scodecs": ["ass", "ssa"],
65
74
  "max_subtitles": 1,
66
75
  "sstrict": True,
67
76
  }
68
77
  mp4: DictContainer = {
69
- "name": "MP4 / MPEG-4 Part 14",
70
78
  "allow_video": True,
71
79
  "allow_audio": True,
72
80
  "allow_subtitle": True,
73
81
  "allow_image": True,
74
- "vcodecs": ["h264", "hevc", "vp9", "av1", "mpeg4", "mpeg2video", "mjpeg"],
75
- "acodecs": ["aac", "mp3", "opus", "flac", "vorbis", "libvorbis", "ac3", "mp2"],
82
+ "vcodecs": h264_en + hevc_en + av1_en + ["vp9", "mpeg4", "mpeg2video", "mjpeg"],
83
+ "acodecs": aac_en + ["mp3", "opus", "flac", "vorbis", "libvorbis", "ac3", "mp2"],
76
84
  "vstrict": True,
77
- # "disallow_v": ["prores", "apng", "gif", "msmpeg4v3", "flv1", "vp8", "dvvideo", "rawvideo"],
78
85
  }
79
86
  ogg: DictContainer = {
80
87
  "allow_video": True,
@@ -85,28 +92,29 @@ ogg: DictContainer = {
85
92
  "vstrict": True,
86
93
  }
87
94
 
88
- mka_audio = [
89
- "libvorbis",
90
- "vorbis",
91
- "aac",
92
- "mp3",
93
- "opus",
94
- "flac",
95
- "ac3",
96
- "mp2",
97
- "wmav2",
98
- "pcm_s16le",
99
- "pcm_alaw",
100
- "pcm_f32le",
101
- "pcm_f64le",
102
- "pcm_mulaw",
103
- "pcm_s16be",
104
- "pcm_s24be",
105
- "pcm_s24le",
106
- "pcm_s32be",
107
- "pcm_s32le",
108
- "pcm_u8",
109
- ]
95
+ mka_audio = (
96
+ ["libvorbis", "vorbis"]
97
+ + aac_en
98
+ + [
99
+ "mp3",
100
+ "opus",
101
+ "flac",
102
+ "ac3",
103
+ "mp2",
104
+ "wmav2",
105
+ "pcm_s16le",
106
+ "pcm_alaw",
107
+ "pcm_f32le",
108
+ "pcm_f64le",
109
+ "pcm_mulaw",
110
+ "pcm_s16be",
111
+ "pcm_s24be",
112
+ "pcm_s24le",
113
+ "pcm_s32be",
114
+ "pcm_s32le",
115
+ "pcm_u8",
116
+ ]
117
+ )
110
118
 
111
119
  containers: dict[str, DictContainer] = {
112
120
  # Aliases section
@@ -124,21 +132,18 @@ containers: dict[str, DictContainer] = {
124
132
  "ogg": ogg,
125
133
  "ogv": ogg,
126
134
  "apng": {
127
- "name": "Animated Portable Network Graphics",
128
135
  "allow_video": True,
129
136
  "max_videos": 1,
130
137
  "vcodecs": ["apng"],
131
138
  "vstrict": True,
132
139
  },
133
140
  "gif": {
134
- "name": "Graphics Interchange Format",
135
141
  "allow_video": True,
136
142
  "max_videos": 1,
137
143
  "vcodecs": ["gif"],
138
144
  "vstrict": True,
139
145
  },
140
146
  "wav": {
141
- "name": "Waveform Audio File Format",
142
147
  "allow_audio": True,
143
148
  "max_audios": 1,
144
149
  "acodecs": [
@@ -156,19 +161,16 @@ containers: dict[str, DictContainer] = {
156
161
  ],
157
162
  },
158
163
  "ast": {
159
- "name": "AST / Audio Stream",
160
164
  "allow_audio": True,
161
165
  "max_audios": 1,
162
166
  "acodecs": ["pcm_s16be_planar"],
163
167
  },
164
168
  "mp3": {
165
- "name": "MP3 / MPEG-2 Audio Layer 3",
166
169
  "allow_audio": True,
167
170
  "max_audios": 1,
168
171
  "acodecs": ["mp3"],
169
172
  },
170
173
  "opus": {
171
- "name": "Opus",
172
174
  "allow_audio": True,
173
175
  "acodecs": ["opus", "flac", "libvorbis", "vorbis", "speex"],
174
176
  },
@@ -177,44 +179,39 @@ containers: dict[str, DictContainer] = {
177
179
  "acodecs": ["flac", "libvorbis", "vorbis", "opus", "speex"],
178
180
  },
179
181
  "flac": {
180
- "name": "Free Lossless Audio Codec",
181
182
  "allow_audio": True,
182
183
  "max_audios": 1,
183
184
  "acodecs": ["flac"],
184
185
  },
185
186
  "webm": {
186
- "name": "WebM",
187
187
  "allow_video": True,
188
188
  "allow_audio": True,
189
189
  "allow_subtitle": True,
190
- "vcodecs": ["vp9", "vp8", "av1", "libaom-av1"],
190
+ "vcodecs": ["vp9", "vp8"] + av1_en,
191
191
  "acodecs": ["opus", "vorbis", "libvorbis"],
192
192
  "scodecs": ["webvtt"],
193
193
  "vstrict": True,
194
194
  "sstrict": True,
195
195
  },
196
196
  "srt": {
197
- "name": "SubRip Text / Subtitle Resource Tracks",
198
197
  "allow_subtitle": True,
199
198
  "scodecs": ["srt"],
200
199
  "max_subtitles": 1,
201
200
  "sstrict": True,
202
201
  },
203
202
  "vtt": {
204
- "name": "Web Video Text Track",
205
203
  "allow_subtitle": True,
206
204
  "scodecs": ["webvtt"],
207
205
  "max_subtitles": 1,
208
206
  "sstrict": True,
209
207
  },
210
208
  "avi": {
211
- "name": "Audio Video Interleave",
212
209
  "allow_video": True,
213
210
  "allow_audio": True,
214
- "vcodecs": ["mpeg4", "h264", "prores", "mjpeg", "mpeg2video", "rawvideo"],
215
- "acodecs": [
216
- "mp3",
217
- "aac",
211
+ "vcodecs": ["mpeg4"] + h264_en + ["prores", "mjpeg", "mpeg2video", "rawvideo"],
212
+ "acodecs": ["mp3"]
213
+ + aac_en
214
+ + [
218
215
  "flac",
219
216
  "vorbis",
220
217
  "libvorbis",
@@ -229,16 +226,17 @@ containers: dict[str, DictContainer] = {
229
226
  "pcm_s32le",
230
227
  "pcm_u8",
231
228
  ],
232
- "disallow_v": ["hevc", "apng", "gif"],
229
+ "disallow_v": hevc_en + ["apng", "gif"],
233
230
  },
234
231
  "wmv": {
235
- "name": "Windows Media Video",
236
232
  "allow_video": True,
237
233
  "allow_audio": True,
238
- "vcodecs": ["msmpeg4v3", "h264", "mpeg4", "mpeg2video", "mjpeg", "rawvideo"],
239
- "acodecs": [
240
- "wmav2",
241
- "aac",
234
+ "vcodecs": ["msmpeg4v3"]
235
+ + h264_en
236
+ + ["mpeg4", "mpeg2video", "mjpeg", "rawvideo"],
237
+ "acodecs": ["wmav2"]
238
+ + aac_en
239
+ + [
242
240
  "mp3",
243
241
  "flac",
244
242
  "vorbis",
@@ -257,17 +255,16 @@ containers: dict[str, DictContainer] = {
257
255
  "vstrict": True,
258
256
  },
259
257
  "mkv": {
260
- "name": "Matroska",
261
258
  "allow_video": True,
262
259
  "allow_audio": True,
263
260
  "allow_subtitle": True,
264
261
  "allow_image": True,
265
- "vcodecs": [
266
- "h264",
267
- "hevc",
262
+ "vcodecs": h264_en
263
+ + hevc_en
264
+ + prores_en
265
+ + [
268
266
  "vp9",
269
267
  "vp8",
270
- "prores",
271
268
  "mpeg4",
272
269
  "mpeg2video",
273
270
  "msmpeg4v3",
@@ -279,19 +276,17 @@ containers: dict[str, DictContainer] = {
279
276
  "disallow_v": ["apng"],
280
277
  },
281
278
  "mka": {
282
- "name": "Matroska Audio",
283
279
  "allow_audio": True,
284
280
  "acodecs": mka_audio,
285
281
  },
286
282
  "mov": {
287
- "name": "QuickTime / MOV",
288
283
  "allow_video": True,
289
284
  "allow_audio": True,
290
285
  "allow_subtitle": True,
291
- "vcodecs": [
292
- "h264",
293
- "hevc",
294
- "prores",
286
+ "vcodecs": h264_en
287
+ + hevc_en
288
+ + prores_en
289
+ + [
295
290
  "mpeg4",
296
291
  "mpeg2video",
297
292
  "msmpeg4v3",
@@ -301,8 +296,8 @@ containers: dict[str, DictContainer] = {
301
296
  "dvvideo",
302
297
  "rawvideo",
303
298
  ],
304
- "acodecs": [
305
- "aac",
299
+ "acodecs": aac_en
300
+ + [
306
301
  "mp3",
307
302
  "vorbis",
308
303
  "libvorbis",
@@ -327,7 +322,6 @@ containers: dict[str, DictContainer] = {
327
322
  "disallow_v": ["apng", "vp9", "vp8"],
328
323
  },
329
324
  "swf": {
330
- "name": "ShockWave Flash / Small Web Format",
331
325
  "allow_video": True,
332
326
  "allow_audio": True,
333
327
  "vcodecs": ["flv1", "mjpeg"],
@@ -335,15 +329,10 @@ containers: dict[str, DictContainer] = {
335
329
  "vstrict": True,
336
330
  "samplerate": [44100, 22050, 11025],
337
331
  },
338
- "not_in_here": {
339
- "allow_video": True,
340
- "allow_audio": True,
341
- "allow_subtitle": True,
342
- },
343
332
  }
344
333
 
345
334
 
346
335
  def container_constructor(key: str) -> Container:
347
336
  if key in containers:
348
337
  return Container(**containers[key])
349
- return Container(**containers["not_in_here"])
338
+ return Container(allow_video=True, allow_audio=True, allow_subtitle=True)
@@ -1,197 +1,135 @@
1
1
  encoders = {
2
- "libx264": {
3
- "pix_fmt": {
4
- "yuv420p",
5
- "yuvj420p",
6
- "yuv422p",
7
- "yuvj422p",
8
- "yuv444p",
9
- "yuvj444p",
10
- "nv12",
11
- "nv16",
12
- "nv21",
13
- "yuv420p10le",
14
- "yuv422p10le",
15
- "yuv444p10le",
16
- "nv20le",
17
- "gray",
18
- "gray10le",
19
- },
20
- },
21
- "libx264rgb": {
22
- "pix_fmt": {"bgr0", "bgr24", "rgb24"},
23
- },
24
- "h264_videotoolbox": {
25
- "pix_fmt": {"videotoolbox_vld", "nv12", "yuv420p"},
26
- },
27
- "h264": {
28
- "pix_fmt": {"videotoolbox_vld", "nv12", "yuv420p"},
29
- },
30
- "libx265": {
31
- "pix_fmt": {
32
- "yuv420p",
33
- "yuvj420p",
34
- "yuv422p",
35
- "yuvj422p",
36
- "yuv444p",
37
- "yuvj444p",
38
- "gbrp",
39
- "yuv420p10le",
40
- "yuv422p10le",
41
- "yuv444p10le",
42
- "gbrp10le",
43
- "yuv420p12le",
44
- "yuv422p12le",
45
- "yuv444p12le",
46
- "gbrp12le",
47
- "gray",
48
- "gray10le",
49
- "gray12le",
50
- },
51
- },
52
- "hevc_videotoolbox": {
53
- "pix_fmt": {"videotoolbox_vld", "nv12", "yuv420p", "bgra", "p010le"},
54
- },
55
- "hevc": {
56
- "pix_fmt": {
57
- "yuv420p",
58
- "yuvj420p",
59
- "yuv422p",
60
- "yuvj422p",
61
- "yuv444p",
62
- "yuvj444p",
63
- "gbrp",
64
- "yuv420p10le",
65
- "yuv422p10le",
66
- "yuv444p10le",
67
- "gbrp10le",
68
- "yuv420p12le",
69
- "yuv422p12le",
70
- "yuv444p12le",
71
- "gbrp12le",
72
- "gray",
73
- "gray10le",
74
- "gray12le",
75
- },
76
- },
77
- "hevc_nvenc": {
78
- "pix_fmt": {
79
- "yuv420p",
80
- "nv12",
81
- "p010le",
82
- "yuv444p",
83
- "p016le",
84
- "yuv444p16le",
85
- "bgr0",
86
- "rgb0",
87
- "gbrp",
88
- "gbrp16le",
89
- "cuda",
90
- "d3d11",
91
- },
92
- },
93
- "hevc_amf": {
94
- "pix_fmt": {
95
- "yuv420p",
96
- "nv12",
97
- "d3d11",
98
- "dxva2_vld",
99
- },
100
- },
101
- "h264_nvenc": {
102
- "pix_fmt": {
103
- "yuv420p",
104
- "nv12",
105
- "p010le",
106
- "yuv444p",
107
- "p016le",
108
- "yuv444p16le",
109
- "bgr0",
110
- "rgb0",
111
- "gbrp",
112
- "gbrp16le",
113
- "cuda",
114
- "d3d11",
115
- },
116
- },
117
- "h264_amf": {
118
- "pix_fmt": {
119
- "yuv420p",
120
- "nv12",
121
- "d3d11",
122
- "dxva2_vld",
123
- },
124
- },
125
- "hevc_qsv": {
126
- "pix_fmt": {
127
- "nv12",
128
- "p010le",
129
- "yuyv422",
130
- "y210le",
131
- "qsv",
132
- "bgra",
133
- "x2rgb10le",
134
- },
135
- },
136
- "h264_qsv": {
137
- "pix_fmt": {
138
- "nv12",
139
- "p010le",
140
- "qsv",
141
- },
142
- },
143
- "vp9": {
144
- "pix_fmt": {
145
- "yuv420p",
146
- "yuva420p",
147
- "yuv422p",
148
- "yuv440p",
149
- "yuv444p",
150
- "yuv420p10le",
151
- "yuv422p10le",
152
- "yuv440p10le",
153
- "yuv444p10le",
154
- "yuv420p12le",
155
- "yuv422p12le",
156
- "yuv440p12le",
157
- "yuv444p12le",
158
- "gbrp",
159
- "gbrp10le",
160
- "gbrp12le",
161
- },
162
- },
163
- "vp8": {
164
- "pix_fmt": {"yuv420p", "yuva420p"},
165
- },
166
- "prores": {
167
- "pix_fmt": {"yuv422p10le", "yuv444p10le", "yuva444p10le"},
168
- },
169
- "av1": {
170
- "pix_fmt": {
171
- "yuv420p",
172
- "yuv422p",
173
- "yuv444p",
174
- "gbrp",
175
- "yuv420p10le",
176
- "yuv422p10le",
177
- "yuv444p10le",
178
- "yuv420p12le",
179
- "yuv422p12le",
180
- "yuv444p12le",
181
- "gbrp10le",
182
- "gbrp12le",
183
- "gray",
184
- "gray10le",
185
- "gray12le",
186
- },
187
- },
188
- "mpeg4": {
189
- "pix_fmt": {"yuv420p"},
190
- },
191
- "mpeg2video": {
192
- "pix_fmt": {"yuv420p", "yuv422p"},
193
- },
194
- "mjpeg": {
195
- "pix_fmt": {"yuvj420p", "yuvj422p", "yuvj444p"},
196
- },
2
+ "libx264": (
3
+ "yuv420p",
4
+ "yuvj420p",
5
+ "yuv422p",
6
+ "yuvj422p",
7
+ "yuv444p",
8
+ "yuvj444p",
9
+ "nv12",
10
+ "nv16",
11
+ "nv21",
12
+ "yuv420p10le",
13
+ "yuv422p10le",
14
+ "yuv444p10le",
15
+ "nv20le",
16
+ "gray",
17
+ "gray10le",
18
+ ),
19
+ "libx264rgb": ("bgr0", "bgr24", "rgb24"),
20
+ "h264_videotoolbox": ("videotoolbox_vld", "nv12", "yuv420p"),
21
+ "h264": ("videotoolbox_vld", "nv12", "yuv420p"),
22
+ "libx265": (
23
+ "yuv420p",
24
+ "yuvj420p",
25
+ "yuv422p",
26
+ "yuvj422p",
27
+ "yuv444p",
28
+ "yuvj444p",
29
+ "gbrp",
30
+ "yuv420p10le",
31
+ "yuv422p10le",
32
+ "yuv444p10le",
33
+ "gbrp10le",
34
+ "yuv420p12le",
35
+ "yuv422p12le",
36
+ "yuv444p12le",
37
+ "gbrp12le",
38
+ "gray",
39
+ "gray10le",
40
+ "gray12le",
41
+ ),
42
+ "hevc_videotoolbox": ("videotoolbox_vld", "nv12", "yuv420p", "bgra", "p010le"),
43
+ "hevc": (
44
+ "yuv420p",
45
+ "yuvj420p",
46
+ "yuv422p",
47
+ "yuvj422p",
48
+ "yuv444p",
49
+ "yuvj444p",
50
+ "gbrp",
51
+ "yuv420p10le",
52
+ "yuv422p10le",
53
+ "yuv444p10le",
54
+ "gbrp10le",
55
+ "yuv420p12le",
56
+ "yuv422p12le",
57
+ "yuv444p12le",
58
+ "gbrp12le",
59
+ "gray",
60
+ "gray10le",
61
+ "gray12le",
62
+ ),
63
+ "hevc_nvenc": (
64
+ "yuv420p",
65
+ "nv12",
66
+ "p010le",
67
+ "yuv444p",
68
+ "p016le",
69
+ "yuv444p16le",
70
+ "bgr0",
71
+ "rgb0",
72
+ "gbrp",
73
+ "gbrp16le",
74
+ "cuda",
75
+ "d3d11",
76
+ ),
77
+ "hevc_amf": ("yuv420p", "nv12", "d3d11", "dxva2_vld"),
78
+ "h264_nvenc": (
79
+ "yuv420p",
80
+ "nv12",
81
+ "p010le",
82
+ "yuv444p",
83
+ "p016le",
84
+ "yuv444p16le",
85
+ "bgr0",
86
+ "rgb0",
87
+ "gbrp",
88
+ "gbrp16le",
89
+ "cuda",
90
+ "d3d11",
91
+ ),
92
+ "h264_amf": ("yuv420p", "nv12", "d3d11", "dxva2_vld"),
93
+ "hevc_qsv": ("nv12", "p010le", "yuyv422", "y210le", "qsv", "bgra", "x2rgb10le"),
94
+ "h264_qsv": ("nv12", "p010le", "qsv"),
95
+ "vp9": (
96
+ "yuv420p",
97
+ "yuva420p",
98
+ "yuv422p",
99
+ "yuv440p",
100
+ "yuv444p",
101
+ "yuv420p10le",
102
+ "yuv422p10le",
103
+ "yuv440p10le",
104
+ "yuv444p10le",
105
+ "yuv420p12le",
106
+ "yuv422p12le",
107
+ "yuv440p12le",
108
+ "yuv444p12le",
109
+ "gbrp",
110
+ "gbrp10le",
111
+ "gbrp12le",
112
+ ),
113
+ "vp8": ("yuv420p", "yuva420p"),
114
+ "prores": ("yuv422p10le", "yuv444p10le", "yuva444p10le"),
115
+ "av1": (
116
+ "yuv420p",
117
+ "yuv422p",
118
+ "yuv444p",
119
+ "gbrp",
120
+ "yuv420p10le",
121
+ "yuv422p10le",
122
+ "yuv444p10le",
123
+ "yuv420p12le",
124
+ "yuv422p12le",
125
+ "yuv444p12le",
126
+ "gbrp10le",
127
+ "gbrp12le",
128
+ "gray",
129
+ "gray10le",
130
+ "gray12le",
131
+ ),
132
+ "mpeg4": ("yuv420p"),
133
+ "mpeg2video": ("yuv420p", "yuv422p"),
134
+ "mjpeg": ("yuvj420p", "yuvj422p", "yuvj444p"),
197
135
  }