Unduh hanya format mp4 di youtube-dl

74

Bagaimana saya bisa menggunakan unduhan-dl untuk mengunduh video melalui format url playlist saja mp4 .mkvatau format .webm?

Saya menggunakan perintah ini untuk mengunduh video: youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

Hasil perintah ini adalah video dengan ekstensi .mp4, .mkvatau.webm

Edgar Oliveira
sumber
lihat --list-formatsdan --format nnaktifkan.
jc__
Digunakan -f mp4. Tetapi satu kali mengunduh file tersebut, pada mp4, dengan 150mb dan lain kali dengan 90mb. Saya telah membaca bantuan, tersedia melalui "youtube --help" dan saya tidak dapat menemukan parameter lain di mana saya dapat secara spesifik mengunduh kualitas maksimal!
Edgar Oliveira

Jawaban:

81

Untuk daftar jenis format yang tersedia:

youtube-dl -F url

Kemudian pilih yang terbaik

Contoh: youtube-dl -f 11 url

Contoh dari webupd8

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

keluaran sampel:

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

Anda dapat memilih bestdan mengetik

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

Untuk mendapatkan kualitas video terbaik (1080p DASH - format "137") dan kualitas audio terbaik (DASH audio - format "140"), Anda harus menggunakan perintah berikut:

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

SUNTING

Anda bisa mendapatkan lebih banyak opsi di sini

Pemilihan 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)
GAD3R
sumber
Ketika saya mengunduh video di daftar putar, melalui "youtube-dl -itcv --yes-playlist url" ada beberapa video yang tidak diunduh. Bagaimana saya bisa mengatasi ini? Atau, masalah ini ada karena saya tidak menggunakan parameter "-f mp4" dan terjadi kesalahan ketika program memilih format terbaik untuk diunduh?
Edgar Oliveira
ketik sajayoutube-dl --yes-playlist url
GAD3R
lanjutkan dengan masalah yang sama. Daftar putar saya coba unduh mengindikasikan 42 video di youtube. Tetapi hanya 34 video yang diunduh. Outputnya adalah: [youtube: playlist] playlist Nama Daftar Putar: Mengunduh 34 video
Edgar Oliveira
1
@EdgarOliveira sering dalam daftar putar ada beberapa video yang dihapus namun youtube terus memasukkan dalam daftar putar ... apakah ini yang menyebabkan masalah
Scott Stensland
110

Seperti ini ( sumber ):

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url
s4y
sumber
keren, ini mengunduh video terbaik + audio terbaik dan menggabungkannya.
Renetik
5
Jika Anda tidak peduli dengan format spesifik yang diminta oleh OP, maka perlu dicatat bahwa sejak 2015 standar untuk youtube-dl adalah -f bestvideo+bestaudio/best, jadi sudah disiapkan untuk mengunduh video terbaik dan bestaudio (dan secara otomatis menyatukannya dalam file yang dihasilkan) . Sumber: github.com/rg3/youtube-dl/blob/master/…
jj_
@ jj_ Pasti - ketika saya menggunakan baris perintah ini, itu untuk mendapatkan versi H.264 + AAC yang kompatibel dengan perangkat dengan jangkauan terluas.
s4y
@ s4y ya, tapi itu disertai risiko transcoding. Untuk menghindarinya, saya akan mengelola ini secara berbeda, bukan memaksakan satu format wadah pada setiap file yang diunduh.
jj_
1
@ s4y youtube-dl memang akan transcode ketika perlu ( --audio-formatopsi) tetapi Anda ada di sini: seharusnya tidak menjadi kasus dengan baris itu, karena Anda memaksa youtube-dl untuk mengunduh dua file (bestaudio [ext = mp4] dan bestvideo [ext = m4a]) yang memiliki jenis wadah yang sama (mp4), jadi apa pun kontennya, saat remuxing, mereka akan ditumpuk di mp4 lain tanpa transcoding yang diperlukan.
jj_
10

Menurut komentar ini oleh glenn-slayden, format mp4 dengan kualitas video tertinggi diperoleh sebagai berikut:

Saya menyadari bahwa utas ini agak lama, tetapi saya pikir situasinya agak berubah. Untuk tujuan saya:

  • pertama dan terutama selalu mengambil kualitas video terbaik yang tersedia terlepas dari format;
  • tetapi kemudian tidak pernah membiarkan format audio saja menyebabkan Anda kehilangan mp4 .

Sebelumnya, saya menggunakan bestvideo+bestaudio/best, tetapi saya menemukan varian berikut ini bekerja lebih baik untuk mengurangi mkv, (tampaknya) menghilangkan webm, tetapi masih menjamin video dengan kualitas terbaik (tidak menggunakan --merge-output-formatopsi saat menggunakan ini):

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

Perhatikan bahwa, dalam istilah pertama, extfilter ditentukan untuk audio tetapi bukan video , teknik yang tidak saya lihat disebutkan dalam diskusi di atas. Jika itu tampak terbalik untuk tujuan yang saya nyatakan, itu mungkin karena, mengingat kami berusaha memastikan bahwa format videonya adalah mp4, mengapa kendala diberikan untuk audio?

Kuncinya adalah bahwa setiap istilah fallback (dipisahkan oleh garis miring) akan gagal jika ada bagian dari persyaratannya gagal, beralih ke istilah berikutnya. Saat menggunakan bestvideo+bestaudio, banyak kasus mendapatkan wadah non-mp4 hanya muncul karena pemilihan format yang tegas bestaudio, yang kemudian dapat berarti format campuran. Itu karena bestvideo+bestaudioperintahnya terlalu mendesak sehingga Anda dipaksa keluar mp4.

Tetapi bagaimana jika Anda lebih peduli mendapatkan wadah mp4 daripada kualitas audio ? Dengan bersikeras pada m4aaudio terlebih dahulu - tetapi kemudian bersandar pada bagian itu sambil mengeluarkan bestvideolagi - (dengan menggunakan pilihan format di atas) Anda pada dasarnya mengekspresikan preferensi yang fleksibel untuk mp4lebih dari wadah lainnya; Anda pasti tidak ingin mp4jika mungkin, tetapi tidak pada biaya kualitas video berkurang.

Seperti yang saya katakan, Anda mungkin masih mendapatkan beberapa mkv, tetapi mereka akan sangat berkurang jumlahnya dan hanya digunakan ketika diminta untuk menyediakan video (seharusnya) yang lebih baik. Dan sejauh ini dengan konfigurasi ini, saya belum melihat webmsama sekali, karena sesuatu seperti 248 + 140 berfungsi sebagai mkv.

Dalam kasus terakhir, menambahkan --merge-output-format mp4akan dikonversi ke mp4 jika diperlukan. Jadi perintah lengkapnya adalah:

youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
Frank Breitling
sumber