ดาวน์โหลด mp4 รูปแบบเท่านั้นใน youtube-dl


73

ฉันจะใช้ download-dl เพื่อดาวน์โหลดวิดีโอผ่านเพลย์ลิสต์ url เฉพาะรูปแบบ mp4 แทนรูปแบบ.mkvหรือได้.webmอย่างไร

ฉันใช้คำสั่งนี้เพื่อดาวน์โหลดวิดีโอ: youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

ผลที่คำสั่งนี้เป็นวิดีโอที่มีนามสกุล.mp4, .mkvหรือ.webm


ดูที่--list-formatsและ--format nnสวิตช์
jc__

ใช้ -f mp4 แต่หนึ่งครั้งดาวน์โหลดไฟล์บน mp4 ที่มี 150mb และอีกครั้งด้วย 90mb ฉันอ่านความช่วยเหลือผ่านทาง "youtube --help" และฉันไม่สามารถหาพารามิเตอร์อื่นที่ฉันสามารถดาวน์โหลดคุณภาพสูงสุดได้โดยเฉพาะ!
Edgar Oliveira

คำตอบ:


80

ในการแสดงรายการรูปแบบที่มีให้พิมพ์:

youtube-dl -F url

จากนั้นเลือกอันที่ดีที่สุด

ตัวอย่าง: youtube-dl -f 11 url

ตัวอย่างจากwebupd8

youtube-dl -F http://www.youtube.com/watch?v=3JZ_D3ELwOQ

ตัวอย่างผลลัพธ์:

[youtube] Setting language
[youtube] 3JZ_D3ELwOQ: Downloading webpage
[youtube] 3JZ_D3ELwOQ: Downloading video info webpage
[youtube] 3JZ_D3ELwOQ: Extracting video information
[info] Available formats for 3JZ_D3ELwOQ:
format code extension resolution  note 
171         webm      audio only  DASH webm audio , audio@ 48k (worst)
140         m4a       audio only  DASH audio , audio@128k
160         mp4       192p        DASH video 
133         mp4       240p        DASH video 
134         mp4       360p        DASH video 
135         mp4       480p        DASH video 
136         mp4       720p        DASH video 
137         mp4       1080p       DASH video 
17          3gp       176x144     
36          3gp       320x240     
5           flv       400x240     
43          webm      640x360     
18          mp4       640x360     
22          mp4       1280x720    (best)

คุณสามารถเลือกbestและพิมพ์

youtube-dl -f 22 http://www.youtube.com/watch?v=3JZ_D3ELwOQ

ในการรับคุณภาพวิดีโอที่ดีที่สุด (1080p DASH - รูปแบบ "137") และคุณภาพเสียงที่ดีที่สุด (DASH audio - รูปแบบ "140") คุณต้องใช้คำสั่งต่อไปนี้:

youtube-dl -f 137+140 http://www.youtube.com/watch?v=3JZ_D3ELwOQ

แก้ไข

คุณสามารถรับตัวเลือกเพิ่มเติมได้ที่นี่

การเลือกวิดีโอ:

--playlist-start NUMBER          Playlist video to start at (default is 1)
--playlist-end NUMBER            Playlist video to end at (default is last)
--playlist-items ITEM_SPEC       Playlist video items to download. Specify
                             indices of the videos in the playlist
                             separated by commas like: "--playlist-items
                             1,2,5,8" if you want to download videos
                             indexed 1, 2, 5, 8 in the playlist. You can
                             specify range: "--playlist-items
                             1-3,7,10-13", it will download the videos
                             at index 1, 2, 3, 7, 10, 11, 12 and 13.
--match-title REGEX              Download only matching titles (regex or
                             caseless sub-string)
--reject-title REGEX             Skip download for matching titles (regex or
                             caseless sub-string)
--max-downloads NUMBER           Abort after downloading NUMBER files
--min-filesize SIZE              Do not download any videos smaller than
                             SIZE (e.g. 50k or 44.6m)
--max-filesize SIZE              Do not download any videos larger than SIZE
                             (e.g. 50k or 44.6m)
--date DATE                      Download only videos uploaded in this date
--datebefore DATE                Download only videos uploaded on or before
                             this date (i.e. inclusive)
--dateafter DATE                 Download only videos uploaded on or after
                             this date (i.e. inclusive)
--min-views COUNT                Do not download any videos with less than
                             COUNT views
--max-views COUNT                Do not download any videos with more than
                             COUNT views
--match-filter FILTER            Generic video filter (experimental).
                             Specify any key (see help for -o for a list
                             of available keys) to match if the key is
                             present, !key to check if the key is not
                             present,key > NUMBER (like "comment_count >
                             12", also works with >=, <, <=, !=, =) to
                             compare against a number, and & to require
                             multiple matches. Values which are not
                             known are excluded unless you put a
                             question mark (?) after the operator.For
                             example, to only match videos that have
                             been liked more than 100 times and disliked
                             less than 50 times (or the dislike
                             functionality is not available at the given
                             service), but who also have a description,
                             use --match-filter "like_count > 100 &
                             dislike_count <? 50 & description" .
--no-playlist                    Download only the video, if the URL refers
                             to a video and a playlist.
--yes-playlist                   Download the playlist, if the URL refers to
                             a video and a playlist.
--age-limit YEARS                Download only videos suitable for the given
                             age
--download-archive FILE          Download only videos not listed in the
                             archive file. Record the IDs of all
                             downloaded videos in it.
--include-ads                    Download advertisements as well
                             (experimental)

เมื่อฉันดาวน์โหลดวิดีโอลงในเพลย์ลิสต์ผ่าน "youtube-dl -itcv - ใช่-playlist url" มีวิดีโอบางรายการที่ไม่ได้ดาวน์โหลด ฉันจะทำสิ่งนี้ได้อย่างไร หรือปัญหานี้มีอยู่เพราะฉันไม่ได้ใช้พารามิเตอร์ "-f mp4" และเกิดข้อผิดพลาดเมื่อโปรแกรมเลือกรูปแบบที่ดีที่สุดในการดาวน์โหลด
Edgar Oliveira

แค่พิมพ์youtube-dl --yes-playlist url
GAD3R

ต่อเนื่องกับปัญหาเดียวกัน เพลย์ลิสต์ที่ฉันลองดาวน์โหลดระบุว่า 42 วิดีโอใน youtube แต่มีเพียง 34 วิดีโอที่ถูกดาวน์โหลด ผลลัพธ์คือ: [youtube: playlist] playlist ชื่อเพลย์ลิสต์: การดาวน์โหลด 34 วิดีโอ
Edgar Oliveira

1
@EdgarOliveira มักจะอยู่ในเพลย์ลิสต์มีวิดีโอที่ถูกลบบางส่วน แต่ youtube ยังคงรวมอยู่ในเพลย์ลิสต์ ... นี่เป็นสาเหตุของปัญหาหรือไม่
Scott Stensland

109

เช่นนี้ (ที่มา ):

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url

เยี่ยมยอดวิดีโอที่ดีที่สุดที่ดาวน์โหลดมา + เสียงที่ดีที่สุดและรวมเข้าด้วยกัน
Renetik

5
หากคุณไม่สนใจรูปแบบเฉพาะที่ร้องขอโดย OP มันคุ้มค่าที่จะสังเกตว่าตั้งแต่ปี 2015 ค่าเริ่มต้นสำหรับ youtube-dl คือ-f bestvideo+bestaudio/bestดังนั้นจึงมีการตั้งค่าให้ดาวน์โหลดวิดีโอที่ดีที่สุดและ bestaudio (และรวมเข้าด้วยกันโดยอัตโนมัติในไฟล์ผลลัพธ์) . ที่มา: github.com/rg3/youtube-dl/blob/master/…
jj_

@jj_ แน่นอน - เมื่อฉันใช้บรรทัดคำสั่งนี้จะได้รับรุ่น H.264 + AAC ที่เข้ากันได้กับอุปกรณ์ที่หลากหลายที่สุด
s4y

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

1
@ s4y youtube-dl จะแปลงรหัสเมื่อมันต้องการ ( --audio-formatตัวเลือก) แต่คุณอยู่ที่นี่: มันไม่ควรเป็นเช่นนั้นเพราะคุณบังคับให้ youtube-dl ดาวน์โหลดสองไฟล์ (bestaudio [ext = mp4] และ bestvideo [ext = m4a]) ที่มีคอนเทนเนอร์ประเภทเดียวกันโดยทั่วไป (mp4) ดังนั้นไม่ว่าเนื้อหาของพวกเขาจะเป็นอะไรก็ตามเมื่อทำการรีมิกซ์มันจะถูกซ้อนใน mp4 อื่นโดยไม่ต้องแปลงรหัสใด ๆ
jj_

10

ตามความคิดเห็นนี้โดย glenn-slayden รูปแบบ mp4 ที่มีคุณภาพวิดีโอสูงสุดจะได้รับดังนี้:

ฉันรู้ว่ากระทู้นี้ค่อนข้างเก่า แต่ฉันคิดว่าสถานการณ์มีการเปลี่ยนแปลงบ้าง สำหรับเป้าหมายของฉัน:

  • อันดับแรกและสำคัญที่สุดจะใช้คุณภาพของวิดีโอที่ดีที่สุดโดยไม่คำนึงถึงรูปแบบ
  • แต่แล้วก็ไม่เคยปล่อยให้รูปแบบเสียงเพียงอย่างเดียวทำให้คุณสูญเสียmp4

ก่อนหน้านี้ฉันใช้bestvideo+bestaudio/bestแต่ฉันพบว่าตัวแปรต่อไปนี้ทำงานได้ดีกว่ามากในการลดmkv(เห็นได้ชัด) กำจัดwebmแต่ยังคงรับประกันวิดีโอคุณภาพสูงสุด (อย่าใช้--merge-output-formatตัวเลือกเมื่อใช้สิ่งนี้):

--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best 

โปรดสังเกตว่าในระยะแรกextมีการระบุตัวกรองสำหรับเสียงแต่ไม่ใช่วิดีโอซึ่งเป็นเทคนิคที่ฉันไม่ได้กล่าวถึงในการอภิปรายข้างต้น หากดูเหมือนว่าย้อนกลับไปตามเป้าหมายที่ระบุไว้อาจเป็นเพราะการพิจารณาว่าเรากำลังพยายามทำให้แน่ใจว่ารูปแบบวิดีโอนั้นเป็นmp4เพราะเหตุใดจึงมีข้อ จำกัด สำหรับเสียง

กุญแจสำคัญคือแต่ละคำที่ย้อนกลับ (คั่นด้วยเครื่องหมายทับ) จะล้มเหลวหากส่วนใดส่วนหนึ่งของความต้องการของมันล้มเหลวย้ายไปยังคำถัดไป เมื่อใช้bestvideo+bestaudioหลายกรณีของการได้รับคอนเทนเนอร์ที่ไม่ใช่ mp4 จะปรากฏขึ้นเท่านั้นเนื่องจากการเลือกรูปแบบนั้นยืนยันอย่างชัดเจนbestaudioซึ่งอาจหมายถึงรูปแบบผสม มันเป็นเพราะคำสั่งยืนหยัดเกินไปที่คุณจะได้รับการบังคับให้ออกจากbestvideo+bestaudiomp4

แต่ถ้าคุณสนใจที่จะรับmp4 คอนเทนเนอร์มากกว่าที่คุณทำเกี่ยวกับคุณภาพเสียงล่ะ? โดยยืนยันในm4aเสียงแรก - แต่แล้วยับยั้งเพียงส่วนหนึ่งว่าในขณะที่การออกbestvideoอีกครั้ง - (โดยใช้การเลือกรูปแบบข้างต้น) คุณเป็นหลักแสดงที่มีความยืดหยุ่นการตั้งค่าสำหรับmp4มากกว่าภาชนะอื่น ๆ ; คุณก็ไม่ต้องการmp4ถ้าเป็นไปได้ แต่ไม่ได้อยู่ที่ค่าใช้จ่ายของวิดีโอที่มีคุณภาพลดลง

อย่างที่ฉันบอกไปคุณอาจยังได้รับบ้างmkvแต่จะลดลงอย่างมากในจำนวนและใช้เมื่อจำเป็นต้องให้วิดีโอที่ดีกว่า และจนถึงขณะนี้มีการกำหนดค่านี้ผมยังไม่ได้เห็นใด ๆwebmเลยเพราะสิ่งที่ต้องการ248 + 140mkvผลงานจบลงด้วยการเป็น

ในกรณีหลังการเพิ่ม--merge-output-format mp4จะแปลงเป็น mp4 หากจำเป็น ดังนั้นคำสั่งเต็มคือ:

youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.