Ключ постобработки для конвертации видеоформата в Youtube-dl - PullRequest
0 голосов
/ 01 мая 2018

Существует пример постобработки на Youtube-dl вики-странице для извлечения аудио, но я не смог сделать то же самое для конвертации видео формата. Я знаю, что есть варианты выбора формата видео перед загрузкой, но иногда мой нужный формат недоступен, поэтому мне нужно преобразовать загруженный видеофайл. Что такое key и другие параметры для передачи?

    ydl_opts = {
    'format': 'bestvideo[height<=480]+bestaudio/best[height<=480]',
    'videoformat' : "mp4",
    'outtmpl': '%(title)s.%(ext)s',
    'writethumbnail': True,
    'writesubtitles': True,
    'writeautomaticsub': True,
    'subtitleslangs': 'en',
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',    #what to use for video format converting?
        'preferredcodec': 'mp3',        #what to use for video format converting?
        'preferredquality': '192',      #what to use for video format converting?
    }],
    'logger': MyLogger(),
    'progress_hooks': [my_hook],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([video_url])

1 Ответ

0 голосов
/ 01 мая 2018

Доступные постпроцессоры перечислены в postprocessor/__init__.py:

ydl_opts = {
    # ...
    'postprocessors': [{
        'key': 'FFmpegVideoConvertor',
        'preferedformat': 'mp4',  # one of avi, flv, mkv,mp4, ogg, webm
    })
}

(Лучшим названием для этого ключа было бы convert_to, но его изменение теперь без необходимости нарушало бы совместимость.)

...