Lewati ke konten

Mengapa unduhan YouTube berhenti di sekitar 360p

YouTube menyajikan MP4 utuh — gambar dan suara dalam satu berkas — hanya pada resolusi sedang. Di atas itu semuanya disimpan sebagai aliran terpisah yang harus digabungkan, dan alat ini tidak menggabungkan.

Ini kejutan paling umum di halaman YouTube, jadi layak disebut dulu: batas atasnya normalnya 360p, kadang 240p, dan itu bukan pengaturan yang bisa dinaikkan. Pengunduh menawarkan MP4 progresif yang diterbitkan YouTube sebagai satu berkas. Rendition 1080p ada di sisi YouTube, tetapi tidak sebagai berkas tunggal.

Termux dan adaptif adalah dua hal berbeda

YouTube menyimpan setiap video dalam dua bentuk. Format termux membawa gambar dan suara bersama dalam satu MP4 — berkas yang bisa disimpan dan diputar di mana saja. Format adaptif memisahkannya: aliran video-saja dan aliran audio-saja terpisah, masing-masing dikodekan pada bitrate mana pun yang dipilih YouTube untuk resolusi itu.

Memutar 1080p di browser itu mudah, karena pemutarnya mengambil kedua aliran dan menyambungnya saat itu juga. Menyimpan 1080p sebagai satu berkas adalah pekerjaan berbeda: sesuatu harus menggabungkan treknya. Pengunduh ini tidak membawa muxer, jadi ia hanya mendaftar format termux — dan, makin sering, YouTube menyajikannya pada 360p ke bawah. Format termux 720p yang dulu ada tidak lagi diberikan kepada klien anonim.

Apa yang dilakukan resolver

Tangga klien itulah sebabnya video yang gagal pada satu percobaan bisa berhasil pada percobaan berikutnya: klien yang berbeda ditawari format yang berbeda, dan YouTube mengubah mana yang tersedia seiring waktu.

Mengapa tautannya membuka tab baru

Byte video datang dari googlevideo.com, yang tidak mengirim header CORS. Halaman tidak bisa membacanya, jadi tombol unduh mengarahkan ke tautannya sebagai gantinya — browser Anda menyimpan berkasnya langsung dari CDN Google. Dua detail membuat navigasi itu berperilaku baik: resolver menambahkan parameter judul ke URL, yang membuat server Google menjawab dengan content-disposition: attachment sehingga berkasnya tersimpan alih-alih diputar di tab.

Mengapa tidak ada yang disimpan di cache

Hasil platform lain di-cache selama beberapa menit atau lebih. Hasil YouTube tidak pernah di-cache, sengaja: tautan googlevideo.com terikat pada alamat yang memintanya dan cepat kedaluwarsa. Tautan yang di-cache akan terlihat seperti tombol unduh dan gagal seperti tautan mati, jadi resolver menanyakan YouTube dari awal setiap kali.

Apa yang tidak didukung

KasusHasil
Video publikDiselesaikan; format MP4 termux yang ditawarkan YouTube.
Privat, khusus anggota, batas usiaprivate — resolver tidak pernah masuk.
Video yang dihapus atau ditariknot_found.
Siaran langsung yang sedang berjalanTidak ada berkas termux selama siaran berjalan.
ShortsBekerja seperti video lain, dengan batas atas resolusi yang sama.

Versi singkat

Pertanyaan

Bisakah ini mengunduh 1080p dari YouTube?

Tidak. YouTube menyimpan 1080p sebagai aliran video-saja dan audio-saja terpisah, dan alat ini tidak menggabungkannya. Ia menawarkan MP4 termux yang diterbitkan YouTube sebagai satu berkas, yang normalnya 360p.

Mengapa videonya membuka tab baru alih-alih terunduh di dalam halaman?

Karena `googlevideo.com` tidak mengirim header CORS, jadi halaman tidak bisa membaca byte-nya. Tautannya membawa parameter judul yang membuat Google menjawab dengan `content-disposition: attachment`, sehingga browser Anda menyimpan berkasnya alih-alih memutarnya.

Mengapa tautan yang sama kadang mencantumkan kualitas berbeda?

Resolver menanyakan YouTube melalui beberapa identitas klien resmi, dan mereka tidak ditawari format yang sama. Menarik tautannya lagi setelah beberapa saat bisa mengubah daftarnya.

Alat di artikel ini

Semua artikel