youtube-dl ดาวน์โหลดวิดีโอไปยังที่ไหน?


16

ฉันดาวน์โหลดมาyoutube-dlแล้วและการดาวน์โหลดวิดีโอเสร็จสมบูรณ์ แต่เมื่อฉันค้นหาวิดีโอฉันไม่สามารถค้นหาได้

ใครช่วยได้บ้าง


คุณได้ลองดาวน์โหลดวิดีโอในโฟลเดอร์ "/ home / user / Videos" แล้วฉันคิดว่าคุณสามารถกำหนดค่าขีดกลางให้ลองใช้งานได้ อาจจะไม่ปรากฏใน Dash จนกว่าคุณจะเล่นอีกครั้ง
ลึก

คำตอบ:


31

มีคำถามสองข้อจริงๆที่นี่:

1. เพราะเหตุใด youtube-dl จึงไม่มีคุณสมบัติใน Dash

นี่เป็นเพราะyoutube-dlถูกเรียกใช้จากหน้าต่างเทอร์มินัลเท่านั้นและไม่มีไอคอนไฟล์เดสก์ท็อปและสิ่งอื่นที่คล้ายคลึง มันทำงานเพียงแค่จากหน้าต่าง Terminal ใด ๆ ดังต่อไปนี้:

youtube-dl [options] url [url...]

รายละเอียดของตัวเลือกบรรทัดคำสั่งสามารถมองเห็นได้ง่ายโดยการเรียกใช้คำสั่งต่อไปนี้:

youtube-dl -h

ทดลองเล็กน้อยเพื่อให้ได้youtube-dlงานตามที่คุณต้องการ

2. Youtube-dl ดาวน์โหลดไฟล์ YouTube ที่ไหน?

โดยค่าเริ่มต้นyoutube-dlจะดาวน์โหลดไฟล์ในไดเรกทอรีการทำงานปัจจุบันของ Terminal ที่คุณเปิด ปกติแล้วนี่คือ$HOMEสภาพแวดล้อมของคุณแต่ไม่เสมอไป พฤติกรรมนี้สามารถแก้ไขได้สองวิธี:

  1. ใช้อ็อพชัน -o ด้วยyoutube-dlเพื่อกำหนดตำแหน่งสำหรับไฟล์ที่ดาวน์โหลดด้วยตนเอง :

    youtube-dl -o "~/Desktop/%(title)s.%(ext)s" 'youtube file url'
    

    และแน่นอนแทนที่URL จริงของคุณสำหรับ 'youtube file url' ตัวอย่างนี้ส่งการดาวน์โหลดที่สมบูรณ์ไปยังเดสก์ท็อปของคุณ

  2. สร้างไฟล์กำหนดค่าyoutube-dlดังนี้:

    touch ~/.config/youtube-dl.conf
    

    จากนั้นตั้งค่าตำแหน่งดาวน์โหลดเริ่มต้นในไฟล์นี้:

    --output "~/Desktop/%(title)s.%(ext)s"
    

    ไฟล์นี้ที่ดาวน์โหลดมาทั้งหมดจะไปที่เดสก์ท็อปของคุณโดยอัตโนมัติ

อ้างอิง:


1
สิ่งนี้ใช้ได้สำหรับฉันยกเว้นในตัวอย่างแรกคุณต้องมีเครื่องหมายคำพูดรอบเส้นทาง เปลือกโยนข้อผิดพลาดนี้โดยไม่มีพวกเขา:sh: 1: Syntax error: "(" unexpected
felwithe

9

โดยค่าเริ่มต้น youtube-dl จะทำการดาวน์โหลดไฟล์ในไดเรกทอรีเดียวกันกับที่คุณรันคำสั่ง ส่วนใหญ่เป็นไดเรกทอรีบ้านของคุณ หากชื่อของคุณคือทอมแสดงว่าเป็น / home / Tom หากต้องการบังคับให้ดาวน์โหลดที่อื่นคุณควรใช้ตัวเลือก -o; และเพื่อเลือกคุณภาพของวิดีโอมีตัวเลือก -f แต่คุณจะทราบถึงคุณภาพของไฟล์ได้อย่างไร ที่ทำได้โดยตัวเลือก -F ดังนั้นรวมสิ่งเหล่านี้ในหนึ่งเชลล์สคริปต์ทำให้มันปฏิบัติการและวางไว้ในไดเรกทอรีถัง และชีวิตจะกลายเป็นเรื่องง่าย

ฉันเขียนหนึ่งสคริปต์สำหรับการใช้งานของตัวเอง มันใช้งานได้ดี คุณไม่ต้องกังวลว่าไฟล์ที่ดาวน์โหลดมาทั้งหมดจะเป็นอย่างไร ฉันเลือกไดเรกทอรี ~ / Videos สำหรับดาวน์โหลดวิดีโอ YT; คุณสามารถเลือกอื่น ๆ นอกจากนี้แทนที่ 'Tom' ด้วยชื่อของคุณ นี่คือสคริปต์:

#!/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

2

ถ้าคุณวิ่งyoutube-dlแบบนี้:

youtube-dl -o "/home/vasa1/Downloads/%(title)s" http://www.youtube.com/watch?v=rnvK2TIhYns

/home/vasa1/Downloadsวิดีโอที่ควรจะอยู่ใน vasa1แน่นอนคุณจะต้องใส่ชื่อผู้ใช้ของคุณในสถานที่ของ


2

โดยค่าเริ่มต้นการดาวน์โหลด youtube-dl เป็นไฟล์ในไดเรกทอรีบ้านของคุณเพื่อเข้าถึงไฟล์ที่คุณดาวน์โหลดกรุณาเปิดเทอร์มินัลเพื่อเปลี่ยนไดเรกทอรีให้กับผู้ใช้โฮมไดเรกทอรีของคุณ: ~ $ cd / home / user หมายเหตุ: ผู้ใช้คือชื่อผู้ใช้ของคุณ


1

Ubuntu 14 แก้ไขขั้นตอนการติดตั้งอย่างเป็นทางการ

สร้างไดเรกทอรีที่นี่:

sudo mkdir /opt/youtube-dl

ย้าย youtube-dl จากสถานที่ติดตั้ง:

sudo mv /usr/local/bin/youtube-dl /opt/youtube-dl

ทำ symlink:

pushd /usr/local/bin/ && sudo ln -s /opt/youtube-dl/youtube-dl

ทดสอบ symlink:

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 ต่อหน้า


0

ในกรณีที่คุณต้องการเรียกใช้youtube-dlในสคริปต์หลามเพียงใช้-oจะไม่มีผล

คุณต้องใช้outtmplคำหลักแทนเช่น:

youtube_dl.YoutubeDL( params={'-c': '', '--no-mtime': '', 'outtmpl': './%(uploader)s/%(title)s-%(upload_date)s-%(id)s.%(ext)s'} ).download([url])
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.