diff --git a/downloader.py b/downloader.py index 199aacd..83481cc 100644 --- a/downloader.py +++ b/downloader.py @@ -253,13 +253,14 @@ class DownloadManager: finished_once[0] = True self._set(dl_id, state="processing", progress=100) - ffmpeg_out = ["-metadata", f"title={mkv_title}"] + title_meta = ["-metadata", f"title={mkv_title}"] ydl_opts = { "outtmpl": f"{out_dir}/%(title)s.%(ext)s", "format": "bestvideo[vcodec^=avc1]+bestaudio/bestvideo+bestaudio/best", "merge_output_format": "mkv", - "postprocessor_args": {"ffmpeg_o": ffmpeg_out}, + # "merger+ffmpeg_o" sets title during video+audio merge + "postprocessor_args": {"merger+ffmpeg_o": title_meta}, "progress_hooks": [hook], "quiet": True, "no_warnings": True, @@ -270,8 +271,10 @@ class DownloadManager: "subtitleslangs": ["fr"], "embedsubtitles": True, }) - # Append disposition after title metadata - ffmpeg_out += ["-disposition:s:0", "default"] + # "embedsubtitle+ffmpeg_o" sets title + default disposition during subtitle embed + ydl_opts["postprocessor_args"]["embedsubtitle+ffmpeg_o"] = ( + title_meta + ["-disposition:s:0", "default"] + ) try: with yt_dlp.YoutubeDL(ydl_opts) as ydl: