Я хочу использовать селектор формата, который является чем-то как -f bestvideo+
best audio whose extension is compatible with the video extension
так, чтобы они не должны были быть мультиплексированы в mkv (WARNING: Requested formats are incompatible for merge and will be merged into mkv.
).
Примечание: Я знаю о -f best
и я не хочу это. Я хочу самые лучшие качества и аудио и видео при обеспечении, что они совместимы. Как сделать это?
Вы можете загрузить лучшие видео и аудио с помощью:
youtube-dl -f bestvideo+bestaudio "link to youtube video"
Если это приведет к ошибке, попробуйте следующее:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "link to youtube video"
Здесь вы загружаете лучшие видео и аудио отдельно, а затем объединить в файл, в данном случае mp4. Вы также можете изменить выходной формат для объединенного видео.
Удачи!
старый вопрос, но сначала ответьте в Google , так:
с определением следующей функции, у меня это сработало (также можно разместить его в ~ / .bashrc
):
youtube-dl_video_and_audio_best_no_mkv_merge () {
video_type=$(youtube-dl -F "$@" | grep "video only" | awk '{print $2}' | tail -n 1)
case $video_type in
mp4)
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' "$@";;
webm)
youtube-dl -f 'bestvideo[ext=webm]+bestaudio[ext=webm]' "$@";;
*)
echo "new best videoformat detected, please check it out! -> aborted";;
esac
}
теперь вы можете скачать с
youtube-dl_video_and_audio_best_no_mkv_merge "https://www.youtube.com/watch?v=*******" "https://https://www.youtube.com/watch?v=********"
источник: собственное создание
Это покажет все доступные форматы для связанного видео.
youtube-dl -F [http_link]
тогда просто выберите форматы и присоединитесь с плюсом.
137 = 2k, 30 кадров в секунду. Например, мне не нужны 60 кадров в секунду, но мне нужен лучший звук.
youtube-dl -f 137+bestaudio --merge-output-format mkv [http_link]
Обратите внимание, что не все форматы объединяются в mp4, поэтому mkv - более безопасный вариант.
Подобно вышеуказанному я использую следующее, чтобы загрузить лучшее видео и лучшее аудио для всех видео в плейлисте
Есть ручной компонент, и вам нужно FFMpeg папку в том же режиссере, как youtube-dl
Первый запуск . \youtube-dl.exe -лист-форматы https://www.youtube.com/watch?v=cTcMtgA6iYt
образец вывода:
Выход .\youtube-dl.exe -лист-форматы https://www.youtube.com/watch?v=cTcMtgA6iYt
Теперь выберите номера форматов, которые вы хотите объединить [137 для видео и 140 для аудио]. Обратите внимание, что | нужно выбрать контейнер того же формата, например, 313 для видео не будет работать со 140, нужен только аудиофайл webm типа 251
и запустить следующий
.\youtube-dl.exe --ffmpeg-локация "D:\FFmpeg\ffmpeg-N-100072-g15555cfedf6-win64-gpl-shared-vulkan\bin\ffmpeg. exe" -формат 137+140 --yes-playlist -i https://www.youtube.com/playlist?list=PLFfX4Mdr5gLs52KWVl3KQNrRpTmLOn
как только он закончит скачивание всех файлов, где было доступно 137, затем снова запустит ту же самую команду, но на этот раз со следующим лучшим кодом вроде 136+140
и то, что я обычно делаю....
в самом конце...я запускаю
.\youtube-dl.exe --ffmpeg-локация "D:\FFmpeg\ffmpeg-N-100072-g1555cfedf6-win64-gpl-shared-vulkan\bin\ffmpeg.exe" - формат 22 --yes-playlist -i https://www.youtube.com/playlist? list=PLFFX4Mdr5gLs52KWVl3ZQNrSoTmLOnQdk
22 - получит все пропущенные видео, его видео и аудио объединенный файл, который вы можете скачать по умолчанию, когда вы опустите переключатель форматирования
Вы выбираете аудио и видео формат, а затем комбинируете с помощью +
EX.
YouTube-DL -F 140 + 137 - PROPET-формат-формат MP4 youtube_Link
, но FFMPEG необходимо