스토리

Doğrudan Video URL'sinden Video Nasıl İndirilir

Doğrudan video URL'sinin ne olduğunu, tarayıcıda MP4 veya WebM dosyasının nasıl indirileceğini ve CORS, HLS veya DASH oynatma listelerinin neden dosya indirmesini engelleyebileceğini öğrenin.

Bir video URL’sine sahip olmak, bir video dosyasına sahip olmakla aynı şey değildir. Bazı adresler bir MP4 veya WebM kaynağına işaret eder. Bazıları yalnızca bir oynatıcı içeren bir HTML sayfası açar. Diğerleri birçok küçük parçadan oluşan bir akış oynatma listesi yükler.

Bu yüzden bir bağlantı hızla kaydedilir, diğeri ise video oynasa bile indirmeyi reddeder. Bu makalenin geri kalanı, bu durumları ayırt etmek ve dosyayı yalnızca URL gerçekten bir video kaynağıysa kaydetmek hakkındadır.

Doğrudan Video URL’si Nedir?

Doğrudan video URL’si, HTTP yanıtı çevresindeki bir web sayfası değil, medya kaynağının kendisi olan bir adrestir. En yalın örnek şöyledir:

https://example.com/video.mp4

Tarayıcı bu URL’yi istediğinde sunucu bir video dosyasının baytlarını döndürebilir; çoğu zaman video/mp4 veya video/webm gibi bir Content-Type ile. Ortada bir HTML belgesi yoktur. URL dosyanın kendisidir.

Dosya uzantısı bir ipucudur, kural değildir. Yolda .mp4 olmasa da bir bağlantı yine video kaynağı olabilir:

https://example.com/media?id=123

Sunucu Content-Type: video/mp4 (veya başka bir video türü) ve gerçekten medya verisi olan bir gövdeyle yanıt veriyorsa, bu yine doğrudan bir video URL’sidir. .mp4 ile biten bir yol yine de bir yönlendirme veya HTML hata sayfası olabilir. Gerçeğin kaynağı olarak adresin sonundaki harflere değil, HTTP yanıtına bakın.

Doğrudan Video URL’si ile Video Web Sayfası

Şu ikisini karşılaştırın:

  • Doğrudan dosya: https://example.com/files/movie.mp4
  • Web sayfası: https://example.com/watch/movie

İlki tek bir video nesnesi olabilir. İkincisi genellikle bir HTML belgesidir. O sayfa bir <video> öğesi gömebilir, bir oynatıcı betiği yükleyebilir ve ardından medyayı adres çubuğunda hiç görünmeyen farklı bir URL’den çekebilir.

Web sayfası adresini bir indirme aracına yapıştırmak, dosyayı sayfadan çıkarmaz. Tarayıcı HTML isterdi. Doğrudan, herkese açık video URL’leri üzerinde çalışan bir araç, medya adresinin kendisine ihtiyaç duyar.

NEXNARA’nın Web Video İndirici aracı bu herkese açık dosya URL’si için tasarlanmıştır, izleme sayfası için değil. Web sitelerinden video çıkarmaz, hesaplara giriş yapmaz ve bir oynatıcıdaki akışları birleştirmez.

Doğrudan URL’den Video Nasıl İndirilir

Aday bir bağlantınız zaten varsa:

  1. Doğrudan URL’yi alın. İzleme sayfası değil; dosya, nesne veya medya URL’si kullanın.
  2. Bunun bir video kaynağı olduğunu kontrol edin. Yeni bir sekme, düzende oynatıcısı olan bir sayfa değil, tarayıcının yerleşik oynatmasını (veya bir indirme istemi) göstermelidir.
  3. Önce tarayıcıyı deneyin. Birçok tarayıcı, videonun bağlam menüsünden kaydetmenize izin verir veya sunucu bir dosya disposition gönderirse indirmeyi başlatır.
  4. Önce önizleme istiyorsanız tarayıcı tabanlı bir araç kullanın. Aynı URL’yi kaydetmeden önce biçim, süre veya boyutu gösterebilen bir sayfaya yapıştırın.

Web Video İndirici bu son adımdır. Doğrudan bir video URL’si yapıştırırsınız. Tarayıcı o ana makineye istek gönderir. Kaynak oynatılabilir bir dosyaysa bir önizleme görünür. Video sunucusu çapraz köken okumalarına izin verdiğinde indirebilirsiniz; izin vermezse önizleme çalışıyorsa URL’yi yine de açabilirsiniz. NEXNARA dosyayı kendi sunucularına yüklemez.

Hangi Video Biçimleri İndirilebilir?

Tarayıcıda “bunu indirebilir miyim?” sorusu, “bu tarayıcı bu dosyayı çözebilir mi?” sorusuna yakındır. Tek dosyalık bir URL için yaygın kapsayıcılar:

  • MP4 — çoğu zaman ISO BMFF kapsayıcısında H.264 veya HEVC
  • WebM — genellikle VP8, VP9 veya AV1
  • Ogg Video — daha az yaygındır; kodek desteği tarayıcıya göre değişir

Kapsayıcı ve kodek aynı şey değildir. Bir .mp4 dosyasının her tarayıcıda ve her cihazda oynayacağı garanti edilmez. HEVC ve AV1 desteği işletim sistemine, donanıma ve tarayıcı sürümüne bağlıdır. HTML5 video öğesini kullanan bir araç, o tarayıcının çözebildiğini önizler. Dosyayı dönüştürmez veya yeniden paketlemez (remux).

Tarayıcı desteklenmeyen biçim bildirirse dosya başka bir yerde yine de oynayabilir — ya da yanlış etiketlenmiş bir nesne veya tek dosya yerine bir oynatma listesi olabilir.

Bir Video Neden Oynar Ama İndirilmez?

Oynatma ve kaydetme farklı tarayıcı API’lerini kullanır.

<video> öğesi kaynağı isteyebilir (çoğu zaman HTTP range istekleriyle) ve kareleri çizebilir. Bu, başka bir kökendeki JavaScript’in baytları okuyup kullanıcının saklayabileceği bir dosyaya dönüştürmesine izin verilmese bile başarılı olabilir.

Önizlemenin çalışıp İndir’in başarısız olmasının tipik nedenleri:

  • CORS. Video ana makinesi, bu web sitesine yanıtı betikten okuma izni vermedi. Bir sonraki bölüme bakın.
  • Çapraz köken kimlik bilgileri. Orijinal sitede çalışan çerezler, her iki taraf da izin vermedikçe basit bir siteler arası fetch ile gönderilmez.
  • Content-Disposition. attachment veya bir dosya adı, üst düzey bir gezinmenin nasıl kaydedeceğini etkiler; başka bir kökendeki betiğin gövdeyi okuyup okuyamayacağını değil.
  • Sunucu yapılandırması. Eksik CORS başlıkları veya engellenmiş HEAD/GET kombinasyonları, kaynağı önce inceleyen bir aracı durdurabilir.
  • Kimlik doğrulama. Ana makinede oturum açıkken çalışan bir URL, başka bir siteden 401/403 döndürebilir.
  • Süresi dolan veya imzalı URL’ler. Nesne depolama çoğu zaman zaman sınırlı bir sorgu dizisi verir. Süre dolunca aynı bağlantı başarısız olur.

Bunların hiçbiri dosyanın “video olmadığı” anlamına gelmez. Bu tarayıcı bağlamının onu kopyalamasına izin verilmediği anlamına gelir.

CORS Nedir?

CORS (Cross-Origin Resource Sharing), bir kökendeki JavaScript’in başka bir kökenden gelen yanıtı ne zaman okuyabileceğine dair bir tarayıcı kuralıdır. Özel bir “indirme önleme” ürünü değildir. https://a.example sitesinin, b.example izin vermedikçe https://b.example üzerindeki postanızı veya dosyalarınızı sessizce okuyamaması için vardır.

Bir video etiketi yine de çapraz kökenli bir dosyayı gösterebilir. CORS’un çoğu zaman engellediği şey, ham baytları kaydetme iletişim kutusu için bir Blob olarak isteyen başka bir web sitesinden gelen fetch() çağrısıdır. Video sunucusu, aracın kökenini (veya basit herkese açık bir dosya için *) içeren bir Access-Control-Allow-Origin değeri göndermezse, bu okuma reddedilir.

Oynatmak, başka bir sitenin betiğinin bir kopya saklamasına izin vermek değildir. NEXNARA bu denetimi atlamak için dosyayı vekil olarak iletmez. İndirme engellenirse, geri dönüş video ana makinesindeki URL’yi açmaktır — ve yalnızca kaydetme hakkınız varsa.

HLS ve DASH Ne Olacak?

Birçok oynatıcı tek bir MP4 yüklemez. Bir manifest yükler, ardından birçok segment.

  • HLS çoğu zaman .m3u8 ile biten bir URL kullanır. Bu dosya bir oynatma listesidir (metin), tek nesnede tam bir film değildir.
  • DASH çoğu zaman .mpd kullanır; temsillere ve segmentlere işaret eden bir XML manifest’tir.

Doğrudan bir MP4/WebM URL’si ile bir HLS/DASH oynatma listesi farklı kaynaklardır. “.m3u8 dosyasını” kaydetmek size filmi değil, küçük bir metin dosyası verir. Segmentlerden tek dosya oluşturmak, oynatma listesini çözümlemeyi, segment indirmeyi ve genellikle yeniden paketlemeyi (remux) gerektirir. Web Video İndirici HLS veya DASH akışlarını birleştirmez. Araç bir akış oynatma listesi bildirirse, bu beklenen davranıştır.

DRM korumalı video

Ticari oynatıcılar medyayı Widevine, FairPlay veya PlayReady gibi DRM ile sarabilir. Bu sistemler örnekleri şifreler ve lisans ister. Bu, alıp saklayabileceğiniz herkese açık bir video/mp4 nesnesi değildir. NEXNARA DRM’yi çözmez veya atlatmaz.

Doğrudan Video URL’si Nasıl Tanınır

Pratik kontroller, ne kadar kanıtladıklarına göre:

  • Yol .mp4, .webm, .ogv veya benzer bir medya uzantısıyla biter. Yararlıdır, kesin değildir.
  • URL’yi yeni bir sekmede açmak, tam bir site çerçevesi değil, yalnız bir video (veya indirme) gösterir.
  • Yayıncı bunu dosya veya nesne bağlantısı olarak belgelemiştir (CDN, depolama kovası, “doğrudan indirme”).
  • Yanıt başlıklarında Content-Type: video/* vardır (örneğin video/mp4).

Tarayıcı geliştirici araçları, bir sayfanın normal kullanıcısı olarak zaten yaptığınız bir isteğin Ağ panelindeki türünü ve Content-Type değerini gösterebilir. Bu, neyin çekildiğini anlamanıza yardımcı olur. Gizli akışları kazıma veya oturumları atlatma kılavuzu değildir. Bir site size herkese açık bir dosya URL’si vermiyorsa, bu iş akışı geçerli değildir.

Uzantı ve içerik türü ikisi de yalan söyleyebilir. Bir .mp4 URL’si HTML’ye yönlendirebilir. Bir video/mp4 türü yine de küçük bir hata gövdesi olabilir. Sekmedeki oynatma pratik doğrulamadır.

Sık Karşılaşılan Sorunlar

URL bir web sayfası açıyor.
Doğrudan video URL’si değildir. İzleme sayfasına değil, medya kaynağı adresine ihtiyacınız vardır.

Video oynuyor ama İndir işe yaramıyor.
Ana makine büyük olasılıkla çapraz köken okumalarına izin vermiyor (CORS) veya dosya tarayıcı içi kaydetme için çok büyük. Önizleme çalışıyorsa ’ı kullanın veya izniniz varsa video ana makinesinden üst düzey bir sekmede kaydedin.

Bağlantı eskiden çalışıyordu, şimdi başarısız.
İmzalı veya süresi dolan URL’ler bir zamanlayıcıyla ölür. İlk bağlantıyı aldığınız yerden yeni bir bağlantı isteyin.

URL .m3u8 veya .mpd ile bitiyor.
Bu bir akış oynatma listesidir, tek bir MP4/WebM dosyası değildir. Bu indirici o segmentleri birleştirmez.

Tarayıcı biçimin desteklenmediğini söylüyor.
Kapsayıcı veya kodek o tarayıcı/işletim sisteminde mevcut olmayabilir. Başka bir tarayıcı deneyin veya dosyanın gerçekten bir video nesnesi olduğunu doğrulayın.

Tarayıcı URL’ye ulaşamıyor.
https:// önekini, bağlantınızı ve ana makinenin herkese açık erişime izin verdiğini kontrol edin. HTTPS bir araç sayfasındaki HTTP dosyası, karma içerik olarak da başarısız olabilir.

Gizlilik

NEXNARA, bu araç için video dosyasını NEXNARA sunucularına yüklemez. Bu, “URL asla tarayıcınızı terk etmez” demekle aynı şey değildir.

Bir adres yapıştırdığınızda tarayıcınız o harici video ana makinesine doğrudan istek gönderir. Ana makine sizden normal bir medya isteği görebilir. NEXNARA dosyayı ortada saklamaz. Video işletmecisi yine trafik alır çünkü baytlar onların URL’sinden gelir.

Sorumlu kullanım

Yalnızca sahip olduğunuz veya indirme izniniz olan videoları indirin. Herkese açık bir URL, kopyalama lisansı değildir.

SSS

Doğrudan video URL’si nedir?

Yanıtı videonun kendisi olan bir bağlantıdır (örneğin bir MP4 veya WebM nesnesi); oynatıcı gömen bir HTML izleme sayfası değil.

Bir URL’den MP4 indirebilir miyim?

Evet, URL herkese açık bir MP4 (veya benzeri) dosyaysa ve tarayıcı onu çözebiliyorsa. Adres bir web sayfası veya oynatma listesiyse, o adresi kaydetmek size film dosyasını vermez.

Bir video neden oynar ama indirilmez?

Oynatıcı, başka bir web sitesinin JavaScript’inin baytları okumasına izin vermeden medyayı gösterebilir. CORS, kimlik doğrulama ve sunucu politikası olağan nedenlerdir.

Bir m3u8 URL’sini indirebilir miyim?

Bu araçla tek, bitmiş bir video olarak hayır. Bir .m3u8 dosyası HLS oynatma listesidir. NEXNARA HLS veya DASH akışlarını birleştirmez.

NEXNARA videomu yüklüyor mu?

Hayır. Dosya NEXNARA’ya yüklenmez. Tarayıcınız girdiğiniz video URL’siyle konuşur, bu yüzden harici ana makine o isteği yine görür.

Video bağlantım neden süresi doldu?

Birçok ana makine nesne URL’lerine bir imza ve son kullanma zamanı ekler. O zamandan sonra aynı dize artık yetkili değildir. Yeni bir bağlantı isteyin; eskisini düzenlemek onu yenilemez.