Я загрузил youtube-dl
и загрузка видео завершена, но когда я ищу видео, я не могу найти его.
Кто-нибудь может помочь?
Я загрузил youtube-dl
и загрузка видео завершена, но когда я ищу видео, я не могу найти его.
Кто-нибудь может помочь?
Ответы:
Здесь действительно два вопроса:
1. Почему youtube-dl не работает в Dash?
Это связано с тем, что youtube-dl
он запускается только из окна терминала и не содержит значков, файлов рабочего стола и тому подобного. Он просто запускается из любого окна терминала следующим образом:
youtube-dl [options] url [url...]
Детали параметров командной строки можно легко увидеть, выполнив следующую команду:
youtube-dl -h
Немного поэкспериментируйте, чтобы youtube-dl
работать так, как вы хотите.
2. Где Youtube-dl загружает файлы YouTube?
По умолчанию youtube-dl
файлы загружаются в текущий рабочий каталог Терминала, который вы открыли. Обычно это ваша $HOME
среда, но не всегда. Это поведение можно изменить одним из двух способов:
Используйте параметр -o с, youtube-dl
чтобы вручную указать местоположение для загружаемых файлов:
youtube-dl -o "~/Desktop/%(title)s.%(ext)s" 'youtube file url'
и, конечно, замените ваш фактический URL-адрес на «URL-адрес файла YouTube». В этом примере отправка завершенной загрузки на рабочий стол.
Создайте файл конфигурации для youtube-dl
следующего:
touch ~/.config/youtube-dl.conf
Затем установите местоположение загрузки по умолчанию в этом файле:
--output "~/Desktop/%(title)s.%(ext)s"
При этом все загруженные файлы будут автоматически отправляться на ваш рабочий стол.
Ссылки:
sh: 1: Syntax error: "(" unexpected
По умолчанию youtube-dl загружает файлы в том же каталоге, откуда вы запускаете команду. В основном это ваш домашний каталог. Если вас зовут Том, то это / home / Tom. Для принудительной загрузки в другое место вы должны использовать опцию -o; и для выбора качества видео есть опция -f. Но как вы узнаете разнообразие качества файлов. Это достигается с помощью опции -F. Поэтому объедините все это в один сценарий оболочки, сделайте его исполняемым и поместите его в каталог bin. И жизнь становится спокойной.
Я написал один сценарий для собственного использования. Работает нормально. Вам не нужно беспокоиться о том, куда идут все эти загруженные файлы. Я выбрал ~ / Videos каталог для загрузки YT видео; Вы можете выбрать любой другой. Также замените «Том» своим именем. Вот сценарий:
#!/bin/sh
answer=""
tput clear
tput cup 05 10
echo "Give the YouTube URL: \c"
# Here you paste the YT-video-URL by ctrl+shift+V
read answer
# The follwing command will display a list of video quality options to choose from
youtube-dl -F $answer
echo
# Here you give the number shown in first column as per your choice
echo "Select Quality (Choose a number): \c"
read qual
# If you don't want to download and quit the shell, give 99
if [ $qual -ne 99 ]
then
youtube-dl -f $qual -o "/home/Tom/Videos/%(title)s.%(ext)s" $answer
else
exit 0
fi
Если вы бежите youtube-dl
так:
youtube-dl -o "/home/vasa1/Downloads/%(title)s" http://www.youtube.com/watch?v=rnvK2TIhYns
Видео должно быть в /home/vasa1/Downloads
. Конечно, вы должны поставить свое имя пользователя вместо vasa1
.
по умолчанию youtube-dl загружает свои файлы в ваш домашний каталог, чтобы получить доступ к загруженному файлу. Откройте терминал, измените каталог на пользователя вашего домашнего каталога: ~ $ cd / home / user Примечание: user - ваше имя пользователя
Ubuntu 14 исправление официальной процедуры установки
Создайте каталог здесь:
sudo mkdir /opt/youtube-dl
Переместите youtube-dl с места установки:
sudo mv /usr/local/bin/youtube-dl /opt/youtube-dl
Сделайте символическую ссылку:
pushd /usr/local/bin/ && sudo ln -s /opt/youtube-dl/youtube-dl
Тестовая символическая ссылка:
ls -la youtube-dl
lrwxrwxrwx 1 root root 26 Oct 16 20:41 youtube-dl -> /opt/youtube-dl/youtube-dl
popd
Тестовый файл:
ls -la /opt/youtube-dl/youtube-dl
-rwxrwxrwx 1 root root 639567 Oct 15 12:42 /opt/youtube-dl/youtube-dl
Исправить разрешения:
sudo chmod 755 /opt/youtube-dl/youtube-dl
Удалить старый кеш:
sudo rm -r /home/<user>/.cache/youtube-dl/
e'voila! YouTube-DL без необходимости sudo перед ним
Если вы хотите запустить youtube-dl
скрипт на python, просто использование не -o
даст никакого эффекта.
Вместо этого вам нужно использовать outtmpl
ключевое слово, например:
youtube_dl.YoutubeDL( params={'-c': '', '--no-mtime': '', 'outtmpl': './%(uploader)s/%(title)s-%(upload_date)s-%(id)s.%(ext)s'} ).download([url])