44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
from dataclasses import dataclass
|
|
from enum import Enum
|
|
|
|
from fastapi import Form
|
|
|
|
|
|
'''
|
|
vext: Video Extension (mp4 > mov > webm > flv > other). If --prefer-free-formats is used, webm is preferred.
|
|
aext: Audio Extension (m4a > aac > mp3 > ogg > opus > webm > other). If --prefer-free-formats is used, the order changes to ogg > opus > webm > mp3 > m4a > aac
|
|
'''
|
|
|
|
class VideoFormatEnum(Enum):
|
|
format_3gp = "3gp"
|
|
format_flv = "flv"
|
|
format_mp4 = "mp4"
|
|
format_mov = "mov"
|
|
format_webm = "webm"
|
|
|
|
class AudioFormatEnum(Enum):
|
|
format_aac = "aac"
|
|
format_m4a = "m4a"
|
|
format_mp3 = "mp3"
|
|
format_ogg = "ogg"
|
|
format_opus = "opus"
|
|
format_webm = "webm"
|
|
format_wav = "wav"
|
|
|
|
|
|
class MergeOutputFormatEnum(Enum):
|
|
format_avi = "avi"
|
|
format_flv = "flv"
|
|
format_mkv = "mkv"
|
|
format_mov = "mov"
|
|
format_mp4 = "mp4"
|
|
format_webm = "webm"
|
|
|
|
@dataclass
|
|
class SubmitIn:
|
|
link: str = Form(...)
|
|
video_format: VideoFormatEnum = Form(...)
|
|
audio_format: AudioFormatEnum = Form(...)
|
|
merge_output_format: MergeOutputFormatEnum = Form(...)
|
|
|