Pobrałem plik youtube-dl
wideo i pobieranie zostało zakończone, ale kiedy szukam filmu, nie mogę go znaleźć.
Czy ktoś może pomóc?
Pobrałem plik youtube-dl
wideo i pobieranie zostało zakończone, ale kiedy szukam filmu, nie mogę go znaleźć.
Czy ktoś może pomóc?
Odpowiedzi:
Są tutaj naprawdę dwa pytania:
1. Dlaczego youtube-dl nie występuje w Dash?
Wynika to z faktu, że youtube-dl
jest uruchamiany tylko z okna terminala i nie zawiera ikon, plików na pulpicie itp. Jest po prostu uruchamiany z dowolnego okna terminala w następujący sposób:
youtube-dl [options] url [url...]
Szczegóły opcji wiersza poleceń można łatwo wyświetlić, uruchamiając następujące polecenie:
youtube-dl -h
Poeksperymentuj trochę, aby youtube-dl
pracować tak, jak chcesz.
2. Skąd Youtube-dl pobiera pliki z YouTube?
Domyślnie youtube-dl
pliki zostaną pobrane z bieżącego katalogu roboczego otwartego terminala. Zwykle jest to twoje $HOME
środowisko, ale nie zawsze. To zachowanie można zmodyfikować na dwa sposoby:
Użyj opcji -o z, youtube-dl
aby ręcznie podać lokalizację pobranych plików:
youtube-dl -o "~/Desktop/%(title)s.%(ext)s" 'youtube file url'
i oczywiście zamień swój aktualny adres URL na „URL pliku youtube”. Ten przykład wysyła ukończone pobieranie na pulpit.
Utwórz plik konfiguracyjny dla youtube-dl
:
touch ~/.config/youtube-dl.conf
Następnie ustaw domyślną lokalizację pobierania w tym pliku:
--output "~/Desktop/%(title)s.%(ext)s"
Dzięki temu wszystkie pobrane pliki automatycznie przejdą na pulpit.
Bibliografia:
sh: 1: Syntax error: "(" unexpected
Domyślnie youtube-dl pobiera pliki z tego samego katalogu, z którego uruchomiono polecenie. Przeważnie jest to twój katalog domowy. Jeśli masz na imię Tom, oznacza to / home / Tom. Aby zmusić go do pobrania w innym miejscu, należy użyć opcji -o; i aby wybrać jakość wideo, dostępna jest opcja -f. Ale skąd znasz różnorodność jakości plików. Jest to osiągane przez opcję -F. Połącz to wszystko w jeden skrypt powłoki, spraw, by był wykonywalny i umieść go w katalogu bin. I życie staje się łatwe.
Napisałem jeden skrypt na własny użytek. To działa dobrze. Nie musisz się martwić, dokąd idą wszystkie pobrane pliki. Wybrałem katalog ~ / Videos do pobierania filmów YT; możesz wybrać dowolny inny. Zastąp także „Tom” swoim imieniem i nazwiskiem. Oto skrypt:
#!/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
Jeśli biegniesz w youtube-dl
ten sposób:
youtube-dl -o "/home/vasa1/Downloads/%(title)s" http://www.youtube.com/watch?v=rnvK2TIhYns
Film powinien być włączony /home/vasa1/Downloads
. Oczywiście musisz podać swoją nazwę użytkownika zamiast vasa1
.
domyślnie youtube-dl pobiera pliki z katalogu domowego, aby uzyskać dostęp do pobranego pliku, otwórz terminal zmień katalog na użytkownika katalogu domowego: ~ $ cd / home / user Uwaga: użytkownik to nazwa użytkownika
Ubuntu 14 poprawka oficjalnej procedury instalacji
Utwórz katalog tutaj:
sudo mkdir /opt/youtube-dl
Przenieś youtube-dl z miejsca instalacji:
sudo mv /usr/local/bin/youtube-dl /opt/youtube-dl
Utwórz dowiązanie symboliczne:
pushd /usr/local/bin/ && sudo ln -s /opt/youtube-dl/youtube-dl
Testuj dowiązanie symboliczne:
ls -la youtube-dl
lrwxrwxrwx 1 root root 26 Oct 16 20:41 youtube-dl -> /opt/youtube-dl/youtube-dl
popd
Plik testowy:
ls -la /opt/youtube-dl/youtube-dl
-rwxrwxrwx 1 root root 639567 Oct 15 12:42 /opt/youtube-dl/youtube-dl
Napraw uprawnienia:
sudo chmod 755 /opt/youtube-dl/youtube-dl
Usuń starą pamięć podręczną:
sudo rm -r /home/<user>/.cache/youtube-dl/
e'voila! youtube-dl bez potrzeby korzystania z sudo przed nim
Jeśli chcesz uruchomić youtube-dl
w skrypcie Python, po prostu użyj -o
nie przyniesie efektu.
Zamiast tego musisz użyć outtmpl
słowa kluczowego, np .:
youtube_dl.YoutubeDL( params={'-c': '', '--no-mtime': '', 'outtmpl': './%(uploader)s/%(title)s-%(upload_date)s-%(id)s.%(ext)s'} ).download([url])