
youtube-dl – хитрая вещь. То и дело попадаются ссылки, когда программа говорит, что нашла m3u8, но без ffmpeg не поддерживает этот формат. На самом деле она прекрасно его поддерживает, просто склеить видео не может. Даёшь ей ffmpeg – всё отлично. Но! Если оставить ffmpeg в пределах доступности, то она начинает чудить и калечить им видосы, которые и так прекрасно качаются. Качаешь без ffmpeg – качает MP4 одним писом. Качаешь с ffmpeg – она где-то находит webm кусок, качает и его, склеивает это в MKV, а в итоге видос получается битым и без звука. Хотя казалось бы...
А если на сервисе нет MP4, то всё сломается, да. Пост не об этом.
Не сломается, смотри внимательнее. Сначала пробуем скачать видео и звук отдельно - самое качественное сейчас именно в таком виде. Если не получилось - качаем готовый mp4. Если не получилось - лучшее из доступного.
Как это спасёт меня от ненужных вызовов ffmpeg и битых файлов?
С такими опциями youtube-dl будет в первую очередь качать mp4, а webm только в случае если mp4 никак нельзя скачать.
Хммм...
Или можно чуть поменять порядок
Но YouTube больше 720p целыми файлами уже довольно давно не отдаёт.