У меня есть следующее сообщение об ошибке с youtube-dl
:
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
Это не действительно проблема , но на самом деле ожидаемое поведение для youtube-dl
.
По умолчанию текущая версия youtube-dl
загрузит аудио высшего качества и доступные видеопотоки высшего качества и затем присоединится к этим потокам в совместимый контейнер. Текущим выбором контейнера является mkv, mp4, ogg, webm, flv. (Я отмечаю, что avi также поддерживается через --recode-video
опция.)
, Если эти 'лучшие' потоки являются кодеками, которые не устраивают в mp4 контейнере, например, youtube-dl
, упакует их в mkv контейнер и выдаст предупреждение, которое Вы видели. Обратите внимание, vlc, SMPlayer и друзья воспроизведут получающийся mkv файл без проблем о хорошо настроенной системе Ubuntu...
, Если однако Вы действительно стремитесь получить видео высшего качества и аудио видео высшего качества, но только в mp4 контейнере (таким образом обход предупреждения mkv и последующего вывода контейнера Matrosk от youtube-dl
) можно использовать что-то как следующее:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' URL
, Очевидно, заменение 'URL' оценивает за адрес видео YouTube, которое Вы хотите загрузить. Такая относительно сложная командная строка может быть помещена постоянно в конфигурационном файле ~/.config/youtube-dl/config
следующим образом:
-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]'
С вышеупомянутой строкой, помещенной в файл конфигурации youtube-dl, настройки станут значение по умолчанию для youtube-dl
и не должными быть даваться на командной строке каждый раз. (Легко обойденный в случае необходимости путем передачи --ignore-config
опция на командной строке).
Многие, многие изменения этой командной строки возможны...
Ссылки:
Выберите формат:
youtube-dl -f mp4 URL
youtube-dl -f webm URL
youtube-dl -F URL //for available formats