Ответ 1
Чтобы загрузить все сегменты видео и аудио и объединить их в один файл, вызовите youtube-dl
, таким образом:
youtube-dl -f bestvideo+bestaudio http://URL/TO/manifest.mpd
Опция -f <id1>[,<id2>]...
используется для выбора того, какой поток (или потоки) сегментов нужно сохранить. -f bestvideo+bestaudio
в этом примере заставляет youtube-dl сохранять только лучшие видео- и аудиопотоки. Подробнее см. синтаксис выбора формата для более подробных и расширенных селекторов формата. Чтобы обнаружить доступные потоки, используйте youtube-dl -F http://URL/TO/manifest.mpd
.
Чтобы мультиплексировать (объединить) видео и аудиопотоки в один файл, вы должны иметь FFmpeg или libav, установленный в вашей системе. В противном случае youtube-dl создаст отдельный файл для каждого потока (в моем примере, один для аудио и один для видео).
Без явного выбора формата по умолчанию используется -f bestvideo+bestaudio/best
. Youtube-dl автоматически выбирает наилучшее видео и аудио, а если нет отдельных потоков только для видео или аудио, выбирается лучший поток, содержащий видео и аудио.
youtube-dl http://URL/TO/manifest.mpd
Это значение по умолчанию используется с версии 2015.04.26. До этого (или если указано -o -
, что делает вывод youtube-dl на stdout), по умолчанию было -f best
, игнорируя потоки только для видео и аудио. Вы можете явно указать -f best
, когда отдельные видео и аудио имеют более высокое качество, чем поток, который имеет оба.