Youtube-dl'den video kalitesi nasıl seçilir?


255

14.04'te youtube-dl'yi yükledim.

Aşağıdaki komutu izleyerek video indirebilirim,

$ youtube-dl [youtube-link]

Ancak youtube videonun mevcut piksel kalitesini nasıl seçeceğimi bilmek istiyorum ( ör. 1080p, 720p, 480p, vb. ) .

Yazılım açıklamasında, bunun mümkün olduğunu söylediler (aşağıdaki resimde gösterilmiştir), ancak nasıl yapılacağı ..

ss


1
Yukarıdaki açıklama eskidir. Sayfadan man: "youtube-dl, YouTube tarafından bildirilen, bazı durumlarda 1080p veya 720p olacak şekilde mevcut en yüksek kaliteyi indirmeyi varsayılan hale getiriyor."
Jos

1
YouTube'un, indirme araçlarının 1080p sürümünü indirmesini (hatta görmesini) engelleyen bir tür koruma kullandığına dikkat edin, ancak 720p dahil olmak üzere tüm diğer çözünürlükleri indirebilirsiniz.
thomasrutter

Partiye biraz geç kaldığımı biliyorum, ama işte benim deneyimim: askubuntu.com/a/1097056/327339 . -f bestSeçeneğini kullanın .
Gabriel Staples

Yanıtlar:


360

Bir video indirmek için, URL’yi aşağıdaki komuttan sonra yazın:

youtube-dl 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Video kalitesini seçmek için , önce -Fmevcut biçimleri listeleme seçeneğini kullanın, işte bir örnek

youtube-dl -F 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

İşte çıktı:

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

En iyi kalite 22'dir, bu yüzden MP4 videosunu 1280x720 çözünürlükte indirmek -f 22yerine kullanın -F:

youtube-dl -f 22 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Veya isteğe bağlı olarak, tek bir dosya olarak kullanılabilen en iyi ses ve video parçalarını otomatik olarak indirmek için aşağıdaki bayrakları kullanın:

youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Takma işlemi sırasında herhangi bir hatayla veya video kalitesi seçimiyle ilgili bir sorunla karşılaşırsanız, aşağıdaki komutlardan birini kullanabilirsiniz:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

veya Gabriel Staples'in burada belirttiği gibi , aşağıdaki komut genellikle video kalitesi bit hızı yerine gerçek en iyi tek dosya video kalitesi çözünürlüğünü seçecektir:

youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Bu komutlar videodan en yüksek kalitede mp4 video ve m4a sesini tek bir dosya olarak indirmenizi ya da tek bir mp4 ile birleştirmenizi sağlar ( ffmpegbenim durumumda kullanarak ). Varsa ffmpegveya avconvyoksa, varsayılan yerine youtube-dltek dosyaya geri -f best optiondönülmelidir.

Daha detaylı bilgi ve bazı farklı örnekler için buraya tıklayın.

Ayrıca, bu ilgili cevabı görmek için tıklayın Gabriel Staples.


Kaynak: www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html

Kaynak: github.com/rg3/youtube-dl


5
Seçmediğinizden emin olun DASH. Bu oynanamaz olacak!
ps95

@ prakharsingh95 DASH ses yalnızca gnac veya benzeri bir yazılım kullanılarak standart dalga veya mp3 formatına dönüştürülebilir.
mchid

1
Kastettiğim DASH Video. İndirmeye çalıştım 4Kama hepsi DASHformatta ( DASHyoutube'un bant genişliğini korumasına izin veriyor). Radikal olarak farklı, çoğunlukla oynanamaz olacak.
ps95

1
@ prakharsingh95 VLC olarak VLC kullanarak mp4'ü görüntüleyebilecek bir şey varsa, videoyu ses için ayrı bir dosyayla senkronize etmenize izin verir. Yine de denemedim. Mp4 dosyasını DASH indirme yazılımından avi formatına dönüştürmeyi denediniz mi? Bence onlar benzer.
mchid

2
Evet. Dash elbette oynanabilir, ancak akışları benzer bir şeyle karıştırmanız gerekiyor avconv. İçin çok yavaş 4K.
ps95

110

Kullanarak 1080p indirebilirsiniz youtube-dl, ancak biraz daha fazla çalışma yapmanız gerekir. Genellikle youtube.com'da 1080p görebilseniz bile maksimum olarak 720p indirir.

-FKullanılabilir formatları görmek için koşun :

youtube-dl -F https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

171         webm      audio only  DASH audio  115k , audio@128k (44100Hz), 2.59MiB (worst)
140         m4a       audio only  DASH audio  129k , audio@128k (44100Hz), 3.02MiB
141         m4a       audio only  DASH audio  255k , audio@256k (44100Hz), 5.99MiB
160         mp4       256x144     DASH video  111k , 12fps, video only, 2.56MiB
247         webm      1280x720    DASH video 1807k , 1fps, video only, 23.48MiB
136         mp4       1280x720    DASH video 2236k , 24fps, video only, 27.73MiB
248         webm      1920x1080   DASH video 3993k , 1fps, video only, 42.04MiB
137         mp4       1920x1080   DASH video 4141k , 24fps, video only, 60.28MiB
43          webm      640x360
18          mp4       640x360
22          mp4       1280x720    (best)

youtube-dlSon seçenek olan 1280x720'yi 'en iyi' kalite olarak etiketlemiş ve varsayılan olarak indireceğinize dikkat çekti , ancak 137 ile başlayan satır aslında 1920x1080'den daha yüksek kalitede. Youtube, DASH etiketli hatlar için video ve ses akışlarını ayırdı, bu yüzden bu durumda 141 ile başlayan hat olan en yüksek kalitede sesi seçmemiz gerekiyor. Sonra youtube-dlbu sefer ses ve videoyu belirterek tekrar koşuyoruz :

youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

1080p videoyu indirecek ve en yüksek kalitede sesle otomatik olarak birleştirecektir. Ayrı indirilen bölümleri de otomatik olarak silmeli. Bu yöntem biraz fazladan bir iştir, ancak size en iyi sonuçları verecektir.


11
çok teşekkür ederim, 137 + 141 hakkında bilmiyordum
whitesiroi

3
Örneğin ve diğerleri, ses için kolay seçenekler sunar; yani, yüksek kalite için en yüksek bit hızı değerine sahip olanı seçin. Son zamanlarda kendimi DASH audio , opus @160kya DASH audio 126k , audio@128k (44100Hz), 1.79MiBda arasında bir seçim ile karşı karşıya buldum DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB. Seçmek zorunda kaldım ama kaliteden veya belki de uyumluluktan emin değilim.
user643722

1
Youtube-dl hakkında en iyi şey, çoklu platform olmasıdır. Bu çözüm yalnızca Linux'ta değil, Mac ve Windows'ta da çalışır. Teşekkür ederim!
Antony

2
Günümüzde bu varsayılandır, ancak yalnızca dosya dönüştürmeyi yapmak için yüklü avconv (libav) veya ffmpeg varsa. Windows için, ayarlamak istediğiniz --ffmpeg-locationyer %APPDATA%\youtube-dl\config.txtavconv / ffmpeg yüklü olduğu dizine. Düşük seviye bir sisteminiz varsa -f bestvideo[fps<=30]+bestaudio, 60 fps videodan kaçınmak için de orada isteyebilirsiniz .
GreenReaper

29

Belirli çözünürlükleri seçmek için, boyut ve ses kalitesini otomatik olarak seçilebilecek şekilde belirleyebilirsiniz - yani 480p :

-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

ile bestvideo[height<=720]+bestaudio/best[height<=720]720p vs Bu can dosyayı yapılandırma için eklenen için ~/.config/youtube-dl/config(hatta /etc/youtube-dl.confbu yüzden) Eğer boy indirmeleri alamadım:

mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config

--ignore-configBelirli bir youtube-dl çalışması için yapılandırma dosyasını devre dışı bırakmak istiyorsanız kullanabilirsiniz .

Lütfen, sık sık ayrı bir video ve ses buharı indirmenin ve birleştirmenin gerekli olacağını unutmayın.

Daha fazla örnek için bkz youtube-dl'ın doucmentation .


1
Aynı videonun farklı segmentlerinin aynı çözünürlük için farklı format kodlarına sahip olduğuyla ilgili bir sorun yaşadım (örneğin, video 2/2 için hls-1476 ve video 2/2 için hls-1665), bu yüzden sadece kullanamadım "-f hls-1476" veya "-f hls-1665" veya "ERROR: istenen biçim kullanılamıyor" komutunu alırdım. Komut örnekleriniz istediğimi almama yardımcı oldu.
ssnobody

1
+1 için~/.config/youtube-dl/config
Marinos An

10

Rahatlığınıza bağlı olarak, burada belirtilenler dışındaki en kaliteli videoları indirmek için diğer seçeneklerden bazıları aşağıda verilmiştir:

Kullanılabilir en iyi mp4 formatını veya mevcut hiçbir mp4 yoksa, en iyilerini indirin

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

Kullanılabilir en iyi formatı indirin ancak bu 480p’den daha iyi değil

$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

Yalnızca en iyi video formatını indirin, ancak en fazla 50 MB indirin

$ youtube-dl -f 'best[filesize<50M]'

HTTP / HTTPS protokolü üzerinden doğrudan bağlantı yoluyla mevcut en iyi formatı indirin

$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'

Referans:

Doğrudan youtube-dl github sayfasından


Nasıl birleştirilir ext=mp4 && height<=480 && filesize<50M?
mrgloom

6

Yalnızca ses, yalnızca video da dahil olmak üzere tüm kullanılabilir yorumlamaları içeren ve ardından video / ses akışını içeren formatı isteyen bir bash sarmalayıcı komut dosyası mpv.

Hem mutlak youtube URL'lerini hem de video kimliklerini kabul eder.

#!/ usr/bin/env bash
# Download youtube video with desired quality

# youtube-dl accepts both fully qualified URLs and video id's such as AQcQgfvfF1M

url="$*"

echo "Fetching available formats for $url..."
youtube-dl -F "$url"
read -p "Please enter the desired quality code: " FORMAT

echo "Streaming with quality $FORMAT..."
mpv --cache=1024 $(youtube-dl -f $FORMAT -g "$url")

Örnek çıktı :

    yt.sh https://m.youtube.com/watch?v=Dax_tnZRExc
    [youtube] Dax_tnZRExc: Downloading webpage
    [youtube] Dax_tnZRExc: Downloading video info webpage
    [youtube] Dax_tnZRExc: Extracting video information
    [youtube] Dax_tnZRExc: Downloading MPD manifest
    [info] Available formats for Dax_tnZRExc:
    format code  extension  resolution note
    139          m4a        audio only DASH audio   49k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 308.75KiB
    249          webm       audio only DASH audio   50k , opus @ 50k, 271.91KiB
    250          webm       audio only DASH audio   70k , opus @ 70k, 366.63KiB
    171          webm       audio only DASH audio  118k , vorbis@128k, 652.50KiB
    140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 820.00KiB
    251          webm       audio only DASH audio  130k , opus @160k, 705.84KiB
    160          mp4        256x144    DASH video  109k , avc1.4d400c, 13fps, video only, 703.64KiB
    278          webm       256x144    144p  111k , webm container, vp9, 25fps, video only, 439.72KiB
    242          webm       426x240    240p  243k , vp9, 25fps, video only, 623.95KiB
    133          mp4        426x240    DASH video  252k , avc1.4d4015, 25fps, video only, 1.54MiB
    134          mp4        640x360    DASH video  388k , avc1.4d401e, 25fps, video only, 1.24MiB
    243          webm       640x360    360p  458k , vp9, 25fps, video only, 1.19MiB
    135          mp4        854x480    DASH video  761k , avc1.4d401e, 25fps, video only, 2.40MiB
    244          webm       854x480    480p  893k , vp9, 25fps, video only, 2.00MiB
    136          mp4        1280x720   DASH video 1382k , avc1.4d401f, 25fps, video only, 4.56MiB
    247          webm       1280x720   720p 1754k , vp9, 25fps, video only, 3.94MiB
    137          mp4        1920x1080  DASH video 2350k , avc1.640028, 25fps, video only, 8.48MiB
    248          webm       1920x1080  1080p 2792k , vp9, 25fps, video only, 8.09MiB
    17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
    36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
    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)
    Please enter the desired format #

Videoyu izlemek yerine videoyu indirmek istiyorsanız, mpv --cache=1024parçayı ve dolar işaretini parantez ile kaldırın .


2

Mevcut en iyi video kalitesi nasıl elde edilir .

Buradaki cevap, en çok oy alan, size en iyi video kalitesini sunmak için doğru olmalı , ama .... değil. bestvideo+bestaudioseçeneklerin sadece en iyi video ve iyi ses seçmek gibi görünüyor sadece video ve ses sadece , o zaman birlikte iki birleştirir. Bunun, youtube-dl'nin varsayılan davranışıyla aynı göründüğünü de unutmayın. Ancak, bakmakta olduğum videoda, en iyi kalite, önceden birleştirilmiş video ve ses biçiminde olan önceden birleştirilen tek bir dosyaydı. bestvideo+bestaudioBunun için sadece bakıyordu çünkü seçenek bu en iyi kalitede 720p dosyayı seçin ETMEDİ ayrı video ve ses dosyaları. Detaylar aşağıda.

Çözüm? Bunun yerine hem video hem de ses içeren en iyi dosyayı tek tek tutmasını sağlayın :

youtube-dl -f best https://youtu.be/FWGC9SqA3J0

Kısacası: -f bestseçeneği kullanın, seçeneği DEĞİL -f bestvideo+bestaudio!

Kanıt:

görüntü tanımını buraya girin

Daha spesifik olarak, koşu sonuçları için aşağıya bakın

youtube-dl -F https://youtu.be/FWGC9SqA3J0

'F'ormats' in hangi videosunu indirmek için uygun olduğunu görmek için:

gabriel ~ $ youtube-dl -F https://youtu.be/FWGC9SqA3J0
[youtube] FWGC9SqA3J0: Downloading webpage
[youtube] FWGC9SqA3J0: Downloading video info webpage
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[info] Available formats for FWGC9SqA3J0:
format code  extension  resolution note
139          m4a        audio only DASH audio   50k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 2.30MiB
249          webm       audio only DASH audio   51k , opus @ 50k, 2.34MiB
250          webm       audio only DASH audio   62k , opus @ 70k, 2.85MiB
171          webm       audio only DASH audio  103k , vorbis@128k, 4.68MiB
251          webm       audio only DASH audio  109k , opus @160k, 5.10MiB
140          m4a        audio only DASH audio  130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 6.13MiB
160          mp4        256x138    DASH video  108k , mp4_dash container, avc1.4d400b, 24fps, video only
134          mp4        640x348    DASH video  142k , mp4_dash container, avc1.4d401e, 24fps, video only, 3.42MiB
133          mp4        426x232    DASH video  242k , mp4_dash container, avc1.4d400c, 24fps, video only
136          mp4        1280x694   DASH video  473k , mp4_dash container, avc1.4d401f, 24fps, video only, 8.01MiB
135          mp4        854x464    DASH video 1155k , mp4_dash container, avc1.4d4014, 24fps, video only
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k, 1.63MiB
36           3gp        320x174    small , mp4v.20.3, mp4a.40.2, 2.98MiB
43           webm       640x360    medium , vp8.0, vorbis@128k, 7.44MiB
18           mp4        640x348    medium , avc1.42001E, mp4a.40.2@ 96k, 8.54MiB
22           mp4        1280x694   hd720 , avc1.64001F, mp4a.40.2@192k (best) 

Bu satır 22'nin en sağında "(en iyi)" yazdığına dikkat edin. Bu videoyu YouTube'da bir web tarayıcısında izlerken elde edebileceğim en iyi kalite olan hd720 kalitesini sunan tek seçenek. En açık ve en iyi tanımı var. En iyi cevap tarafından önerilen komutlardan birini kullandığımda:

youtube-dl -f bestvideo+bestaudio https://youtu.be/FWGC9SqA3J0

VEYA:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 https://youtu.be/FWGC9SqA3J0

Ben her iki alt kalite / düşük çözünürlüklü olduğu bir video ile sona ve daha büyük dosya boyutu vardır. Tam olarak anlamıyorum, ancak -f bestseçenek kesinlikle bana en iyi çözümü veren tek seçenek.

İşte bazı ekran görüntüleri:

  1. Burada doğru cevap olarak kabul edilen düşük kaliteli -f bestvideo+bestaudio seçeneği kullanmak (VEYA sadece varsayılan seçeneği kullanarak:) youtube-dl https://youtu.be/FWGC9SqA3J0:

    • görüntü tanımını buraya girin
    • Simgelerin en tepesinde ne kadar bulanık olduğuna ve okunması ne kadar zor olduğuna dikkat edin!
    • Bu, doğrudan YouTube’da doğrudan tarayıcıdan çevrimiçi olarak izlerken elde ettiğim kaliteden önemli ölçüde daha kötü .
    • Bu seçenek aynı zamanda bir nedenden ötürü daha fazla hafıza kaplar: video 18.0 MB'dir ve sistemimin indirmesi ve yeniden birleştirilmesi (ses + video) -f bestaşağıdaki seçeneklerden daha uzun sürdü; Zaten bir dosya olduğundan.
  2. Tavsiye ettiğim daha yüksek kaliteli -f best seçeneği kullanarak :

    • görüntü tanımını buraya girin
    • Üstteki küçük simgeler ve penceredeki küçük fontların ne kadar net olduğuna dikkat edin!
    • Bu aynı çözünürlük YouTube'da doğrudan tarayıcıda mümkün olan en yüksek çözünürlükte izlerken ne elde etmek.
    • Bu seçenek ayrıca bazı nedenlerden dolayı daha az bellek kaplar: video 14.8 MB'dir.

Ek Okuma:

Detaylar man youtube-dliçin bakınız.


1
1920x1080 seçenekleri için listeleri görmek garip, ama 1280x720 (hd720) seçeneği hala "en iyi" diyor
nmz787

Bütün ekran görüntülerinde bazı elektronik şeyler var.
localhost

@localhost, bu doğru. Youtu.be/FWGC9SqA3J0 : Hepsi , videonun kod snippet'lerinde URL’de gördüğünüz videonun ekran görüntüleri: youtu.be/FWGC9SqA3J0 .
Gabriel Staples

@GabrielStaples Aah. Evet, bu mantıklı. Bunun için üzgünüm.
localhost

Garip değil mi, sol taraftaki en yüksek sayı, kodunuzdaki mevcut biçimlerdeki ekrandaki en yüksek piksel miktarına karşılık gelmiyor mu?
Ben

0

Ben bir disk koruyucuyum, bu yüzden formattaki videoları indiriyorum 1280 x 720,
çünkü 4kvideolar sabit diskimin daha büyüklüğünü alıyor.
Bu yüzden youtube-dl~ / içinde ekliyorum . bashrc dosyası aşağıda belirtildiği gibi

İş kurma -

açık terminal ve tip

  • nano ~/.bashrc
    Şimdi dosyanın çok altına gidin ve aşağıdaki komutu ekleyin
  • alias yt='youtube-dl -if best'
  • basarak dosyayı kaydedin Ctrl obasına ardındanEnter
  • tuşuna basarak dosyadan çıkın Ctrl x
  • ve source ~/.bashrcterminaldeki son çalıştırma komutu

Deney -

Açık terminal ve tip
yt https://www.youtube.com/watch?v=puPUJlV1-W4
Videoyu en iyi kalitede indirmeye başlayacaktır.

Açıklama -
Bash bize komutları vurmayı kısayol gibi davranır adlar tanımlamanızı sağlar
- biz takma tanımlamak bizim durumumuzda
takma yt 'youtube-dl = -i iyi f'
nerede yt rahatlama sağlar 'youtube-dl' için kısayol komutu
parmaklarımızla uzun komutu yazın. Yt
yerine her şeyi yazabilirsin . Bir bayrak ayarlanırsa -i olarak anlamı
youtube-dl -if best

İndirme hatalarına devam edecek, örneğin bir oynatma listesindeki kullanılamayan videoları atlamak için


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.