Skip to content

Commit f497099

Browse files
committed
Get format information from PyAV
1 parent 5513b71 commit f497099

File tree

3 files changed

+80
-331
lines changed

3 files changed

+80
-331
lines changed

auto_editor/edit.py

+8-17
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,8 @@ def set_video_codec(
6868
) -> str:
6969
if codec == "auto":
7070
codec = "h264" if (src is None or not src.videos) else src.videos[0].codec
71-
if ctr.vcodecs is not None:
72-
if ctr.vstrict and codec not in ctr.vcodecs:
73-
return ctr.vcodecs[0]
74-
75-
if codec in ctr.disallow_v:
76-
return ctr.vcodecs[0]
71+
if codec not in ctr.vcodecs and ctr.default_vid != "none":
72+
return ctr.default_vid
7773
return codec
7874

7975
if codec == "copy":
@@ -83,12 +79,7 @@ def set_video_codec(
8379
log.error("Input file does not have a video stream to copy codec from.")
8480
codec = src.videos[0].codec
8581

86-
if ctr.vstrict:
87-
assert ctr.vcodecs is not None
88-
if codec not in ctr.vcodecs:
89-
log.error(codec_error.format(codec, out_ext))
90-
91-
if codec in ctr.disallow_v:
82+
if ctr.vcodecs is not None and codec not in ctr.vcodecs:
9283
log.error(codec_error.format(codec, out_ext))
9384

9485
return codec
@@ -99,8 +90,8 @@ def set_audio_codec(
9990
) -> str:
10091
if codec == "auto":
10192
codec = "aac" if (src is None or not src.audios) else src.audios[0].codec
102-
if ctr.acodecs is not None and codec not in ctr.acodecs:
103-
return ctr.acodecs[0]
93+
if codec not in ctr.acodecs and ctr.default_aud != "none":
94+
return ctr.default_aud
10495
return codec
10596

10697
if codec == "copy":
@@ -272,13 +263,13 @@ def make_media(tl: v3, output: str) -> None:
272263
sub_output = []
273264
apply_later = False
274265

275-
if ctr.allow_subtitle and not args.sn:
266+
if ctr.default_sub != "none" and not args.sn:
276267
sub_output = make_new_subtitles(tl, ensure, temp)
277268

278-
if ctr.allow_audio:
269+
if ctr.default_aud != "none":
279270
audio_output = make_new_audio(tl, ensure, args, ffmpeg, bar, temp, log)
280271

281-
if ctr.allow_video:
272+
if ctr.default_vid != "none":
282273
if tl.v:
283274
out_path, apply_later = render_av(ffmpeg, tl, args, bar, ctr, temp, log)
284275
visual_output.append((True, out_path))

auto_editor/output.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ def mux_quality_media(
211211
cmd.extend(["-c:s", scodec])
212212
elif ctr.scodecs is not None:
213213
if scodec not in ctr.scodecs:
214-
scodec = ctr.scodecs[0]
214+
scodec = ctr.default_sub
215215
cmd.extend(["-c:s", scodec])
216216

217217
if a_tracks > 0:

0 commit comments

Comments
 (0)