ดาวน์โหลดทุกสิ่งจากวิดีโอ YouTube โดยใช้ youtube-dl


16

ฉันต้องการดาวน์โหลดทุกอย่าง (คำบรรยายการ์ดแท็กคำอธิบายประกอบภาพย่อ ฯลฯ (และเห็นได้ชัดว่าวิดีโอ w / audio)) จากวิดีโอ YouTube (ตัวอย่างเช่นอันนี้ )

ฉันกำลังใช้งานyoutube-dlและด้วยจำนวนสวิตช์ที่ใช้งานมากมายฉันไม่สามารถหาอะไรที่เหมาะกับความต้องการของฉันได้ ฉันต้องการดาวน์โหลดวิดีโอ / เสียงในคุณภาพสูงสุดเท่าที่จะทำได้โดยไม่สูญเสียคุณภาพ แม้ว่าจะไม่ใช่ YouTube แต่ฉันก็ต้องการดาวน์โหลดหลักสูตร udemy ของฉันที่ฉันซื้อมาด้วยดังนั้นฉันจึงสามารถดูได้ในขณะที่ฉันเดินทางไกล

ฉันffmpegติดตั้งแล้วและฉันได้ยินมาว่าคุณต้องการสิ่งนี้สำหรับการดาวน์โหลดที่ไม่สูญเสียจาก YouTube แต่ฉันไม่แน่ใจว่าจะเชื่อมโยงกับมันได้youtube-dlอย่างไร

นี่เป็นครั้งแรกที่ฉันใช้youtube-dlดังนั้นความช่วยเหลือใด ๆ ที่ชื่นชม

คำตอบ:


14

ตัวเลือกที่เกี่ยวข้องที่คุณต้องการ:

# Filesystem
--write-annotations
--write-description
--write-info-json

# Thumbnail images
--write-all-thumbnails

# Video format
--format bestvideo+bestaudio/best
--merge-output-format mkv

# Subtitle
--all-subs
--write-auto-sub
--write-sub

# Post-processing
--add-metadata
--embed-subs

คัดลอกไปยังไฟล์ปรับแต่งของคุณ (อย่างใดอย่างหนึ่ง/etc/youtube-dl.confหรือ~/.config/youtube-dl/config)

เมื่อใช้การกำหนดค่านั้นฉันดาวน์โหลดวิดีโอนี้และyoutube-dlเขียนไฟล์ต่อไปนี้:

$ ls
The Problem with Time & Timezones - Computerphile.annotations.xml
The Problem with Time & Timezones - Computerphile.description
The Problem with Time & Timezones - Computerphile.info.json
The Problem with Time & Timezones - Computerphile.jpg
The Problem with Time & Timezones - Computerphile.mkv

ฉันไม่สามารถโพสต์mediainfoของเอาท์พุทที่นี่เพราะมันเกินขีด จำกัด ตัวอักษร แต่คุณสามารถเห็นมันใน GitHub


ฉันต้องการดาวน์โหลดวิดีโอ / เสียงในคุณภาพสูงสุดเท่าที่จะทำได้โดยไม่สูญเสียคุณภาพ

youtube-dlดาวน์โหลดวิดีโอที่มีคุณภาพสูงสุดเท่าที่จะทำได้โดยค่าเริ่มต้น แต่คุณสามารถบังคับให้พฤติกรรมนี้ใช้งาน--format bestvideo+bestaudio/bestได้


แม้ว่าจะไม่ใช่ YouTube แต่ฉันก็ต้องการดาวน์โหลดหลักสูตร udemy ของฉันที่ฉันซื้อมาด้วยดังนั้นฉันจึงสามารถดูได้ในขณะที่ฉันเดินทางไกล

โปรดอ่านบทความฉันสามารถดาวน์โหลดหลักสูตรไปยังคอมพิวเตอร์ของฉันได้หรือไม่ :

ตามค่าเริ่มต้นหลักสูตรที่สมบูรณ์จะไม่สามารถดาวน์โหลดได้จากคอมพิวเตอร์ เราทำเช่นนี้โดยคำนึงถึงการละเมิดลิขสิทธิ์

โปรดทราบว่าคุณสามารถเสมอประหยัดหลักสูตรสำหรับดูแบบออฟไลน์ในapp มือถือ Udemy สำหรับข้อมูลเกี่ยวกับวิธีการดาวน์โหลดวิดีโอการบรรยายเป็น iOS ของคุณโทรศัพท์มือถือโปรดคลิกที่นี่ สำหรับขั้นตอนเกี่ยวกับวิธีการดาวน์โหลดวิดีโอสำหรับการดูแบบออฟไลน์บนอุปกรณ์ Android คลิกที่นี่


ฉันffmpegติดตั้งแล้วและฉันได้ยินมาว่าคุณต้องการสิ่งนี้สำหรับการดาวน์โหลดที่ไม่สูญเสียจาก YouTube แต่ฉันไม่แน่ใจว่าจะเชื่อมโยงกับมันได้youtube-dlอย่างไร

youtube-dlใช้avconvตามค่าเริ่มต้น แต่--prefer-ffmpegให้คุณใช้ffmpegแทน อย่างไรก็ตามตัวเลือกนี้ไม่จำเป็นสำหรับ " การดาวน์โหลดที่ไม่สูญเสีย " ในตัวอย่างที่ฉันให้ไว้youtube-dlใช้ffmpegเพื่อรวมรูปแบบที่ดาวน์โหลดทั้งหมดไว้ในไฟล์ mkv เดียวเท่านั้น


สิ่งนี้จะฝังข้อมูลจาก YouTube ลงในวิดีโอหรือไม่ ฉันไม่ต้องการตรงนั้นผมเพียงแค่ต้องการให้ดาวน์โหลดได้ แต่เก็บไว้ที่ทั้งหมดในแฟ้มที่แยกต่างหาก, kinda เช่นสิ่งที่ดูเหมือนว่า :)
leetbacoon

.mkv เป็นคอนเทนเนอร์เริ่มต้นสำหรับวิดีโอที่youtube-dlไม่ใช้ lossless หรือไม่
leetbacoon

Oh, และวิธีการที่คุณไม่ได้ดาวน์โหลดวิดีโอ? youtube-dl [youtube-link]?
leetbacoon

1
@leetbacoon ฉันเห็น ฉันจะเพิ่มรายงานข้อผิดพลาด
nxnev

1
@leetbacoon ย้อนกลับไปเมื่อฉันเขียนคำตอบนี้มันเป็นสิ่งที่ตรงกันข้ามyoutube-dlจะไม่สามารถดาวน์โหลดวิดีโอบาง--youtube-skip-dash-manifestตัวได้หากไม่มีตัวเลือกอยู่ เพิ่งแก้ไขตัวเลือกนั้นขอบคุณที่บอกฉัน
nxnev

6

หากต้องการดาวน์โหลดวิดีโอคุณสามารถใช้สิ่งนี้:

youtube-dl --all-subs "https://www.youtube.com/watch?v=KYBok-XGsKM"

ในการเลือกคุณภาพวิดีโอคุณควรใช้ตัวเลือก -F เพื่อแสดงรูปแบบที่มีอยู่ก่อน

youtube-dl -F "https://www.youtube.com/watch?v=KYBok-XGsKM"

และนี่คือผลลัพธ์สำหรับวิดีโอของคุณ:

[youtube] KYBok-XGsKM: Downloading webpage
[youtube] KYBok-XGsKM: Downloading video info webpage
[youtube] KYBok-XGsKM: Extracting video information
WARNING: unable to extract uploader nickname
[info] Available formats for KYBok-XGsKM:
format code  extension  resolution note
249          webm       audio only DASH audio   52k , opus @ 50k,  4.19MiB
250          webm       audio only DASH audio   75k , opus @ 70k, 5.42MiB
140          m4a        audio only DASH audio  129k , m4a_dash container, mp4a.40.2@128k, 10.59MiB
171          webm       audio only DASH audio  131k , vorbis@128k, 7.66MiB
251          webm       audio only DASH audio  135k , opus @160k, 9.58MiB
278          webm       256x144    144p   98k , webm container, vp9, 30fps, video only, 6.59MiB
160          mp4        256x144    144p  114k , avc1.4d400c, 15fps, video only, 9.04MiB
242          webm       426x240    240p  205k , vp9, 30fps, video only, 11.47MiB
133          mp4        426x240    240p  265k , avc1.4d4015, 30fps, video only, 20.11MiB
243          webm       640x360    360p  362k , vp9, 30fps, video only, 21.93MiB
134          mp4        640x360    360p  602k , avc1.4d401e, 30fps, video only, 20.42MiB
244          webm       854x480    480p  662k , vp9, 30fps, video only, 37.82MiB
135          mp4        854x480    480p 1020k , avc1.4d401f, 30fps, video only, 42.62MiB
247          webm       1280x720   720p 1353k , vp9, 30fps, video only, 81.53MiB
136          mp4        1280x720   720p 2013k , avc1.4d401f, 30fps, video only, 84.69MiB
137          mp4        1920x1080  1080p 2438k , avc1.640028, 30fps, video only, 157.71MiB
248          webm       1920x1080  1080p 2593k , vp9, 30fps, video only, 162.48MiB
264          mp4        2560x1440  1440p 6973k , avc1.640032, 30fps, video only, 459.58MiB
271          webm       2560x1440  1440p 7523k , vp9, 30fps, video only, 485.66MiB
313          webm       3840x2160  2160p 19991k , vp9, 30fps, video only, 1.34GiB
36           3gp        320x?      small , mp4v.20.3,  mp4a.40.2
17           3gp        176x144    small , mp4v.20.3,  mp4a.40.2@ 24k
43           webm       640x360    medium , vp8.0,  vorbis@128k
18           mp4        640x360    medium , avc1.42001E,  mp4a.40.2@ 96k
22           mp4        1280x720   hd720 , avc1.64001F,  mp4a.40.2@192k (best)

นี่คือตัวเลือกที่เป็นประโยชน์สำหรับคำบรรยาย:

   --write-sub
          Write subtitle file

   --write-auto-sub
          Write automatically generated subtitle file (YouTube only)

   --all-subs
          Download all the available subtitles of the video

   --list-subs
          List all available subtitles for the video

และสำหรับรูปขนาดย่อ:

   --write-thumbnail
          Write thumbnail image to disk

   --write-all-thumbnails
          Write all thumbnail image formats to disk

   --list-thumbnails
          Simulate and list all available thumbnail formats

คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับคุณภาพของวิดีโอได้ที่นี่


4
คุณหวังว่าจะได้อะไรจากการเลือกรูปแบบด้วยตนเอง? youtube-dlใช้รูปแบบวิดีโอและเสียงที่ดีที่สุดตามค่าเริ่มต้น หากคุณต้องการแทนที่การตั้งค่าที่แตกต่างในไฟล์กำหนดค่าคุณสามารถใช้-f bestvideo+bestaudio/best(ซึ่งเหมือนกับค่าเริ่มต้น) หรือละเว้นไฟล์การกำหนดค่า ( --ignore-config)
David Foerster

อย่าอ้างฉันเกี่ยวกับเรื่องนี้ แต่ฉันคิดว่าฉันอ่านก่อนหน้านี้ว่าเพื่อให้ได้วิดีโอที่ไม่มี lossless ด้วยเสียงคุณแค่ใช้youtube-dl https://www.youtube.com/watch?v=KYBok-XGsKM
leetbacoon

และเพียงแค่สงสัยว่าเหตุใดการคัดลอก 1080p จึงถือว่าดีที่สุดหากมี 1440p และทำไมถึงแสดง 2160p ตัวเลือกนั้นจะไม่ปรากฏในส่วนท้ายของฉัน (ตัวพิมพ์ใหญ่ที่ 1440p)
leetbacoon

3

@leetbacoon เห็นการตอบกลับความคิดเห็นที่ด้านล่างสุด (ตัวแทนต่ำยังคง sry)

หมายเหตุ:ฉันจะใช้ชื่อสวิตช์ที่ยาวขึ้นเพื่อหลีกเลี่ยงความสับสน สวิตช์หลายตัวที่ใช้มีรุ่นที่สั้นกว่า โปรดดูเอกสาร: ตัวเลือก

หมายเหตุ: - เพื่อความสะดวกในการมองเห็น\ใช้เพื่อแสดงสวิตช์แยกกัน ทั้งหมด\สามารถละเว้น; ถ้าใช้ให้แน่ใจว่าไม่มีตัวอักษรช่องว่างหลัง\\


เรื่องย่อ: คำสั่ง ytdl เพื่อดาวน์โหลดไฟล์วิดีโอเดียวที่มีคุณภาพสูงสุดของวิดีโอและเสียง บันทึกวิดีโอลงในไดเรกทอรีของตัวเอง (ระบุโดยคุณ) ดาวน์โหลดข้อมูลเมตาที่มีทั้งหมดเขียนแต่ละรูปแบบไฟล์ตามลำดับและบันทึกในไดเรกทอรีเดียวกัน เพิ่มข้อมูลเมตาของวิดีโอไปยังไฟล์วิดีโอ

ทดแทนด้วยตัวคุณเอง:

  • แทนที่/archive/videos/TED_Archive/ในสวิตช์--download-archiveและ--outputด้วยเส้นทางไดเรกทอรีที่คุณเลือก
  • ตัวอย่างเส้นทางหน่วยเก็บข้อมูล / เก็บถาวร / วิดีโอ
  • ตัวอย่างลิงก์วิดีโอ: https://www.youtube.com/watch?v=0bFs6ZiynSU
  • ตัวอย่างไดเรกทอรีช่อง / TED_Archive

====

youtube-dl \
--limit-rate '0.25M' \
--retries '3' \
--no-overwrites \
--call-home \
--write-info-json \
--write-description \
--write-thumbnail \
--all-subs \
--convert-subs 'srt' \
--write-annotations \
--add-metadata \
--embed-subs \
--download-archive '/archive/videos/TED_Archive/TED_Archive.ytdlarchive' \
--format 'bestvideo+bestaudio/best' \
--merge-output-format 'mkv' \
--output '/archive/videos/TED_Archive/%(upload_date)s_%(id)s/TED_Archive_%(upload_date)s_%(id)s_%(title)s.%(ext)s' \
'https://www.youtube.com/watch?v=0bFs6ZiynSU' ;

หมายเหตุ: ใส่อาร์กิวเมนต์ทั้งหมดด้วย' 'เพื่อความปลอดภัยในการแยกวิเคราะห์

คำอธิบายของสวิตช์ที่แนะนำ:

  • --limit-rate '0.25M'ใช้เพื่อ จำกัด ความเร็วการดาวน์โหลดสูงสุดที่มีอยู่ของทุก ๆ youtube-dl ใน B / s (ไบต์ต่อวินาที)
    อาร์กิวเมนต์:จำนวนเต็มบวกใด ๆ ที่มีส่วนต่อท้ายของตัวพิมพ์ใหญ่
    คำต่อท้ายหน่วย: K สำหรับ Kilobyte; M สำหรับเมกะไบต์; ไม่ชัดเจนว่ารองรับ Gigabyte หรือไม่
    เพิ่มเติม:
    1. หลีกเลี่ยงการปิดกั้นการเชื่อมต่ออินเทอร์เน็ต
    2. มีประโยชน์เมื่อจัดการความเร็วในการดาวน์โหลดหลาย ๆ อินสแตนซ์ ytdl พร้อมกัน
    Ommission:
    1. อุดตันอินเทอร์เน็ต ไม่สามารถเรียกดูล้าหลังการเล่นวิดีโอ YouTube
    2. จะดาวน์โหลดวิดีโอโดยเร็วที่สุด
    หมายเหตุ:คุณสามารถเรียกใช้อินสแตนซ์ youtube-dl หลายรายการพร้อมกันได้

  • --retries '5'ใช้เพื่อลองดาวน์โหลดวิดีโออีกครั้งโดยอัตโนมัติหากไม่สำเร็จ มีประโยชน์เมื่อดาวน์โหลดเพลย์ลิสต์หรือทั้งช่อง (ซึ่งก็คือในแง่ Youtube รวมถึงเพลย์ลิสต์ (ของช่องเฉพาะนั้น)
    ค่า:เลือกจำนวนเต็มบวกใด ๆ 10เริ่มต้นคือ Max คือinfinite(ป้อนเป็นสตริงตัวอักษร)

  • --continue
    ข้อโต้แย้ง:ไม่มีการ
    เพิ่มเติม:
    1. จะบังคับให้มีการลดระดับของไฟล์บางส่วนต่อ
    หมายเหตุ: ytdl ดาวน์โหลดวิดีโอในกลุ่ม; ชิ้นจะถูกเก็บรักษาไว้หาก ytdl สิ้นสุดลงโดยไม่คาดคิดในระหว่างการดาวน์โหลด
    Ommission:
    1. โดยค่าเริ่มต้น ytdl จะทำการดาวน์โหลดต่อหากเป็นไปได้

  • --no-overwrites
    อาร์กิวเมนต์:ไม่มีการ
    เพิ่ม:จะไม่เขียนทับไฟล์ข้อมูลเมตาที่มีอยู่ด้วยชื่อเดียวกัน
    Ommission:จะเขียนทับไฟล์ข้อมูลเมตาที่มีอยู่ด้วยชื่อเดียวกัน แต่ไม่ใช่ไฟล์วิดีโอ

    • --call-home ใช้เพื่อติดต่อเซิร์ฟเวอร์ ytdl สำหรับการดีบัก

      "หากเซิร์ฟเวอร์ของคุณมีหลาย IP หรือคุณสงสัยว่ามีการเซ็นเซอร์การเพิ่ม - call-home อาจเป็นความคิดที่ดีที่จะได้รับการวินิจฉัยเพิ่มเติม" - เอกสาร: บักเรียกคืน 20180408

  • --write-info-json
    อาร์กิวเมนต์:ไม่มี
    รูปแบบเอาต์พุต: json;
    เนื้อหาข้อมูล:จำนวนการดู, ชอบ, วันที่อัปโหลด, ข้อมูลคุณภาพวิดีโอและเสียง ฯลฯ (แต่ไม่ใช่คำอธิบายข้อความวิดีโอ (โพสต์วิดีโอด้านล่างโดยผู้อัปโหลด (รูปแบบ Youtube 2018))) การ
    เพิ่ม:เขียนข้อมูลเมตาของวิดีโอลงใน.info.jsonไฟล์แยกต่างหาก บันทึกในโฟลเดอร์เดียวกับไฟล์วิดีโอ
    Ommission:ไม่มีผลต่อ--add-metadataซึ่งจะยังคงเขียนข้อมูลเมตาของวิดีโอไปยังไฟล์เอาต์พุตวิดีโอ

  • --write-description
    อาร์กิวเมนต์:ไม่มี
    รูปแบบผลลัพธ์:ข้อความธรรมดา;
    เพิ่มเติม:เขียนข้อความที่โพสต์โดยผู้อัปโหลดวิดีโอในส่วนคำอธิบายของวิดีโอ (ด้านล่างวิดีโอ (เค้าโครง 2018 youtube)) ลงในWrite .descriptionไฟล์แยกต่างหาก บันทึกในโฟลเดอร์เดียวกับไฟล์วิดีโอ

  • --write-thumbnailเขียนภาพขนาดย่อที่มีความละเอียดสูงสุด (เรียกmaxresdefault.jpgโดย youtube) ลงใน.jpgไฟล์ --outputเปลี่ยนชื่อตามที่ระบุไว้กับแม่แบบ บันทึกไว้ในไดเรกทอรีเดียวกับไฟล์วิดีโอ
    อาร์กิวเมนต์:ไม่มี
    รูปแบบผลลัพธ์:เฉพาะ JPEG;
    หมายเหตุ:ใช้youtube-dl --list-thumbnails '<video_url>'เพื่อตรวจสอบภาพขนาดย่อของวิดีโอเฉพาะ (ไม่สามารถใช้งานได้กับลิงก์เพลย์ลิสต์); อดีต .:youtube-dl --list-thumbnails 'https://www.youtube.com/watch?v=odwfHu6MDuU'

  • --write-annotationsเขียนคำอธิบายประกอบวิดีโอลงใน.annotations.xmlไฟล์ --outputเปลี่ยนชื่อตามที่ระบุไว้กับแม่แบบ บันทึกไว้ในไดเรกทอรีเดียวกับไฟล์วิดีโอ
    อาร์กิวเมนต์:ไม่มี
    รูปแบบผลลัพธ์: .xml;

  • --all-subsเขียนทั้งหมดกำหนดเองที่สร้างคำบรรยายสำหรับวิดีโอไปยังไฟล์ของตน (อดีต .: subtitles.en.vtt, subtitles.fr.vtt, subtitles.es.vtt)
    อาร์กิวเมนต์:ไม่มี
    รูปแบบเอาต์พุต:เริ่มต้น.vtt; สามารถระบุรูปแบบอื่นด้วย--sub-format
    ข้อความแสดงข้อผิดพลาด: หากไม่มีคำบรรยายข้อความเตือนจะถูกพิมพ์เป็น stdout - รูปแบบ:WARNING: video doesn't have subtitles

คำสั่งที่มีประโยชน์:

หมายเหตุ:ใช้youtube-dl --list-subs '<video_url>'เพื่อตรวจสอบภาพขนาดย่อของวิดีโอเฉพาะ (ไม่สามารถใช้งานได้กับลิงก์เพลย์ลิสต์);
อดีต .:youtube-dl --list-subs 'https://www.youtube.com/watch?v=odwfHu6MDuU'

  • --convert-subs 'srt'
    อาร์กิวเมนต์: String: ส่วนขยายรูปแบบ, srt หรือ
    รูปแบบเอาต์พุตที่ดีที่สุด : Default .vtt; หรือตามข้อกำหนด
    เพิ่ม:เขียนคำบรรยายเพื่อจัดรูปแบบไฟล์ที่ระบุ (อดีต .: .srt) บันทึกในโฟลเดอร์เดียวกับไฟล์วิดีโอ
    Ommission:คำบรรยายจะถูกเขียนเป็น.vtt
    ข้อความแสดงข้อผิดพลาด:หากไม่มีคำบรรยายข้อความ INFO จะถูกพิมพ์เป็น stdout - รูปแบบ: [ffmpeg] There aren't any subtitles to convert
    หมายเหตุ:การแปลงจะดำเนินการตามขั้นตอนหลังการประมวลผลบน.vttไฟล์หลังจากดาวน์โหลด หากการดำเนินการ ytdl ถูกยกเลิกโดยไม่คาดคิดบางไฟล์คำบรรยายอาจไม่ถูกแปลง (ในกรณีนี้รันคำสั่งอีกครั้ง)

  • --add-metadata
    อาร์กิวเมนต์:ไม่มี
    พฤติกรรม:เขียนข้อมูลเมตาไปยังไฟล์วิดีโอเอาต์พุต
    หมายเหตุ:ไม่จำเป็นต้องมีการ.info.jsonสร้างโดย--write-info-json

  • --embed-subs
    อาร์กิวเมนต์:ไม่มี
    พฤติกรรม:
    1. เขียนคำบรรยายลงในไฟล์วิดีโอ
    2. เฉพาะสำหรับ MP4, WebM และวิดีโอ MKV
    ข้อความข้อผิดพลาด: หากมีคำบรรยายไม่มีข้อความข้อมูลที่มีอยู่จะถูกพิมพ์ที่ stdout - รูปแบบ: [ffmpeg] There aren't any subtitles to embed
    หมายเหตุ:ไม่จำเป็นต้อง.vttสร้างโดย--write-sub, --write-auto-subหรือ--all-sub

  • --download-archive '<archive_path>/<channel_name>/<channel_name>.ytdlarchive'
    พฤติกรรม:ใช้เพื่อสร้างไฟล์ข้อความที่มีลิงก์ของวิดีโอที่ดาวน์โหลดมาก่อนหน้านี้ อนุญาตให้ข้ามวิดีโอเหล่านี้เมื่อดาวน์โหลดทั้งช่อง ไม่จำเป็นเมื่อดาวน์โหลดวิดีโอเดียวเท่านั้น
    อาร์กิวเมนต์:สตริง: คอมโพสิตของเส้นทางไปยังที่เก็บวิดีโอของคุณไดเรกทอรีตั้งชื่อตามช่อง ชื่อไฟล์ประกอบด้วยชื่อช่องที่มี.ytdlarchiveนามสกุลไฟล์ (อาจเป็น. txt; แต่รูปแบบเฉพาะช่วยให้สร้างความแตกต่างได้ง่าย)
    รูปแบบผลลัพธ์:ข้อความธรรมดา; หนึ่งรหัสวิดีโอต่อบรรทัดการ
    เพิ่ม:
    1. ytdl อ่านไฟล์นี้ละเว้นและข้ามวิดีโอทั้งหมดที่อยู่ในรายการด้วยรหัสวิดีโอของพวกเขาแม้ว่าจะยังไม่ได้ดาวน์โหลด
    2. เพิ่ม videoID ของวิดีโอที่ดาวน์โหลดล่าสุดไปยังไฟล์นี้โดย
    อัตโนมัติ หากไฟล์วิดีโอและไฟล์เมตาดาต้ามีอยู่ ytdl จะทำการดาวน์โหลดอีกครั้ง

  • --format ''
    ข้อโต้แย้ง:สตริงที่แนะนำ: bestvideo+bestaudio/bestเพื่อให้แน่ใจว่าได้รับการผสมผสานระหว่างคุณภาพเสียงและวิดีโอสูงสุด
    เพิ่มเติม:ควบคุมคุณภาพวิดีโอและคุณภาพเสียงและการผสมรวมถึงคุณภาพทางเลือก
    Ommission:ค่าเริ่มต้นyoutube-dl will guess it for you by default- เอกสาร
    หมายเหตุ:ดูเอกสาร: ตัวอย่างการเลือกรูปแบบ

  • --merge-output-format '<video_format>'
    อาร์กิวเมนต์:รูปแบบไฟล์วิดีโอ (เช่น: mp4, mkv, 3gp, ฯลฯ ) การ
    เพิ่ม:สามารถระบุรูปแบบไฟล์วิดีโอ
    Ommission:ค่าเริ่มต้นyoutube-dl will guess it for you by default- เอกสาร
    หมายเหตุ:ดูเอกสาร: การเลือกรูปแบบ

คำสั่งที่มีประโยชน์:

หมายเหตุ:ใช้youtube-dl --list-formats '<video_url>'เพื่อตรวจสอบคุณภาพของวิดีโอและเสียงและรูปแบบของวิดีโอเฉพาะ (ไม่สามารถใช้งานได้กับลิงก์เพลย์ลิสต์);
อดีต .:youtube-dl --list-formats 'https://www.youtube.com/watch?v=odwfHu6MDuU'

  • --output '<template>'
    อาร์กิวเมนต์:
    1. รูปแบบไฟล์วิดีโอ (เช่น: mp4, mkv, 3gp เป็นต้น);
    2. แนะนำ: %(upload_date)s_%(id)s_%(title)s.%(ext)s
    เพิ่มเติม:มีผลต่อการตั้งชื่อไฟล์สำหรับไฟล์วิดีโอและไฟล์ข้อมูลเมตาทั้งหมด
    Ommission:โดยค่าเริ่มต้นชื่อวิดีโอจะเป็นชื่อไฟล์ เท็มเพลตเริ่มต้น: %(id)s.%(ext)sจะแสดงผลเป็นตัวอย่าง: testvideo.mkv
    หมายเหตุ:อย่าลืม%คำนำหน้าและsคำต่อท้าย (มีความเพียงพออื่น ๆ ด้วย); พระองค์_ระหว่างองค์ประกอบแม่แบบเป็นเพียงตัวคั่นและสามารถถ่านอื่น ๆ เช่น: %(upload_date)s-%(id)s
    หมายเหตุ:ดูเอกสาร: เทมเพลตเอาต์พุต

  • '<video_url>'
    อาร์กิวเมนต์:สตริง: URL ไปยังวิดีโอ
    ข้อผิดพลาด เฉพาะ :
    1. หากไม่มี URL วิดีโอที่ส่ง ytdl จะไม่ดำเนินการและแสดงวิธีใช้
    2. หากข้อความ ERROR ที่ส่งไม่ถูกต้องจะถูกพิมพ์เป็น stdout - รูปแบบ:ERROR: u'' is not a valid URL. Set --default-search "ytsearch" (or run youtube-dl "ytsearch:" ) to search YouTube


คำแนะนำการจัดเก็บ:

  1. สร้างmiscไดเรกทอรีในที่เก็บวิดีโอของคุณและเก็บวิดีโอทั้งหมดไว้ในนั้น

  2. เมื่อคุณดาวน์โหลดวิดีโออย่างน้อยหนึ่งรายการจากช่องทำไดเรกทอรีเฉพาะสำหรับช่องนั้น ในกรณีนี้ชื่อช่องเป็นและชื่อไดเรกทอรีจะTED Archive (ฉันแทนที่อักขระช่องว่างทั้งหมดด้วยเครื่องหมายขีดล่างเพื่อการนำทางไดเรกทอรีที่ง่ายขึ้นและการดำเนินการ I / O ไฟล์เมื่อใช้สคริปต์ bash (หรือ python))TED_Archive


ตอบสนองต่อความคิดเห็นของคุณ @leetbacoon

และเพียงแค่สงสัยว่าเหตุใดการคัดลอก 1080p จึงถือว่าดีที่สุดหากมี 1440p และทำไมถึงแสดง 2160p ตัวเลือกนั้นไม่ปรากฏในตอนท้ายของฉัน (ตัวพิมพ์ใหญ่ที่ 1440p) - leetbacoon

จากเอกสาร
You can also use a file extension (currently 3gp, aac, flv, m4a, mp3, mp4, ogg, wav, webm are supported) to download the best quality format of a particular file extension served as a single file

best: Select the best quality format represented by a single file with video and audio.

bestvideo: Select the best quality video-only format

ฉันคิดว่าเมื่อคุณเลือกเพียงbestและคุณระบุรูปแบบผลลัพธ์ youtube ส่งรูปแบบที่คิดว่าเป็นคำสั่งผสมวิดีโอ + เสียงที่ดีที่สุดสำหรับรูปแบบนั้น นี่อาจเป็นไปตามการตัดสินใจในการปรับสมดุลภายใน YouTube (การเก็งกำไร)


ในประสบการณ์การใช้งานของฉันฉันต้องระบุเป็นพิเศษbestvideo+bestaudioเพื่อให้ได้คุณภาพสูงสุดของวิดีโอและเสียงตามลำดับจากนั้นรวมเข้าด้วยกันในคอนเทนเนอร์. mkv


ฉันใช้/bestเป็นอาร์กิวเมนต์ทางเลือกเพียงเพื่อให้แน่ใจ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.