unreal666
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору www_world нужные ключи я уже указал. Мне нужны инфа, как эти ключи применить/использовать напрямую в python-скрипте, потому что я хочу использовать именно через python-скрипт, а не exe-файл. Сейчас у меня опции для передачи в класс YoutubeDL такие: Код: { # 'playliststart': 1, # 'playlistend': 5, # 'playlistreverse': True, # 'format': '(mp4)[width<1300]', 'format': 'bv[ext=mp4][width<1300][height<1300]+ba[ext=m4a]', # -f "(mp4)[width<1300]" # 'format': '-', # -f "(mp4)[width<1300]" 'writeinfojson': True, 'http_headers': { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:70.0) Gecko/20100101 Firefox/71.0', 'Accept-Language': 'ru-RU,en;q=0.9,ru;q=0.8', 'Cookie': 'PREF=hl=ru&f1=60000000',}, 'progress_with_newline': True, 'ignoreerrors': True, 'writethumbnail': True, 'writeautomaticsub': True, 'ffmpeg_location': r'D:\Programs\Coding\Video\ffmpeg\bin', # --ffmpeg-location "D:\Programs\Coding\Video\ffmpeg\bin" 'merge_output_format': 'mp4', # --merge-output-format mp4 'noplaylist': True, # --no-playlist 'nocheckcertificate': True, # --no-check-certificate 'allow_playlist_files': False, # --no-write-playlist-metafiles 'compat_opts': {'filename-sanitization', 'no-youtube-unavailable-videos'}, # --compat-options no-youtube-unavailable-videos --compat-options filename-sanitization 'extractor_args': {'youtube': {'lang': ['ru', 'en']}}, # --extractor-args youtube:lang=ru 'outtmpl': {'default': os.path.join(DEST_DIR, '%(title)s.%(ext)s')}, # 'no_warnings': True, 'logger': MyLogger(), # 'quiet': True, # 'skip_download': True, # Пропустить загрузку видео файлов # 'postprocessors': [{'key': 'FFmpegMetadata', 'add_chapters': True, 'add_metadata': True, 'add_infojson': 'if_exists',}], # --embed-metadata } | пока закоммеченная последняя строка - это и есть внедрение метаданных в видеофайл. Теперь надо разобраться с Код: --parse-metadata ":(?P<meta_synopsis>)" --parse-metadata ":(?P<meta_description>)" --parse-metadata "%(uploader|)s:%(meta_artist)s" | Возможно придется делать через добавление обработчика как в примере в справке: Код: class MyCustomPP(yt_dlp.postprocessor.PostProcessor): def run(self, info): self.to_screen('Doing stuff') return [], info with yt_dlp.YoutubeDL() as ydl: # "when" can take any value in yt_dlp.utils.POSTPROCESS_WHEN ydl.add_post_processor(MyCustomPP(), when='pre_process') ydl.download(URLS) |
| Всего записей: 6671 | Зарегистр. 14-02-2005 | Отправлено: 18:46 15-06-2024 | Исправлено: unreal666, 18:52 15-06-2024 |
|