2022-02-06 16:18:14 +00:00
|
|
|
from functools import reduce
|
2022-02-06 15:20:12 +00:00
|
|
|
|
2022-02-06 16:18:14 +00:00
|
|
|
|
|
|
|
def add_to_arr(
|
|
|
|
arr: list[str],
|
|
|
|
items: list[str]) -> list[str]:
|
2022-02-06 15:20:12 +00:00
|
|
|
for item in items:
|
|
|
|
arr.append(item)
|
|
|
|
|
2022-02-06 16:18:14 +00:00
|
|
|
|
2022-02-06 15:20:12 +00:00
|
|
|
# does not include copy
|
|
|
|
transcode_presets = {}
|
|
|
|
|
|
|
|
transcode_presets["mp3"] = []
|
|
|
|
|
|
|
|
# mp3 v0 -> v9
|
|
|
|
add_to_arr(transcode_presets["mp3"], [
|
|
|
|
f"mp3-v{quality}" for quality in range(0, 10)
|
|
|
|
])
|
|
|
|
# mp3 bitrates
|
2022-02-06 16:18:14 +00:00
|
|
|
mp3_bitrates = [
|
|
|
|
8,
|
|
|
|
16,
|
|
|
|
24,
|
|
|
|
32,
|
|
|
|
40,
|
|
|
|
48,
|
|
|
|
64,
|
|
|
|
80,
|
|
|
|
96,
|
|
|
|
112,
|
|
|
|
128,
|
|
|
|
160,
|
|
|
|
192,
|
|
|
|
224,
|
|
|
|
256,
|
|
|
|
320]
|
2022-02-06 15:20:12 +00:00
|
|
|
add_to_arr(transcode_presets["mp3"], [
|
|
|
|
f"mp3-{bitrate}k" for bitrate in mp3_bitrates
|
|
|
|
])
|
|
|
|
|
|
|
|
transcode_presets["opus"] = []
|
|
|
|
|
2022-02-06 16:18:14 +00:00
|
|
|
opus_bitrates = ["16", "24", "32", "64", "96", "128", "256"]
|
2022-02-06 15:20:12 +00:00
|
|
|
add_to_arr(transcode_presets["opus"], [
|
|
|
|
f"opus-{bitrate}k" for bitrate in opus_bitrates
|
|
|
|
])
|
|
|
|
|
|
|
|
transcode_presets["vorbis"] = []
|
|
|
|
|
|
|
|
add_to_arr(transcode_presets["vorbis"], [
|
|
|
|
f"vorbis-q{quality}" for quality in range(-2, 11)
|
|
|
|
])
|
|
|
|
|
|
|
|
transcode_presets["speex"] = []
|
|
|
|
|
|
|
|
add_to_arr(transcode_presets["speex"], [
|
|
|
|
f"speex-q{quality}" for quality in range(0, 11)
|
|
|
|
])
|
2022-02-06 16:18:14 +00:00
|
|
|
|
2022-02-06 15:20:12 +00:00
|
|
|
transcode_presets["g726"] = []
|
|
|
|
|
2022-02-06 16:18:14 +00:00
|
|
|
g726_bitrates = ["16", "24", "32", "40"]
|
2022-02-06 15:20:12 +00:00
|
|
|
add_to_arr(transcode_presets["g726"], [
|
|
|
|
f"g726-{bitrate}k" for bitrate in g726_bitrates
|
|
|
|
])
|
|
|
|
|
|
|
|
# Extra Default Mappings
|
|
|
|
preset_transcode_presets = {}
|
|
|
|
|
|
|
|
mp3_presets = {
|
|
|
|
"mp3-low": "mp3-v4",
|
|
|
|
"mp3-medium": "mp3-v2",
|
|
|
|
"mp3-high": "mp3-v0",
|
|
|
|
}
|
|
|
|
|
|
|
|
preset_transcode_presets = preset_transcode_presets | mp3_presets
|
|
|
|
add_to_arr(transcode_presets["opus"], mp3_presets.keys())
|
|
|
|
|
|
|
|
opus_presets = {
|
|
|
|
"opus-low": "opus-32k",
|
|
|
|
"opus-medium": "opus-64k",
|
|
|
|
"opus-high": "opus-96k",
|
|
|
|
"opus-higher": "opus-128k",
|
|
|
|
"opus-extreme": "opus-256k"
|
|
|
|
}
|
|
|
|
|
|
|
|
preset_transcode_presets = preset_transcode_presets | opus_presets
|
|
|
|
add_to_arr(transcode_presets["opus"], opus_presets.keys())
|
|
|
|
|
|
|
|
transcode_presets["mp3"].sort()
|
|
|
|
transcode_presets["opus"].sort()
|
|
|
|
transcode_presets["vorbis"].sort()
|
|
|
|
transcode_presets["speex"].sort()
|
|
|
|
transcode_presets["g726"].sort()
|
|
|
|
|
2022-02-06 16:18:14 +00:00
|
|
|
|
2022-02-06 15:20:12 +00:00
|
|
|
def print_transcode_presets():
|
|
|
|
for category in transcode_presets.keys():
|
|
|
|
print(f"Category {category}:")
|
|
|
|
for preset in transcode_presets[category]:
|
|
|
|
print(f"- {preset}")
|
|
|
|
|
2022-02-06 16:18:14 +00:00
|
|
|
|
|
|
|
transcode_presets_list = reduce(
|
|
|
|
lambda a, b: a + b, transcode_presets.values())
|