|
21 | 21 | "YDL_EXTRACT_AUDIO_QUALITY", cast=str, default="192" |
22 | 22 | ), |
23 | 23 | "YDL_RECODE_VIDEO_FORMAT": config("YDL_RECODE_VIDEO_FORMAT", default=None), |
| 24 | + "YDL_MERGE_OUTPUT_FORMAT": config("YDL_MERGE_OUTPUT_FORMAT", default=None), |
24 | 25 | "YDL_OUTPUT_TEMPLATE": config( |
25 | 26 | "YDL_OUTPUT_TEMPLATE", |
26 | 27 | cast=str, |
27 | 28 | default="/youtube-dl/%(title).200s [%(id)s].%(ext)s", |
28 | 29 | ), |
| 30 | + "YDL_NO_PLAYLIST": config("YDL_NO_PLAYLIST", cast=bool, default=True), |
29 | 31 | "YDL_ARCHIVE_FILE": config("YDL_ARCHIVE_FILE", default=None), |
| 32 | + "YDL_COOKIES_FILE": config("YDL_COOKIES_FILE", default=None), |
| 33 | + "YDL_COOKIES_BROWSER": config("YDL_COOKIES_BROWSER", default=None), |
30 | 34 | "YDL_UPDATE_TIME": config("YDL_UPDATE_TIME", cast=bool, default=True), |
31 | 35 | "YDL_IGNORE_ERRORS": config("YDL_IGNORE_ERRORS", default=True), |
32 | 36 | "YDL_RESTRICT_FILENAMES": config("YDL_RESTRICT_FILENAMES", cast=bool, default=False), |
|
35 | 39 | "YDL_THUMBNAIL_FORMAT": config("YDL_THUMBNAIL_FORMAT", default=None), |
36 | 40 | "YDL_WRITE_SUBTITLES": config("YDL_WRITE_SUBTITLES", cast=bool, default=False), |
37 | 41 | "YDL_SUBTITLES_FORMAT": config("YDL_SUBTITLES_FORMAT", default=None), |
| 42 | + "YDL_CONVERT_SUBTITLES": config("YDL_CONVERT_SUBTITLES", default=None), |
38 | 43 | "YDL_SUBTITLES_LANGS": config("YDL_SUBTITLES_LANGS", cast=str, default="all"), |
39 | 44 | "YDL_EMBED_METADATA": config("YDL_EMBED_METADATA", cast=bool, default=False), |
40 | 45 | } |
@@ -148,22 +153,38 @@ def get_ydl_options(request_options): |
148 | 153 | postprocessors.append( |
149 | 154 | { |
150 | 155 | "key": "FFmpegEmbedSubtitle", |
151 | | - 'already_have_subtitle': False, |
| 156 | + "already_have_subtitle": False, |
| 157 | + } |
| 158 | + ) |
| 159 | + |
| 160 | + if ydl_vars["YDL_CONVERT_SUBTITLES"]: |
| 161 | + postprocessors.append( |
| 162 | + { |
| 163 | + "key": "FFmpegSubtitlesConvertor", |
| 164 | + "format": ydl_vars["YDL_CONVERT_SUBTITLES"], |
| 165 | + "when": "post_process", |
152 | 166 | } |
153 | 167 | ) |
154 | 168 |
|
155 | 169 | if ydl_vars["YDL_EMBED_METADATA"] == True: |
156 | 170 | postprocessors.append( |
157 | 171 | { |
158 | 172 | "key": "FFmpegMetadata", |
| 173 | + "add_infojson": "if_exists", |
| 174 | + "add_metadata": True, |
| 175 | + "add_chapters": True, |
159 | 176 | } |
160 | 177 | ) |
161 | 178 |
|
162 | 179 | return { |
163 | 180 | "format": ydl_vars["YDL_FORMAT"], |
| 181 | + "merge_output_format": ydl_vars["YDL_MERGE_OUTPUT_FORMAT"], |
164 | 182 | "postprocessors": postprocessors, |
165 | 183 | "outtmpl": ydl_vars["YDL_OUTPUT_TEMPLATE"], |
| 184 | + "noplaylist": ydl_vars["YDL_NO_PLAYLIST"], |
166 | 185 | "download_archive": ydl_vars["YDL_ARCHIVE_FILE"], |
| 186 | + "cookiefile": ydl_vars["YDL_COOKIES_FILE"], |
| 187 | + "cookiesfrombrowser": ydl_vars["YDL_COOKIES_BROWSER"], |
167 | 188 | "updatetime": ydl_vars["YDL_UPDATE_TIME"] == "True", |
168 | 189 | "ignoreerrors": ydl_vars["YDL_IGNORE_ERRORS"], |
169 | 190 | "restrictfilenames": ydl_vars["YDL_RESTRICT_FILENAMES"], |
|
0 commit comments