Кнопка_Скрипт - Скачать видео при помощи youtube-dl

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

cojoc
Сообщения: 144
Зарегистрирован: Пт сен 04, 2009 16:53

Сообщение cojoc »

Понял, да, соответствует, Вы правы! Получается хороший вариант с "bestvideo[height<=?1080]+bestaudio/best"
Только я тогда не понял где он ищет ffmpeg и avconv.
В системе ищет? Наверное у меня установлен, раз качает не best.

Добавлено спустя 3 минуты:
Аудио там по сути ни о чём. Но при указании bestvideo+bestaudio программа подразумевает mux из двух скачанных файлов с помощью утилит.
У меня ничего не муксит, хотя я установил себе и такой вариант.

Добавлено спустя 2 минуты:

Может всё-таки он не ищет ffmpeg пока ему не укажешь путь?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Я думаю, это конкретная проблема данного контейнера, вероятно не удаётся синхронизировать пустое аудио. Указание пути ситуацию не изменит. Если нужные файлы имеются в system32 или рядом с программой, то, полагаю, указывать путь через --ffmpeg-location вряд ли требуется.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
cojoc
Сообщения: 144
Зарегистрирован: Пт сен 04, 2009 16:53

Сообщение cojoc »

Я использовал bestvideo+bestaudio и на HD видео с нормальным звуком - дело не в звуке и мукса не производилось. Что-то тут не то с использованием ffmpeg и avconv их поиском и условием /best
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

[cut="Ладно, ещё раз дословно."]
Оригинал писал(а):You can merge the video and audio of two formats into a single file using -f <video-format>+<audio-format> (requires ffmpeg or avconv installed), for example -f bestvideo+bestaudio will download best video only format, best audio only format and mux them together with ffmpeg/avconv.

Since the end of April 2015 and version 2015.04.26 youtube-dl uses -f bestvideo+bestaudio/best as default format selection. If ffmpeg or avconv are installed this results in downloading bestvideo and bestaudio separately and muxing them together into a single file giving the best overall quality available. Otherwise it falls back to best and results in downloading the best available quality served as a single file. best is also needed for videos that don't come from YouTube because they don't provide the audio and video in two different files. If you want to only download some DASH formats (for example if you are not interested in getting videos with a resolution higher than 1080p), you can add -f bestvideo[height<=?1080]+bestaudio/best to your configuration file. Note that if you use youtube-dl to stream to stdout (and most likely to pipe it to your media player then), i.e. you explicitly specify output template as -o -, youtube-dl still uses -f best format selection in order to start content delivery immediately to your player and not to wait until bestvideo and bestaudio are downloaded and muxed.

If you want to preserve the old format selection behavior (prior to youtube-dl 2015.04.26), i.e. you want to download the best available quality media served as a single file, you should explicitly specify your choice with -f best. You may want to add it to the configuration file in order not to type it every time you run youtube-dl.
Перевод писал(а):Вы можете объединить видео и аудио из двух форматов в один файл при помощи -f <video-format>+<audio-format> (требуется установленная ffmpeg или avconv). Например, -f bestvideo+bestaudio позволит загрузить лучшее видео одного формата и лучшее аудио другого формата, собрав их воедино с помощью ffmpeg/avconv.

Начиная с конца апреля 2015 года и версии 2015.04.26 youtube-dl использует по умолчанию формат -f bestvideo+bestaudio/best. При установленных ffmpeg или avconv будут загружаться отдельно bestvideo и bestaudio с последующим мультиплексированием их в единый файл для получения лучшего доступного качества. В противном случае произойдёт обращение к формату best, приводящему к загрузке наилучшего по качеству единого файла. Режим best необходим также для видео с YouTube, не поддерживающих разделение потока на аудио и видео. Если вы хотите скачать только некоторые комбинации форматов (например, если вы не заинтересованы в получении видео с разрешением свыше 1080p), вы можете добавить bestvideo[height<=?1080]+bestaudio/best в файл конфигурации. Обратите внимание, что в случае получения программой выходного потока stdout (с вероятной передачей в медиа-проигрыватель), т.е. с явным указанием шаблона вывода через -o-, youtube-dl по-прежнему будет использовать формат -f best для того, чтобы сразу начать доставку контента в плеер без ожидания загрузки и мультиплексирования bestvideo и bestaudio.

Если вы хотите оставить прежнее поведение в выборе формата (до youtube-dl 2015.04.26), т.е. скачивать наилучший по качеству объединённый медиаконтент, то должны сделать выбор с явным указанием формата -f best. При желании вы можете добавить его в файл конфигурации, дабы не вводить его каждый раз при вызове youtube-dl.
[/cut]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
ADv
Сообщения: 47
Зарегистрирован: Чт мар 03, 2005 13:14
Откуда: Украина

Сообщение ADv »

Прошу прощения за некропостинг, но может кто сможет помочь

Есть кнопка из примера выше

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\util\AskParam\AskParam.exe
/c"Скачать с Youtube"  /t"http://www.youtube.com/watch?v=" /p"Скачать по ссылке..." /t"bestvideo" /t"bestaudio" /t"bestvideo+bestaudio" /t"flv" /t"mp4" /t"webm" /u"best" /t"normal: 18" /t"worst" /c(1)"Скачать" /c(2)"Отмена" /p(h)"Выбор формата и качества" /s"2" "%"%%COMMANDER_PATH%%\util\youtube-dl\youtube-dl.exe" --sub-lang en,ru-Hant --mark-watched -f %%2 %%1
%COMMANDER_PATH%\icons\advokatb_icons\youtube_new.ico
Скачать с Youtube с выбором качества


-1
Как в нее добавить формат наименования итогового файла?
Хочу получать видео с таким наименованием файла

Код: Выделить всё

%(title)s [%(id)s].%(ext)s
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

ADv писал(а):Прошу прощения за некропостинг
Почему же некро? Другое дело, что вопрос касается скорее AskParam, нежели youtube-dl.

Код: Выделить всё

-o "%%%%(title)s [%%%%(id)s].%%%%(ext)s"
"%"%%COMMANDER_PATH%%\util\
Это что такое?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
ADv
Сообщения: 47
Зарегистрирован: Чт мар 03, 2005 13:14
Откуда: Украина

Сообщение ADv »

Flasher писал(а):Это что такое?
Взято отсюда, не знаю для чего применимо, но код кнопки по ссылке работает у меня уже более трех лет.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Понятно. Можно смело избавляться от артефакта.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
максим Оборин
Сообщения: 1
Зарегистрирован: Вт окт 06, 2026 13:27

Сообщение максим Оборин »

Тема старая, но кнопка до сих пор рабочая, если поменять одно слово. youtube-dl последние годы почти не обновляется, многие сайты через него уже не качаются. Его форк yt-dlp живой, обновляется каждые несколько недель, ключи те же. Rutube, VK Видео и Дзен в списке поддерживаемых есть.

В кнопках из первых постов достаточно заменить youtube-dl.exe на yt-dlp.exe, остальное не трогать. Пример для варианта с буфером:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe exec hide "%COMMANDER_PATH%\Utils\yt-dlp.exe" --sub-lang en,ru ~$clipboard$
ieframe.dll,46
Скачать видео по ссылке из буфера в лучшем качестве
Две оговорки. Для склейки bestvideo+bestaudio рядом с yt-dlp.exe нужен ffmpeg.exe, иначе файл придёт без звука или в худшем качестве. И после долгого простоя сначала запустить yt-dlp.exe -U, старые версии на Rutube часто не работают.

Если качать нужно раз в месяц и ставить консольную утилиту лень, проще онлайн. Для Rutube пользуюсь rutlink.ru, вставляешь ссылку на ролик, выбираешь качество, получаешь MP4. Длинные ролики там скачиваются медленно, зато ничего ставить не надо.
Ответить