İndirdim youtube-dl
ve video indirme işlemi tamamlandı, ancak videoyu aradığımda bulamıyorum.
Biri yardım edebilir mi?
İndirdim youtube-dl
ve video indirme işlemi tamamlandı, ancak videoyu aradığımda bulamıyorum.
Biri yardım edebilir mi?
Yanıtlar:
Burada gerçekten iki soru var:
1. youtube-dl neden Dash'de yer almıyor?
Bunun nedeni youtube-dl
sadece bir Terminal penceresinden çalıştırılması ve simgeler, masaüstü dosyaları ve benzerleri ile gelmemesi. Herhangi bir Terminal penceresinden aşağıdaki gibi çalıştırılır:
youtube-dl [options] url [url...]
Komut satırı seçeneklerinin ayrıntıları aşağıdaki komut çalıştırılarak kolayca görülebilir:
youtube-dl -h
youtube-dl
İstediğiniz gibi çalışmak için biraz deneyin .
2. Youtube-dl YouTube dosyalarını nereden indirir?
Varsayılan olarak youtube-dl
, açtığınız Terminal'in geçerli çalışma dizinindeki dosyaları indirir . Genellikle bu sizin $HOME
ortamınızdır, ancak her zaman değil. Bu davranış iki yoldan biriyle değiştirilebilir:
İle -o seçeneğini kullanın youtube-dl
için elle indirilen dosyalar için bir konum vermek:
youtube-dl -o "~/Desktop/%(title)s.%(ext)s" 'youtube file url'
ve tabii ki yerine sizin 'youtube dosya url' gerçek url. Bu örnek, tamamlanan indirmeyi Masaüstünüze gönderir.
Aşağıdaki gibi bir yapılandırma dosyası oluşturun youtube-dl
:
touch ~/.config/youtube-dl.conf
Ardından bu dosyada varsayılan bir indirme konumu ayarlayın :
--output "~/Desktop/%(title)s.%(ext)s"
Bu durumda, indirilen tüm dosyalar otomatik olarak Masaüstünüze gider.
Referanslar:
sh: 1: Syntax error: "(" unexpected
Varsayılan olarak youtube-dl, komutu çalıştırdığınız yerden aynı dizindeki dosyaları indirir. Çoğunlukla ana dizininizdir. İsminiz Tom ise, / home / Tom'dur. Başka bir yere indirmeye zorlamak için -o seçeneğini kullanmalısınız; ve video kalitesini seçmek için -f seçeneği vardır. Ancak dosya çeşitliliğini nasıl bilebilirsiniz? Bu, -F seçeneği ile elde edilir. Yani tüm bunları bir kabuk betiğinde birleştirin, yürütülebilir yapın ve bir bin dizinine koyun. Ve hayat kolaylaşır.
Kendi kullanımım için bir senaryo yazdım. İyi çalışıyor. İndirilen tüm dosyaların nereye gittiğini düşünmenize gerek yok. YT videolarını indirmek için ~ / Videos dizinini seçtim; başka birini seçebilirsiniz. Ayrıca 'Tom'u adınızla değiştirin. İşte senaryo:
#!/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
Eğer böyle koşarsan youtube-dl
:
youtube-dl -o "/home/vasa1/Downloads/%(title)s" http://www.youtube.com/watch?v=rnvK2TIhYns
Videonun içinde olması gerekir /home/vasa1/Downloads
. Tabii ki kullanıcı adınızı yerine koymanız gerekiyor vasa1
.
varsayılan olarak youtube-dl indirilen dosyalarınıza erişmek için ana dizininizdeki dosyaları indirir. Lütfen terminali açın ve dizini ana dizininize değiştirin.
Ubuntu 14 resmi kurulum prosedürünün düzeltilmesi
Buradan dizin oluşturun:
sudo mkdir /opt/youtube-dl
Youtube-dl dosyasını kurulum yerinden taşıyın:
sudo mv /usr/local/bin/youtube-dl /opt/youtube-dl
Symlink yap:
pushd /usr/local/bin/ && sudo ln -s /opt/youtube-dl/youtube-dl
Test bağlantısı:
ls -la youtube-dl
lrwxrwxrwx 1 root root 26 Oct 16 20:41 youtube-dl -> /opt/youtube-dl/youtube-dl
popd
Test dosyası:
ls -la /opt/youtube-dl/youtube-dl
-rwxrwxrwx 1 root root 639567 Oct 15 12:42 /opt/youtube-dl/youtube-dl
Düzeltme izinleri:
sudo chmod 755 /opt/youtube-dl/youtube-dl
Eski önbelleği kaldır:
sudo rm -r /home/<user>/.cache/youtube-dl/
e'voila! önünde bir sudo gerek kalmadan youtube-dl
youtube-dl
Python betiğinde çalıştırmak istiyorsanız -o
, hiçbir etkisi olmayacak şekilde kullanın .
Bunun yerine outtmpl
anahtar kelime kullanmanız gerekir , örneğin:
youtube_dl.YoutubeDL( params={'-c': '', '--no-mtime': '', 'outtmpl': './%(uploader)s/%(title)s-%(upload_date)s-%(id)s.%(ext)s'} ).download([url])