Соответствующие опции вам нужны:
# Filesystem
--write-annotations
--write-description
--write-info-json
# Thumbnail images
--write-all-thumbnails
# Video format
--format bestvideo+bestaudio/best
--merge-output-format mkv
# Subtitle
--all-subs
--write-auto-sub
--write-sub
# Post-processing
--add-metadata
--embed-subs
Скопируйте это в ваш конфигурационный файл (либо, /etc/youtube-dl.conf
либо ~/.config/youtube-dl/config
).
Используя эту конфигурацию, я скачал это видео и youtube-dl
написал следующие файлы:
$ ls
The Problem with Time & Timezones - Computerphile.annotations.xml
The Problem with Time & Timezones - Computerphile.description
The Problem with Time & Timezones - Computerphile.info.json
The Problem with Time & Timezones - Computerphile.jpg
The Problem with Time & Timezones - Computerphile.mkv
Я не могу опубликовать mediainfo
вывод здесь, потому что он превышает ограничение количества символов, но вы можете увидеть его в github .
Я также хочу скачать видео / аудио в максимально возможном качестве без потери качества.
youtube-dl
загружает видео с максимально возможным качеством по умолчанию, но вы можете использовать это поведение, используя --format bestvideo+bestaudio/best
.
Несмотря на то, что это не YouTube, я также хотел скачать некоторые из моих курсов удем, которые я купил, чтобы я мог смотреть их, пока я нахожусь в длительной поездке.
Пожалуйста, прочитайте статью. Могу ли я скачать курс на свой компьютер? :
По умолчанию полные курсы нельзя загрузить с компьютера. Мы делаем это из соображений пиратства.
Обратите внимание, что вы всегда можете сохранить курсы для просмотра в автономном режиме в мобильном приложении Udemy . Для получения информации о том, как загрузить видео лекции на мобильное устройство iOS, пожалуйста, нажмите здесь . Чтобы узнать, как загрузить видео для просмотра в автономном режиме на устройстве Android, нажмите здесь .
Я ffmpeg
установил, и я слышал, что это нужно для загрузки без потерь с YouTube, но я не уверен, как с этим связать youtube-dl
.
youtube-dl
использует avconv
по умолчанию, но --prefer-ffmpeg
позволяет использовать ffmpeg
вместо этого. В любом случае, эта опция не нужна для " загрузки без потерь ". В приведенном мной примере youtube-dl
используется только ffmpeg
для объединения всех загруженных форматов в один файл MKV.
youtube-dl
?youtube-dl [youtube-link]
?youtube-dl
не смог бы загрузить определенные видео, если бы не было--youtube-skip-dash-manifest
опции. Только что отредактировал этот вариант, спасибо, что сказали мне.Чтобы просто скачать видео, вы можете использовать это:
Чтобы выбрать качество видео, вы должны сначала использовать опцию -F для просмотра списка доступных форматов.
И это вывод для вашего видео:
Вот несколько полезных опций для субтитров:
И для миниатюр:
Вы также можете найти больше информации о качестве видео здесь
источник
youtube-dl
по умолчанию использует лучшие доступные видео и аудио форматы. Если вы хотите переопределить другой параметр в файле конфигурации, вы можете использовать его-f bestvideo+bestaudio/best
(который совпадает со значением по умолчанию) или игнорировать файл конфигурации (--ignore-config
).youtube-dl https://www.youtube.com/watch?v=KYBok-XGsKM
@leetbacoon увидеть комментарий комментарий в самом низу. (низкая репутация все еще плачу)
Примечание: я буду использовать более длинные имена переключателей, чтобы избежать путаницы. Многие из используемых переключателей имеют более короткие версии. См. Документы: Опции .
Примечание: - для наглядности
\
используется для отображения переключателей отдельно; все\
можно опустить; при использовании\
убедитесь, что после него нет пробела\
.Сводка: команда ytdl для загрузки одного видеофайла с самым высоким качеством видео и аудио. Сохраняет видео в свой собственный каталог (указанный вами). Загружает все доступные метаданные, записывает каждый в соответствующие форматы файлов и сохраняет в том же каталоге. Добавляет метаданные видео в файл вывода видео.
Замените своим:
/archive/videos/TED_Archive/
в коммутаторах--download-archive
и--output
на путь каталога по вашему выбору.====
Примечание: приложите все аргументы
' '
для анализа безопасности.Объяснение рекомендуемых переключателей:
--limit-rate '0.25M'
используется для ограничения доступной максимальной скорости загрузки каждого экземпляра youtube-dl в б / с (байт в секунду).Аргументы: любое положительное целое число с суффиксом с заглавной буквы.
Суффиксы юнитов: K для килобайт; М для мегабайта; Неясно, поддерживается ли Gigabyte.
Дополнение:
1. Избегайте блокировки интернет-соединения.
2. полезно при управлении скоростью загрузки нескольких параллельных экземпляров ytdl.
Пропуск:
1. Засоряет интернет; невозможно просматривать, запаздывание воспроизведения видео YouTube.
2. загрузит видео как можно быстрее.
Примечание: вы можете запускать несколько экземпляров youtube-dl одновременно.
--retries '5'
используется для автоматической повторной загрузки видео в случае сбоя. Полезно при загрузке списка воспроизведения или всего канала (который, с точки зрения Youtube, также является списком воспроизведения (данного канала)).Значения: выберите любое положительное целое число. По умолчанию это
10
. Макс естьinfinite
(введите как буквальную строку).--continue
Аргументы: нет.
Добавление:
1. принудительно возобновит загрузку частичных файлов.
Примечание: ytdl загружает видео порциями; чанки сохраняются, если ytdl неожиданно завершает работу во время загрузки.
Пропуск:
1. По умолчанию ytdl возобновит загрузку, если это возможно.
--no-overwrites
Аргументы: ни одно
дополнение: будет не перезаписывать существующие файлы метаданных с одинаковыми именами.
Ommission: перезапишет существующие файлы метаданных с такими же именами, но не видеофайл.
--call-home
используется для связи с сервером ytdl для отладки.--write-info-json
Аргументы: нет
Формат вывода: json;
Информационное содержимое: количество просмотров, лайки, дата загрузки, информация о качестве видео и аудио и т. Д. (Но не текстовое описание видео (размещено под видео пользователем, добавившим видео (макет YouTube 2018)))
Добавление: записывает метаданные видео в отдельный
.info.json
файл. Сохранено в той же папке, что и видеофайл.Пропуск: не влияет на то,
--add-metadata
кто все еще будет записывать метаданные видео в файл вывода видео.--write-description
Аргументы: нет
Формат вывода: простой текст;
Дополнение: записывает текст, размещенный загрузчиком видео в разделе описания видео (под видео (макет YouTube 2018)) в отдельный
Write .description
файл. Сохранено в той же папке, что и видеофайл.--write-thumbnail
записываетmaxresdefault.jpg
в.jpg
файл доступное миниатюру с самым высоким разрешением ( вызывается YouTube) . Переименован в соответствии с шаблоном, указанным с--output
. Сохранено в том же каталоге, что и видеофайл.Аргументы: нет
Формат вывода: только JPEG;
Примечание. Используйте
youtube-dl --list-thumbnails '<video_url>'
для изучения доступных миниатюр определенного видео (не работает со ссылками на плейлист); Напр .:youtube-dl --list-thumbnails 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--write-annotations
записывает видео аннотации в.annotations.xml
файл. Переименован в соответствии с шаблоном, указанным с--output
. Сохранено в том же каталоге, что и видеофайл.Аргументы: нет
Формат вывода: .xml;
--all-subs
записывает все пользовательские созданы доступные субтитры для видео их соответствующих файлов (напр .:subtitles.en.vtt
,subtitles.fr.vtt
,subtitles.es.vtt
)Аргументы: ни один
выход Формат: по умолчанию
.vtt
; Можно указать другие форматы с помощью--sub-format
сообщений об ошибках: если субтитры не доступны, в стандартный вывод выводится сообщение ПРЕДУПРЕЖДЕНИЕ:
WARNING: video doesn't have subtitles
Полезная команда:
Примечание. Используйте
youtube-dl --list-subs '<video_url>'
для изучения доступных миниатюр определенного видео (не работает со ссылками на плейлист);Напр .:
youtube-dl --list-subs 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--convert-subs 'srt'
Аргументы: String: расширение формата ass, srt или best
Формат вывода: по умолчанию .vtt; или согласно спецификации
Дополнение: записывает субтитры в указанный формат файла (например:)
.srt
. Сохранено в той же папке, что и видеофайл.Пропуск: субтитры будут записаны как
.vtt
сообщения об ошибках: если субтитры отсутствуют, сообщение INFO будет напечатано в стандартный формат вывода:
[ffmpeg] There aren't any subtitles to convert
Примечание: преобразование будет выполнено как этап
.vtt
последующей обработки файла после загрузки. Если выполнение ytdl неожиданно прервано, некоторые файлы субтитров могут не быть преобразованы (в этом случае снова выполните команду).--add-metadata
Аргументы: нет
Поведение: записывает метаданные в файл вывода видео.
Примечание: не требует
.info.json
сгенерированного--write-info-json
--embed-subs
Аргументы: нет.
Поведение:
1. записывает субтитры в файл вывода видео;
2. только для MP4, WebM и MKV видео
сообщения об ошибках: Если нет субтитров доступны INFO сообщение будет выведены на стандартный вывод - формат:
[ffmpeg] There aren't any subtitles to embed
Примечание: не требует
.vtt
порождено--write-sub
,--write-auto-sub
или--all-sub
--download-archive '<archive_path>/<channel_name>/<channel_name>.ytdlarchive'
Поведение: используется для создания текстового файла, содержащего ссылки на ранее загруженные видео. Позволяет пропускать эти видео при загрузке всего канала. Не требуется при загрузке только одного видео.
Аргументы: String: составной путь к вашему видеоархиву, каталог с именем канала. Имя файла состоит из имени канала с
.ytdlarchive
расширением файла. (также может быть .txt; но уникальный формат позволяет легко различать)Формат вывода: простой текст; один videoID на строку
Добавление:
1. ytdl читает этот файл, игнорирует и пропускает все видео, перечисленные с их videoID, даже если они еще не загружены.
2. автоматически добавляет videoID последнего загруженного видео в этот файл
Ommission: если видеофайл и файлы метаданных существуют, ytdl загрузит их снова.
--format ''
Аргументы: Рекомендуемая строка:
bestvideo+bestaudio/best
для обеспечения наилучшего качества видео и аудио.Дополнение: полный контроль над качеством видео и звука и их комбинациями, а также запасными качествами.
Пропуск: По умолчанию
youtube-dl will guess it for you by default
- ДокументыПримечание. См. Документы: Примеры выбора формата
--merge-output-format '<video_format>'
Аргументы: формат видео файла. (напр .: mp4, mkv, 3gp и т. д.)
Дополнение: можно указать формат видеофайла.
Пропуск: по умолчанию
youtube-dl will guess it for you by default
- документыПримечание: см. документы: выбор формата
Полезная команда:
Примечание. Используйте
youtube-dl --list-formats '<video_url>'
для изучения доступных видео и аудио качеств и форматов конкретного видео (не работает со ссылками на плейлист);Напр .:
youtube-dl --list-formats 'https://www.youtube.com/watch?v=odwfHu6MDuU'
--output '<template>'
Аргументы:
1. формат видео файла. (напр .: mp4, mkv, 3gp и т. д.);
2. Рекомендуется:
%(upload_date)s_%(id)s_%(title)s.%(ext)s
Дополнение: влияет на соглашение об именах файлов для видеофайлов и всех файлов метаданных.
Пропуск: по умолчанию заголовком видео будет имя файла. Шаблон по умолчанию:
%(id)s.%(ext)s
выдаст пример:testvideo.mkv
Примечание: не забудьте
%
префикс иs
суффикс (существуют и другие суффиксы); Тебе_
между элементами шаблона является просто разделитель и может быть любой другой символ. Пример:%(upload_date)s-%(id)s
Примечание: см. Документы: Шаблон вывода
'<video_url>'
Аргументы: Строка: URL-адрес конкретного видео
Сообщение об ошибке:
1. Если URL-адрес видео не отправлен, ytdl не будет выполняться и отображать справку.
2. Если введен неверный URL-адрес видео, сообщение об ошибке будет напечатано в стандартный вывод:
ERROR: u'' is not a valid URL. Set --default-search "ytsearch" (or run youtube-dl "ytsearch:" ) to search YouTube
Рекомендации по хранению:
создайте
misc
каталог в вашем видеоархиве и сохраните там все отдельные видео.когда вы загружаете одно или несколько видео из канала, создайте специальный каталог для этого канала. В этом случае имя канала будет,
TED Archive
а имя каталога будетTED_Archive
. (Я предварительно заменяю все пробелы символами подчеркивания, чтобы упростить навигацию по каталогам и действия с файлами ввода-вывода при использовании сценариев bash (или python)).Отвечая на ваш комментарий @leetbacoon
Из документов
You can also use a file extension (currently 3gp, aac, flv, m4a, mp3, mp4, ogg, wav, webm are supported) to download the best quality format of a particular file extension served as a single file
best: Select the best quality format represented by a single file with video and audio.
bestvideo: Select the best quality video-only format
Я думаю, что когда вы выбираете просто,
best
и вы указываете выходной формат, YouTube отправляет формат, который он считает лучшим видео + аудио комбо для этого формата. Это может быть предметом некоторых внутренних решений балансировки YouTube (спекуляции).В моем опыте использования мне пришлось специально указать,
bestvideo+bestaudio
чтобы получить наивысшее качество видео и аудио, соответственно, а затем объединить их в контейнере .mkv.Я использую
/best
в качестве запасного аргумента просто чтобы быть уверенным.источник