Pobierz tylko format MP4 na youtube-dl

73

Jak mogę użyć download-dl, aby pobrać wideo za pośrednictwem listy odtwarzania URL tylko format MP4 zamiast formatu .mkvlub .webm?

Używam tego polecenia do pobierania filmów: youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

Wynikiem tego polecenia są wideo z rozszerzeniem .mp4, .mkvlub.webm

Edgar Oliveira
źródło
spójrz na --list-formatsi --format nnprzełączniki.
jc__
Używany -f mp4. Ale jeden raz pobrałem plik na mp4 z 150 MB, a innym razem z 90 MB. Przeczytałem pomoc, dostępną za pośrednictwem „youtube --help” i nie mogę znaleźć innego parametru, w którym mogę określić, aby pobrać maksymalną jakość!
Edgar Oliveira

Odpowiedzi:

80

Aby wyświetlić listę dostępnych formatów:

youtube-dl -F url

Następnie wybierz najlepszy

Przykład: youtube-dl -f 11 url

Przykład z webupd8

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

próbka wyjściowa:

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

Możesz wybrać besti wpisać

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

Aby uzyskać najlepszą jakość wideo (1080p DASH - format „137”) i najlepszą jakość dźwięku (DASH audio - format „140”), musisz użyć następującego polecenia:

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

EDYTOWAĆ

Możesz uzyskać więcej opcji tutaj

Wybór wideo:

--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)
GAD3R
źródło
Kiedy pobieram wideo z listy odtwarzania, przez „youtube-dl -itcv - tak-url playlisty” istnieją filmy, które nie zostały pobrane. Jak mogę to zrobić? Lub ten problem istniał, ponieważ nie użyłem parametru „-f mp4” i wystąpił błąd, gdy program wybiera najlepszy format do pobrania?
Edgar Oliveira
po prostu wpiszyoutube-dl --yes-playlist url
GAD3R
kontynuuj z tym samym problemem. Lista odtwarzania próbuję pobrać wskazują 42 filmy na youtube. Ale pobrano tylko 34 filmy. Dane wyjściowe to: [youtube: playlist] lista odtwarzania Nazwa Lista odtwarzania: Pobieranie 34 filmów
Edgar Oliveira
1
@EdgarOliveira często na listach odtwarzania jest kilka usuniętych filmów, ale youtube nadal włącza się do listy odtwarzania ... to powoduje problem
Scott Stensland
109

Podobnie jak to ( źródło ):

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url
s4y
źródło
fajnie, pobrałem najlepszy film + najlepszy dźwięk i połączyłem go ze sobą.
Renetik
5
Jeśli nie przejmujesz się konkretnymi formatami wymaganymi przez OP, warto zauważyć, że od 2015 roku domyślnymi ustawieniami dla youtube-dl są -f bestvideo+bestaudio/best, więc już skonfigurowano pobieranie bestvideo i bestaudio (i automatyczne miksowanie ich razem w wynikowym pliku) . Źródło: github.com/rg3/youtube-dl/blob/master/…
jj_
@ jj_ Zdecydowanie - kiedy używam tego wiersza poleceń, jest to wersja H.264 + AAC, która jest kompatybilna z najszerszą gamą urządzeń.
s4y
@ s4y tak, ale wiąże się to z ryzykiem transkodowania. Aby tego uniknąć, radziłbym sobie z tym inaczej, nie zmuszając jednego formatu kontenera do każdego pobranego pliku.
jj_
1
@ s4y youtube-dl rzeczywiście transkoduje, kiedy będzie to konieczne ( --audio-formatopcja), ale masz rację: nie powinno tak być w przypadku tej linii, ponieważ zmuszasz youtube-dl do pobrania dwóch plików (bestaudio [ext = mp4] i bestvideo [ext = m4a]), które mają ten sam rodzaj wspólnego kontenera (mp4), więc niezależnie od ich zawartości, podczas remuxingu, będą one układane w innym mp4 bez wymaganego transkodowania.
jj_
10

Według tego komentarza glenn-slayden format MP4 o najwyższej jakości wideo jest uzyskiwany w następujący sposób:

Zdaję sobie sprawę, że ten wątek jest trochę stary, ale myślę, że sytuacja nieco się zmieniła. Do mojego celu:

  • przede wszystkim zawsze wybieraj najlepszą dostępną jakość wideo, niezależnie od formatu;
  • ale nigdy nie pozwól, aby sam format audio spowodował utratę MP4 .

Wcześniej używałem bestvideo+bestaudio/best, ale uważam, że następujący wariant działa znacznie lepiej w celu zmniejszenia mkv((najwyraźniej) eliminacji) webm, ale nadal gwarantuje najwyższą jakość wideo (nie używaj tej --merge-output-formatopcji):

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

Zauważ, że w pierwszym okresie extfiltr jest określony dla dźwięku, ale nie dla wideo , techniki, o której nie wspomniałem w powyższej dyskusji. Jeśli wydaje mi się, że jest to odwrotnie w stosunku do moich podanych celów, może to wynikać z tego, że biorąc pod uwagę, że staramy się upewnić, że format wideo mp4jest prawidłowy, dlaczego podano ograniczenie dla dźwięku?

Kluczem jest to, że każdy warunek rezerwowy (oddzielony ukośnikami) nie powiedzie się, jeśli którakolwiek część jego wymagania nie powiedzie się, przechodząc do następnego terminu. Podczas używania bestvideo+bestaudiopojawia się wiele przypadków uzyskania kontenera innego niż MP4, ponieważ ten wybór formatu jednoznacznie nalega bestaudio, co może oznaczać mieszany format. To dlatego, że bestvideo+bestaudiopolecenie jest zbyt natarczywe, abyś został z niego zmuszony mp4.

Ale co, jeśli bardziej zależy Ci na uzyskaniu pojemnika MP4 niż na jakości dźwięku ? Domagając się m4adźwiękiem pierwszy - ale wtedy ustępliwy się tylko tę część Wydając bestvideoponownie - (za pomocą wybór formatu powyżej), które zasadniczo wyrazić elastyczną preferencję dla mp4ponad innych pojemników; na pewno nie chce mp4, jeśli to możliwe, ale nie kosztem pogorszenia jakości obrazu.

Jak powiedziałem, wciąż możesz dostać trochę mkv, ale będą one znacznie zmniejszone i będą używane tylko wtedy, gdy będzie wymagane dostarczenie (podobno) lepszego wideo. I do tej pory z tą konfiguracją nie widziałem żadnej webm, ponieważ coś takiego jak 248 + 140 działa jako mkv.

W drugim przypadku dodawanie --merge-output-format mp4przekształci się w mp4, jeśli będzie to wymagane. Zatem pełne polecenie to:

youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
Frank Breitling
źródło