Chỉ tải xuống định dạng mp4 trên youtube-dl


74

Làm cách nào tôi có thể sử dụng download-dl để tải xuống video thông qua danh sách phát url chỉ định dạng mp4 thay vì định dạng .mkvhay .webm?

Tôi sử dụng lệnh này để tải xuống video: youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

Kết quả lệnh này là video với phần mở rộng .mp4, .mkvhoặc.webm


nhìn vào --list-formats--format nnchuyển đổi.
jc__

Được sử dụng -f mp4. Nhưng một lần tải xuống tệp, trên mp4, với 150mb và lần khác với 90mb. Tôi đã đọc trợ giúp, có sẵn thông qua "youtube - trợ giúp" và tôi không thể tìm thấy một tham số nào khác nơi tôi có thể chỉ định để tải xuống chất lượng tối đa!
Edgar Oliveira

Câu trả lời:


81

Để liệt kê các định dạng có sẵn loại:

youtube-dl -F url

Sau đó chọn cái tốt nhất

Thí dụ : youtube-dl -f 11 url

Ví dụ từ webupd8

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

đầu ra mẫu:

[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)

Bạn có thể chọn bestvà gõ

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

Để có được chất lượng video tốt nhất (1080p DASH - định dạng "137") và chất lượng âm thanh tốt nhất (âm thanh DASH - định dạng "140"), bạn phải sử dụng lệnh sau:

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

BIÊN TẬP

Bạn có thể có thêm tùy chọn ở đây

Lựa chọn video:

--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)

Khi tôi tải xuống video trên danh sách phát, thông qua "youtube-dl -itcv --yes -lists url" tồn tại một số video không tải xuống. Làm thế nào tôi có thể làm xung quanh này? Hoặc, sự cố này đã tồn tại do tôi không sử dụng tham số "-f mp4" và đã xảy ra lỗi khi chương trình chọn định dạng tốt nhất để tải xuống?
Edgar Oliveira

chỉ cần gõyoutube-dl --yes-playlist url
GAD3R

tiếp tục với cùng một vấn đề. Danh sách phát tôi đã thử tải xuống chỉ ra 42 video trên youtube. Nhưng chỉ có 34 video được tải xuống. Đầu ra này là: [youtube: danh sách phát] Danh sách phát Danh sách phát: Đang tải xuống 34 video
Edgar Oliveira

1
@EdgarOliveira thường xuyên trong danh sách phát có một số video đã bị xóa nhưng youtube vẫn tiếp tục đưa vào danh sách phát ... điều này có gây ra sự cố không
Scott Stensland

109

Như thế này ( nguồn ):

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

tuyệt vời, video này đã tải xuống tốt nhất + âm thanh tốt nhất và hợp nhất nó lại với nhau.
Renetik

5
Nếu bạn không quan tâm đến các định dạng cụ thể do OP yêu cầu, thì đáng chú ý là kể từ năm 2015, mặc định cho youtube-dl là -f bestvideo+bestaudio/bestvậy, vì vậy, nó đã được thiết lập để tải xuống bestvideo và bestaudio (và tự động kết hợp chúng trong một tệp kết quả) . Nguồn: github.com/rg3/youtube-dl/blob/master/ chủ
jj_

@jj_ Chắc chắn - khi tôi sử dụng dòng lệnh này, để có phiên bản H.264 + AAC tương thích với phạm vi rộng nhất của thiết bị.
s4y

@ s4y có, nhưng điều đó đi kèm với nguy cơ chuyển mã. Để tránh điều đó, tôi sẽ quản lý điều này theo cách khác, không ép buộc một định dạng chứa duy nhất trên mỗi tệp được tải xuống.
jj_

1
@ s4y youtube-dl thực sự sẽ chuyển mã khi cần ( --audio-formattùy chọn) nhưng bạn ở ngay đây: không nên như vậy với dòng đó, vì bạn đang buộc youtube-dl tải xuống hai tệp (bestaudio [ext = mp4] và bestvideo [ext = m4a]) có cùng loại container (mp4), vì vậy dù nội dung của chúng là gì, khi làm lại nó, chúng sẽ được xếp chồng lên nhau trong một mp4 khác mà không cần chuyển mã.
jj_

10

Theo nhận xét này của glenn-slayden, định dạng mp4 với chất lượng video cao nhất có được như sau:

Tôi nhận ra chủ đề này là một chút cũ, nhưng tôi nghĩ rằng tình hình đã thay đổi phần nào. Vì mục tiêu của tôi:

  • đầu tiên và quan trọng nhất luôn có chất lượng video tốt nhất có sẵn bất kể định dạng;
  • nhưng sau đó không bao giờ để định dạng âm thanh một mình khiến bạn mất mp4 .

Trước đây, tôi đã sử dụng bestvideo+bestaudio/best, nhưng tôi thấy biến thể sau hoạt động tốt hơn nhiều để giảm mkv, (dường như) loại bỏ webm, nhưng vẫn đảm bảo video chất lượng cao nhất (không sử dụng --merge-output-formattùy chọn khi sử dụng tùy chọn này):

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

Lưu ý rằng, trong thuật ngữ đầu tiên, extbộ lọc được chỉ định cho âm thanh chứ không phải video , một kỹ thuật mà tôi không thấy được đề cập trong cuộc thảo luận ở trên. Nếu điều đó có vẻ ngược với các mục tiêu đã nêu của tôi, thì đó có thể là vì, xem xét rằng chúng tôi đang cố gắng đảm bảo định dạng video mp4, tại sao lại có ràng buộc cho âm thanh?

Điều quan trọng là mỗi thuật ngữ dự phòng (được phân tách bằng dấu gạch chéo) sẽ thất bại nếu bất kỳ phần nào trong yêu cầu của nó không thành công, chuyển sang thuật ngữ tiếp theo. Khi sử dụng bestvideo+bestaudio, nhiều trường hợp nhận được một thùng chứa không phải là mp4 chỉ hiển thị vì lựa chọn định dạng đó không nhất quán bestaudio, điều này có thể có nghĩa là một định dạng hỗn hợp. Đó là bởi vì bestvideo+bestaudiolệnh quá khăng khăng khiến bạn bị buộc rời khỏi mp4.

Nhưng điều gì sẽ xảy ra nếu bạn quan tâm nhiều hơn đến việc có một thùng chứa mp4 hơn là về chất lượng âm thanh ? Bằng cách nhấn mạnh vào m4aâm thanh trước - nhưng sau đó chỉ dựa vào phần đó trong khi phát hành bestvideolại - (bằng cách sử dụng lựa chọn định dạng ở trên), về cơ bản bạn thể hiện sở thích linh hoạt đối mp4với các thùng chứa khác; bạn chắc chắn làm muốn mp4nếu có thể, nhưng không phải với chi phí giảm chất lượng video.

Như tôi đã nói, bạn vẫn có thể nhận được một số mkv, nhưng chúng sẽ được giảm đáng kể về số lượng và chỉ được sử dụng khi được yêu cầu để cung cấp một video (được cho là) ​​tốt hơn. Và cho đến nay với cấu hình này, tôi chưa thấy gì webmcả, bởi vì thứ gì đó giống như công việc của 248 + 140 kết thúc như mkv.

Trong trường hợp sau, thêm --merge-output-format mp4sẽ chuyển đổi sang mp4 nếu cần. Vì vậy, lệnh đầy đủ là:

youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.