Base64'ten videoya
Base64 Giriş
Base64 Giriş
Video Preview
Base64 ile kodlanmış video verilerini çevrimiçi olarak oynatılabilir MP4/WebM/OGG video dosyalarına geri yükleyin. Data URL öneki otomatik tanıma desteği sunar, tüm işlemler tarayıcıda yerel olarak gerçekleşir, video verileri sunucuya yüklenmez. Backend API arayüzlerinde hata ayıklama, video kodlama doğrulama ve frontend gömülü videoları geri yükleme için uygundur. Kod çözüldükten sonra anında önizleme ve indirme imkanı sunar.
İlgili Öneriler
Kullanım senaryoları
- Backend video arayüzlerinde hata ayıklama: API Base64 ile kodlanmış video verileri döndürdüğünde, frontend kod çözme kodu yazmaya gerek kalmadan doğrudan araca yapıştırarak hızlıca önizleyin ve arayüz yanıtının doğru olup olmadığını doğrulayın
- Video kodlama çıktısını doğrulama: FFmpeg veya bulut dönüştürme hizmetleriyle Base64 video ürettikten sonra, kod çözüp oynatarak dönüştürme sonucunun normal olup olmadığını kontrol edin, kodlama bozulması sorunlarını tespit edin
- Frontend gömülü videoları geri yükleme: HTML, CSS veya JavaScript'teki Data URL formatındaki gömülü videoları (data:video/mp4;base64,...) çıkarın ve görüntülenebilir video dosyalarına geri yükleyin
- Video verilerini hızlıca doğrulama: İki Base64 videonun kod çözüldüğünde aynı içeriği verip vermediğini karşılaştırın veya Base64 iletimi sırasında veri bozulması olup olmadığını kontrol edin
- Kısa videoları geçici olarak önizleme: Yerel olarak kaydetmeniz gerekmeyen kısa video parçaları için, içeriği doğruladıktan sonra indirmeye karar vermek üzere doğrudan araçta oynatma önizlemesi yapın
- Web kazıyıcı verilerini ayrıştırma: Web kazıyıcıların yakaladığı Base64 ile kodlanmış video verilerini hızlıca oynatılabilir dosyalara dönüştürerek içerik denetimi veya analizi yapın
- İstemci geliştirme hata ayıklaması: Mobil uygulama ve mini program geliştirmede, backend Base64 video döndürdüğünde, istemci kod çözme geliştirmeden önce verinin doğruluğunu bu araçla doğrulayın
- Eğitim ve gösterim amaçlı kullanım: Base64 kodlama prensiplerini, Data URL teknolojisini, frontend'de Blob/URL.createObjectURL kullanımını anlatırken çevrimiçi gösterim aracı olarak kullanın
- E-posta eki önizlemesi: Bazı e-posta sistemleri ekleri gömmek için Base64'e dönüştürür, çıkardıktan sonra video içeriğini hızlıca geri yükleyip görüntüleyin
- Hata tekrarına yardımcı olma: Test ekibi videoyla ilgili hataları bildirdiğinde Base64 verilerini sağlayın, geliştiriciler videoyu hızlıca geri yükleyip sorunlu senaryoyu tekrar oluşturabilsin
Nasıl Kullanılır
- Base64 video verisini edinin: API yanıtı, loglar, HTML kaynak kodu, veritabanı vb. yerlerden Base64 ile kodlanmış video dizesini kopyalayın, Data URL önekli veya öneksiz desteklenir
- Giriş alanına yapıştırın: Kopyaladığınız Base64 metnini tam olarak aracın giriş kutusuna yapıştırın, araç data:video/...;base64, önekinin olup olmadığını otomatik olarak algılayacaktır
- Formatı onaylayın veya seçin: Girişte Data URL öneki varsa araç MIME türünü otomatik olarak tanır; saf Base64 ise ilgili video formatını (MP4/WebM/OGG) manuel olarak seçin
- Kod çözme düğmesine tıklayın: Kod çözme düğmesine tıkladıktan sonra araç tarayıcıda yerel olarak Base64 kod çözme, Uint8Array dönüştürme, Blob oluşturma vb. işlemleri gerçekleştirir, işlem sırasında durum ipucu gösterir
- Video bilgilerini görüntüleyin: Kod çözme tamamlandıktan sonra dosya boyutu, MIME türü, format onayı gibi temel video bilgilerini görüntüleyerek kod çözmenin başarılı olup olmadığını doğrulayın
- Videoyu oynatın: Yerleşik HTML5 oynatıcıyı kullanarak videoyu önizleyin, video içeriğinin tam olup olmadığını, görüntü ve sesin normal olup olmadığını kontrol etmek için ilerleme çubuğunu sürükleyin
- Video dosyasını indirin: Videonun doğru olduğunu onayladıktan sonra, Blob videoyu yerel olarak kaydetmek için indirme düğmesine tıklayın, dosyaya otomatik olarak doğru uzantı (.mp4/.webm/.ogg) atanacaktır
Özellikler
- Akıllı giriş formatı tanıma: saf Base64 kodlamasını ve tam Data URL formatını (data:video/...;base64, öneki) otomatik olarak algılar, öneki manuel olarak kaldırmaya gerek kalmadan kod çözer
- Çoklu format desteği: MP4 (video/mp4), WebM (video/webm), OGG (video/ogg) gibi modern tarayıcıların doğal olarak desteklediği tüm yaygın video MIME türlerini tam olarak destekler
- Tarayıcıda yerel işleme: Tüm Base64 kod çözme, Blob oluşturma ve video önizleme işlemleri JavaScript aracılığıyla kullanıcının tarayıcısında tamamen gerçekleşir, video verileri hiçbir sunucuya yüklenmez
- Anında oynatma önizlemesi: Kod çözme işleminden sonra otomatik olarak HTML5 video oynatıcı oluşturulur, oynatma, duraklatma, ilerleme çubuğu sürükleme, ses ayarı, tam ekran gibi tam oynatma kontrolleri sunar
- Orijinal dosya indirme: Kodu çözülen videoyu tek tıklamayla yerel dosya olarak kaydedin, dosya uzantısı (.mp4/.webm/.ogg) MIME türüne göre otomatik olarak doğru seçilir
- Otomatik MIME türü algılama: Data URL önekinden video formatını otomatik olarak tanır, manuel seçim gerektirmez; saf Base64 girişinde manuel format belirleme desteği sunar
- Gerçek zamanlı kod çözme ilerleme göstergesi: Büyük boyutlu Base64 verileri kod çözerken işlem durumu gösterilir, kullanıcının sayfanın donduğunu düşünmesini önler
- Video meta bilgisi gösterimi: Kod çözme işleminden sonra video boyutu, MIME türü, süre (oynatılabiliyorsa), çözünürlük gibi temel bilgiler görüntülenir
- Hata tanılama ipuçları: Hatalı giriş formatı, bozuk Base64 kodlaması veya desteklenmeyen video formatında net hata mesajları ve sorun giderme önerileri sunar
- Sürükle ve bırak, yapıştırma desteği: Base64 metnini doğrudan yapıştırma ve metin dosyalarını giriş alanına sürükleyip bırakma desteği sunarak hata ayıklama verimliliğini artırır
- Kodlama sorunlarını otomatik düzeltme: Base64 doldurma karakterlerinin (=) eksik olması, boşluk karakterleri, satır sonu karakterleri gibi yaygın format sorunlarını otomatik olarak işler
- Çapraz tarayıcı uyumluluğu: Chrome, Firefox, Safari, Edge gibi tüm modern tarayıcıları destekler, standart atob ve Uint8Array API'lerini kullanır
- Duyarlı tasarım: Masaüstü ve mobil cihazlarda kullanım desteği sunar, telefon ve tabletlerde de kısa videoları sorunsuz şekilde kod çözer ve önizler
- Gizlilik güvenliği garantisi: Video verileri tamamen yerel bellekte işlenir, sayfa kapatıldıktan sonra veriler hemen silinir, hiçbir önbellek veya kayıt kalmaz
Sık Sorulan Sorular
Base64'ten videoya aracı hangi video formatlarını destekler?
Tarayıcının doğal olarak oynatabildiği yaygın video formatları desteklenir: MP4 (video/mp4, H.264+AAC kodlaması), WebM (video/webm, VP8/VP9+Vorbis/Opus kodlaması), OGG (video/ogg, Theora+Vorbis kodlaması). Bunlar arasında MP4 formatı en iyi uyumluluğa sahiptir, tüm modern tarayıcılar ve mobil cihazlar tarafından desteklenir, öncelikli olarak kullanılması önerilir. Videonuz başka formatlardaysa (MOV, AVI, MKV gibi), önce FFmpeg ile MP4(H.264+AAC) formatına dönüştürüp ardından Base64 kodlaması yapın.
Girişte data:video/mp4;base64 önekini eklemek gerekiyor mu?
Gerekmez. Araç iki giriş formatını destekler: ①saf Base64 dizesi (herhangi bir önek olmadan); ②tam Data URL (data:video/xxx;base64, öneki ile). Araç girişte önekin olup olmadığını otomatik olarak algılar, varsa Base64 içeriğini otomatik olarak çıkarır ve MIME türünü tanır. API'nin döndürdüğü tam içeriği doğrudan kopyalamanız önerilir, öneki manuel olarak işlemeniz gerekmez.
Kodu çözülen videoyu doğrudan tarayıcıda oynatabilir miyim?
Evet. Kod çözme tamamlandıktan sonra araç yerleşik bir HTML5 video oynatıcı oluşturur; oynatma/duraklatma, ilerleme çubuğu sürükleme, ses ayarı, tam ekran oynatma gibi tam işlevleri sunar. Görüntü ve sesin normal olduğunu doğruladıktan sonra dosyayı yerel olarak indirmeye karar vermek için video içeriğini doğrudan sayfada önizleyebilirsiniz.
Büyük boyutlu Base64 videoları işleme desteği var mı? Boyut sınırlaması var mı?
Aracın kendisinde katı boyut sınırlaması yoktur, ancak tarayıcıların bellek ve performans sınırlamaları vardır. Base64 kodlaması video hacmini yaklaşık %33 artırır, kod çözme sürecinde tarayıcının Base64 dizesi, ikili dize, Uint8Array, Blob vb. birden çok kopyayı depolamak için bellek ayırması gerekir; tepe bellek kullanımı orijinal video boyutunun 3-5 katı olabilir. Akıcı çalışma için 5 MB'a kadar olan Base64'ün (yaklaşık 3,7 MB orijinal videoya karşılık gelir) işlenmesi önerilir; 10 MB'ı aşan Base64 sayfanın donmasına neden olabilir. Büyük videolar için Base64 yöntemi önerilmez, geleneksel dosya yükleme ve URL ile yükleme yöntemlerini kullanın.
Video verileri sunucuya yükleniyor mu? Gizlilik güvenli mi?
Tüm kod çözme işlemleri tamamen tarayıcınızda yerel olarak JavaScript aracılığıyla gerçekleşir, video verileri hiçbir sunucuya yüklenmez ve hiçbir ağ isteği göndermez. Sayfayı kapattıktan sonra video verileri tarayıcı belleğinden hemen silinir, hiçbir önbellek veya kayıt kalmaz. Ağı kapatıp bu aracı kullanabilirsiniz, kod çözme işlevi normal şekilde çalışmaya devam eder.
Neden Base64 kodlamasından sonra video orijinal dosyadan 1/3 oranında daha büyük?
Bu Base64 kodlamasının prensibi tarafından belirlenir, bu aracın sorunu değildir. Base64 her 3 bayt (24 bit) ikili veriyi 4 ASCII karakterine (her karakter 1 bayt kaplar) yeniden kodlar; bu nedenle kodlamadan sonra hacim orijinalin 4/3≈%133'ü olur, yani hacim yaklaşık %33 artar. Orijinal veri uzunluğu 3'ün katı değilse, sonuna = işaretleriyle doldurulur, gerçek hacim artışı yaklaşık %33-%37'dir. Bu hacim artışı tüm Base64 kodlamalarının ortak özelliğidir, bu aracın sorunu değildir.
MP4 Base64'üm neden kod çözdükten sonra oynatılamıyor?
MP4 yalnızca bir kapsayıcı formattır, oynatılabilmesi için içindeki video kodekinin tarayıcı tarafından desteklenen formatta olması gerekir. Vakaların %99'unda video kodeki H.264 değil veya ses kodeki AAC değil. Örneğin MP4'ün içinde H.265(HEVC), AV1 vb. kodekler kapsüllenmişse tarayıcı oynatamayabilir. Kodlama bilgilerini görüntülemek için FFmpeg komutunu ffmpeg -i input.mp4 kullanabilirsiniz; H.264+AAC değilse, dönüştürmek için ffmpeg -i input.mp4 -c:v libx264 -c:a aac -movflags +faststart output.mp4 komutunu kullanıp ardından Base64'e kodlayın. Ayrıca MIME türünün video/mp4 olarak ayarlandığından ve Base64 verilerinin tam ve kesilmemiş olduğundan emin olun.
Video kodekimin tarayıcılarla uyumlu olup olmadığını nasıl doğrularım?
Doğrulamak için FFmpeg aracını kullanmanız önerilir: FFmpeg'i yükledikten sonra ffmpeg -i yourvideo.mp4 komutunu çalıştırın, çıktıdaki Video ve Audio satırlarına bakın. Video satırı h264 (veya avc) içermeli, Audio satırı aac içermelidir. Örneğin: Stream #0:0(eng): Video: h264 (avc1/0x31637661...), Stream #0:1(eng): Audio: aac (mp4a/0x6134706D...). Bu iki kodek değilse dönüştürme gerekir. Ayrıca orijinal video dosyasını doğrudan Chrome tarayıcı penceresine sürükleyebilirsiniz — doğrudan oynuyorsa kodlamanın tarayıcılarla uyumlu olduğu anlamına gelir.
Kod çözdükten sonra indirilen video dosyasının uzantısı nedir?
Araç, seçtiğiniz (veya otomatik olarak tanıdığı) MIME türüne göre doğru dosya uzantısını otomatik olarak eşleştirir: video/mp4 .mp4'e karşılık gelir, video/webm .webm'e karşılık gelir, video/ogg .ogv'ye karşılık gelir. Uzantıyı manuel olarak değiştirmeniz gerekmez, indirilen dosya doğrudan sistem varsayılan oynatıcısıyla açılabilir.
Base64 dizesindeki satır sonu karakterleri ve boşluklar kod çözmeyi etkiler mi?
Etkilemez. Araç Base64 dizesindeki boşluk karakterlerini — satır sonu karakterleri (\n), satır başı (\r), boşluklar, sekmeler vb. — otomatik olarak işler, bu karakterler kod çözmeden önce kaldırılır. Bu nedenle Base64'iniz çok satırlı formattaysa (örneğin her 76 karakterde satır sonu olan MIME formatı) veya kopyalama sırasında biçimlendirme boşlukları girmiş olsa bile kod çözme normal şekilde çalışır.
Frontend'de JavaScript ile Base64'ten videoya dönüştürme nasıl uygulanır?
Temel kod mantığı şu şekildedir: ①Saf Base64 elde etmek için Data URL önekini kaldırın; ②atob(base64Str) ile ikili dizeye kod çözün; ③İkili dizeyi Uint8Array'e dönüştürün (her karakteri yineleyin ve charCode'u alın); ④new Blob([uint8Array], {type: 'video/mp4'}) ile Blob oluşturun; ⑤URL.createObjectURL(blob) ile geçici URL oluşturun; ⑥URL'yi video.src'ye ayarlayın. Bellek sızıntılarını önlemek için kullandıktan sonra URL.revokeObjectURL(url) işlevini çağırarak belleği serbest bırakmayı unutmayın.
Data URL video ile Blob URL video arasındaki fark nedir?
Data URL, tam Base64 verilerini doğrudan URL'nin içine yazar; biçim data:video/mp4;base64,XXXX şeklindedir, URL'nin kendisi tüm verileri içerir; Blob URL, URL.createObjectURL() tarafından oluşturulan blob:// biçimindeki geçici bir başvurudur, tarayıcı belleğindeki Blob nesnesini işaret eder, URL'nin kendisi kısadır ve veri içermez. Data URL her kullanıldığında tüm Base64 dizesini ayrıştırmak gerekir, performans daha kötüdür; Blob URL daha verimlidir, oynatma ve yeniden kullanım için uygundur. Bu araç dahili olarak oynatıcıyı uygulamak için Blob URL yöntemini kullanır.
Hangi senaryolarda videoyu Base64 ile kodlamak uygundur? Hangi senaryolarda uygun değildir?
Uygun senaryolar: ①birka MB boyutundaki kısa videolar (yükleme animasyonları, ipuçları, simge animasyonları); ②videoyu tek HTML dosyalı Demo/belgelere gömme gerektiren durumlar; ③e-postalara gömülü küçük videolar; ④API arayüz hata ayıklama sırasında küçük videoların geçici olarak iletilmesi. Uygun olmayan senaryolar: ①5 MB'ı aşan videolar (hacmin %33 artması bant genişliğini çok fazla boşa harcar); ②kullanıcılar tarafından yüklenen videolar (boyut kontrol edilemez); ③akışlı yükleme veya ilerleme çubuğu sürükleme gerektiren uzun videolar; ④tarayıcı tarafından önbelleğe alınıp yeniden kullanılması gereken videolar (Data URL ayrı olarak önbelleğe alınamaz); ⑤üretim ortamında kullanıcılara yönelik video içeriği (CDN ve harici dosya URL'leri kullanılmalıdır).
Neden video kod çözdükten sonra Safari'de normal oynuyor ama Chrome'da oynamıyor?
Bu durum nispeten nadirdir, genellikle video kodeki H.265(HEVC) olduğundan kaynaklanır — Safari macOS ve iOS'ta H.265'i iyi destekler (donanım hızlandırma vardır), ancak Chrome ve Firefox H.265 için sınırlı desteğe sahiptir (donanım ve lisans gerektirir). Çözüm: tüm tarayıcılar tarafından desteklenen evrensel kodek olan H.264'e dönüştürme. Chrome'un oynatıp Safari'nin oynatmadığı ters durum daha yaygındır; genellikle kodlama Profile/Level'ının çok yüksek olması veya moov atom'un dosyanın sonunda olmasıyla ilgilidir.
Base64 video ile video dosyaları arasında karşılıklı dönüşümde görüntü kalitesi kaybı olur mu?
Görüntü kalitesi kaybı olmaz. Base64 bir kodlama yöntemidir, sıkıştırma veya dönüştürme değildir; sadece ikili veriler ile metin dizeleri arasında bire bir eşleşmeli dönüşüm yapar. Video Base64'e dönüştürüldükten sonra geri kod çözüldüğünde elde edilen ikili veriler orijinal video dosyasıyla tamamen aynıdır (bayt bayt aynı), hiçbir görüntü veya ses kalitesi kaybı olmaz — bu dosyayı kopyalayıp yapıştırmaya benzer, sıkıştırma ve dönüştürme değildir. Base64 kodlama ve kod çözme süreci doğru olduğunda video kalitesi orijinal dosyayla tamamen aynıdır.
Sorun Giderme
Base64 kod çözdükten sonra video oynatılamıyor, HTML5 video desteklenmeyen format veya siyah ekran gösteriyor
MIME türü yanlış ayarlanmış: MP4 video için video/webm veya başka uyuşmayan bir tür ayarlanmış Video kodeki tarayıcı tarafından desteklenen formatta değil: örneğin MP4'te H.264 yerine H.265 kodlaması var Base64 verileri kopyalama sırasında kesilmiş, dosyanın bozulmasına neden olarak başlangıçta veya sonda kısım eksik Data URL öneki yanlış işlenmiş: önek de Base64 olarak kod çözülmüş veya öneki kaldırırken Base64'ün başlangıç karakterleri yanlışlıkla silinmiş Orijinal video kendisi bozuk veya tarayıcının desteklemediği özel bir formatta Video çözünürlüğü tarayıcı sınırlarını aşıyor veya tarayıcının desteklemediği piksel formatı kullanılıyor (örneğin 10-bit YUV) Video dosyası başlığı (ftyp atom) bozuk, tarayıcı MP4 kapsayıcı formatını tanıyamıyor
atob() işlevi InvalidCharacterError hatası veriyor, kod çözme başarısız oluyor
Base64 dizesinde geçersiz karakterler var: Standart Base64 karakter kümesi yalnızca 65 karakter içerir: A-Z, a-z, 0-9, +, /, = Data URL öneki data:video/mp4;base64, kaldırılmadan doğrudan atob()'ya geçirilmiş Dizeye satır sonu karakterleri \n, satır başı \r, boşluklar, sekmeler gibi boşluk karakterleri karışmış Word/web sayfalarından kopyalarken Çince noktalama işaretleri, tam genişlikli karakterler veya görünmeyen özel karakterler eklenmiş Base64 dizesi URL ile kodlanmış (artı işareti + %2B olmuş, eğik çizgi / %2F olmuş), önce URL kod çözme gerekir Base64 dizesinin uzunluğu 4'ün katı değil ve doldurma karakteri = eksikliği atob doğrulamasının başarısız olmasına neden oluyor Bazı backend dilleri (örneğin Java, Python) Base64 kodlayıcısının URL güvenli varyantını kullanıyor (+ ve / yerine - ve _ kullanılıyor)
Video Chrome/Firefox'ta normal oynuyor ama Safari'de oynatılamıyor
Safari H.264 kodlamasının Profile ve Level için daha katı gereksinimlere sahiptir, High Profile Level 5.1 gibi gelişmiş yapılandırmalar desteklenmeyebilir MP4 dosyasının moov atom'u (meta verisi) dosyanın başında değil sonunda, Safari oynatmak için tamamen indirilmesini bekliyor Ses kodeki AAC değil, Safari MP4 kapsayıcısındaki MP3 gibi diğer sesleri iyi desteklemiyor Video çözünürlüğü veya bitrate'i çok yüksek, Safari'nin (özellikle iOS Safari) donanım kod çözme kapasitesini aşıyor Safari tarafından desteklenmeyen kodlama özellikleri kullanılıyor, örneğin 10-bit renk derinliği, bazı H.264 özellikleri iOS Safari videonun satır içi oynatılması için playsinline özniteliğinin ayarlanmasını gerektirir, aksi takdirde tam ekran olur veya oynatılamaz Safari'nin ses örnekleme hızı için gereksinimleri vardır, standart dışı örnekleme hızları (44,1 kHz/48 kHz dışında) oynatma başarısızlığına neden olabilir
Büyük boyutlu Base64 videoları kod çözerken sayfa donuyor, tarayıcı çöküyor
JavaScript tek iş parçacıklıdır, atob() ve Uint8Array dönüştürmesi ana iş parçacığında gerçekleşir ve UI oluşturmayı bloke eder Base64 kod çözme sürecinde birden çok büyük dize ve dizi oluşturulur, yüksek bellek kullanımı olur (10 MB Base64 kod çözerken tepe bellek kullanımı birkaç on MB olabilir) Blob ve Object URL oluşturmak da bellek gerektirir, büyük videolar tarayıcının bellek sınırlarını kolayca tetikler Mobil cihazlarda bellek daha azdır, OOM (yetersiz bellek) çökmelerine daha yatkındırlar Web Worker kullanılmıyor, tüm işlemler ana iş parçacığında olay döngüsünü bloke ediyor Tarayıcıların tek dize uzunluğu üzerinde sınırlamaları vardır (V8 motoru yaklaşık 512 MB ila 1 GB arasındadır), çok uzun Base64 dizeleri doğru ayrıştırılamayabilir Kod çözme sürecinde sık çöp toplama (GC) da sayfanın donmasına ve yanıt gecikmelerine neden olur
API yanıtından kopyalanan Base64 kod çözdükten sonra video bozuk, oynatılamıyor
Backend Base64 döndürürken özel karakterleri otomatik olarak kaçırmış (örneğin + boşluğa dönüşmüş veya JSON kaçırma sorunları) JSON ayrıştırma sırasında Base64 dizesindeki özel karakterler doğru işlenmemiş Backend'de Base64 kodlarken kodlama hatası oluşmuş, örneğin ikili veriler UTF-8 dizesi olarak işlenmiş gzip sıkıştırması veya HTTP iletimi sırasında veriler değiştirilmiş Chrome DevTools'tan kopyalarken Network panelindeki Response önizlemesi uzun dizeleri kesebilir veya kaçırabilir Backend farklı bir Base64 varyantı kullanıyor (örneğin URL güvenli Base64, + ve / yerine - ve _ kullanıyor) ve frontend bunu işlememiş API yanıtı sayfalanmış veya kesilmiş, Base64 verileri eksik
Videoda yalnızca görüntü var ama ses yok veya ses ve görüntü senkronize değil
Ses kodeki tarayıcı tarafından desteklenmiyor: örneğin MP4'te AAC yerine MP3 veya Opus kullanılmış Video dönüştürme sırasında ses parametreleri yanlış ayarlanmış, bu da zaman damgası (PTS/DTS) hatalarına neden olmuş Base64 verileri eksik, ses parçasının bir kısmı kesilmiş Değişken kare hızlı (VFR) video, bazı tarayıcılar VFR videoları iyi desteklemez ve bu da ses-video senkronizasyon bozukluğuna neden olur Orijinal videonun kendisinde ses-video senkronizasyon sorunu var, bu Base64 kod çözmeden kaynaklanmıyor Ses örnekleme hızı veya kanal sayısı tarayıcı tarafından desteklenmiyor, bu da ses parçasının kod çözmesinin başarısız olmasına neden oluyor Video kapsayıcısındaki ses parçası ve video parçasının zaman tabanı (timebase) uyuşmuyor, bu da oynatma sırasında senkronizasyon kaymasına neden oluyor
Sözlük
- Base64
- İkili verileri temsil etmek için 64 yazdırılabilir karaktere dayalı kodlama yöntemi; her 3 bayt ikili veri 4 baytlık ASCII metne kodlanır, hacim yaklaşık %33 artar, genellikle metin protokollerinde ikili verileri iletmek için kullanılır.
- Data URL
- RFC 2397'de tanımlanan URI şeması, data:[mediatype][;base64],data biçimindedir; küçük dosyaların ek HTTP istekleri olmadan doğrudan belgelere gömülmesini sağlar.
- MIME türü
- Belge veya dosyanın formatını belirtmek için kullanılan medya türü tanımlayıcısı. Video formatları video/ ile başlar, örneğin video/mp4, video/webm, video/ogg; tarayıcılar kaynağın nasıl işleneceğini MIME türüne göre belirler.
- Blob
- Binary Large Object (büyük ikili nesne); tarayıcıda değiştirilemez ham ikili verileri temsil eden nesne; video, resim gibi dosya verilerini depolamak için kullanılabilir, URL.createObjectURL() aracılığıyla erişilebilir URL üretir.
- atob()
- Tarayıcının yerleşik işlevi; Base64 ile kodlanmış bir dizeyi ikili dizeye kodlamak için kullanılır (ASCII to Binary), karşılık gelen kodlama işlevi btoa()'dır (Binary to ASCII).
- btoa()
- Tarayıcının yerleşik işlevi; ikili bir dizeyi Base64 dizesine kodlamak için kullanılır (Binary to ASCII), atob()'nın ters işlemidir, videoyu Base64'e dönüştürürken kullanılır.
- Uint8Array
- 8 bitlik işaretsiz tamsayıları (0-255) depolayan JavaScript tiplendirilmiş dizisi; her öğe bir bayta karşılık gelir, ikili verileri işlemenin standart yoludur; Base64 kod çözdükten sonra Blob oluşturmadan önce Uint8Array'e dönüştürmek gerekir.
- MP4
- MPEG-4 Part 14; yaygın olarak kullanılan çoklu ortam kapsayıcı formatı, genellikle H.264 video kodeki ve AAC ses kodekini kapsüller, web ile en iyi uyumluluğa sahiptir, dosya uzantısı .mp4'tür.
- WebM
- Google tarafından sunulan açık, telifsiz video kapsayıcı formatı; genellikle VP8/VP9/AV1 video kodekleri ve Vorbis/Opus ses kodekleri kullanır, sıkıştırma oranı MP4'ten daha iyidir, Chrome/Firefox/Edge tarafından iyi desteklenir.
- OGG
- Xiph Vakfı tarafından geliştirilen açık çoklu ortam kapsayıcı formatı; video genellikle Theora ile kodlanır, ses Vorbis ile kodlanır, günümüzde giderek WebM ile değiştirilmektedir, dosya uzantısı .ogv'dir.
- H.264/AVC
- Şu anda en yaygın kullanılan video kodlama standardı, AVC (Advanced Video Coding) olarak da adlandırılır; sıkıştırma oranı ve kalite dengesi iyidir, donanım hızlandırma desteği vardır, MP4 kapsayıcısının standart video kodekidir, tüm tarayıcılarla uyumludur.
- AAC
- Advanced Audio Coding; gelişmiş ses kodlaması, MP4 kapsayıcısının standart ses kodeki, MP3 formatının halefidir, aynı kalitede dosya daha küçüktür, tüm modern tarayıcılar tarafından desteklenir.
- Object URL
- URL.createObjectURL(blob) ile oluşturulan geçici URL; blob://... biçimindedir, doğrudan video/img vb. etiketlerin src özniteliğinde kullanılabilir, bellekteki Blob verisini işaret eder, kullandıktan sonra belleği serbest bırakmak için revokeObjectURL çağrılması gerekir.
- FFmpeg
- Açık kaynaklı ses ve video işleme aracı; video dönüştürme, düzenleme, kodlama bilgilerini görüntüleme, sıkıştırma vb. işlemler için kullanılabilir; video işlemede endüstri standardı araçtır, video kodeklerini doğrulamak ve dönüştürmek için gereklidir.
- moov atom
- MP4 dosyasındaki meta veri atomu; video süresi, çözünürlük, kodlama bilgileri, kod çözme parametreleri gibi anahtar verileri içerir. Hızlı oynatma için moov dosyanın başında olmalıdır; web videoları için başa yerleştirilmesi önerilir (faststart).
- Kapsayıcı format
- Video akışını, ses akışını, altyazıları, meta verileri kapsülleyen dosya formatı; örneğin MP4, WebM, OGG, MKV. Kapsayıcı format kodek formatıyla aynı şey değildir, aynı kapsayıcı farklı kodekleri kapsülleyebilir.
- Video kodeki
- Video verilerini sıkıştırmak ve açmak için kullanılan algoritma; yaygın olanlar H.264, H.265(HEVC), VP8, VP9, AV1'dir. Kodek sıkıştırma oranını ve görüntü kalitesini belirler; tarayıcının desteklediği kodekler videonun oynatılıp oynatılamayacağını belirler.
- API hata ayıklama
- Frontend ve backend arayüzleri geliştirirken verinin doğruluğunu doğrulama süreci. Bu araç, frontend kod çözme kodu yazmadan API tarafından döndürülen Base64 video verilerinin doğruluğunu hızlıca önizlemek için kullanılabilir.
- Chrome DevTools
- Chrome tarayıcısının yerleşik geliştirici araçları; Network paneli API isteklerini ve yanıtlarını görüntüleyebilir, buradan Base64 video verilerini hata ayıklama için kopyalayabilirsiniz.
- Doldurma karakteri =
- Base64 kodlamasının sonunda kodlama sonucu uzunluğunu 4'ün katına tamamlamak için 1 veya 2 eşittir işareti görünebilir. Kod çözme sırasında doldurmanın eksik olması hataya neden olabilir; araç doldurma sorunlarını otomatik olarak düzeltebilir.
Web video MIME türleri ve uyumluluk karşılaştırma tablosu
| MIME türü | Kapsayıcı format | Yaygın video kodekleri | Yaygın ses kodekleri | Tarayıcı uyumluluğu | Dosya uzantıları |
|---|---|---|---|---|---|
| video/mp4 | MP4 (MPEG-4 Part 14) | H.264/AVC, H.265/HEVC, AV1 | AAC, MP3 | Tüm modern tarayıcılar (Chrome/Firefox/Safari/Edge/iOS/Android), H.264+AAC kombinasyonu %100 uyumlu | .mp4, .m4v |
| video/webm | WebM | VP8, VP9, AV1 | Vorbis, Opus | Chrome/Firefox/Edge/Opera tam olarak destekler, Safari 14.1+ destekler, iOS Safari 15+ kısmen destekler | .webm |
| video/ogg | Ogg | Theora | Vorbis | Firefox/eski Chrome/Opera tarafından desteklenir, Safari desteklemez, günümüzde az kullanılır | .ogv, .ogg |
| video/quicktime | QuickTime (MOV) | ProRes, H.264 | AAC, PCM | Esas olarak Safari/macOS tarafından desteklenir, diğer tarayıcılarla uyumluluğu zayıftır | .mov |
| video/x-matroska | Matroska | H.264, VP9, AV1, vb. | Çeşitli kodekler | Tarayıcılarda doğal destek zayıftır, genellikle üçüncü taraf oynatıcı gerekir, web kullanımı için önerilmez | .mkv |
Yaygın Base64 video kod çözme hata kodları ve çözümleri
| Hata belirtisi/hata mesajı | Olası nedenler | Sorun giderme yönü | Çözüm |
|---|---|---|---|
| atob() hata veriyor: InvalidCharacterError veya "not correctly encoded" | Base64 dizesi geçersiz karakterler içeriyor; Data URL öneki kaldırılmamış; boşluk karakterleri/satır sonları var | Giriş dizesinin yalnızca A-Za-z0-9+/= içerip içermediğini kontrol edin; data: önekinin kaldırıldığından emin olun | data:video/...;base64, önekini kaldırın; tüm satır sonu karakterlerini, boşlukları, sekmeleri kaldırın; Çince veya özel karakterlerin karışıp karışmadığını kontrol edin |
| Kod çözme başarılı ama video oynatılamıyor, «desteklenmeyen video formatı» gösteriyor | MIME türü hatası; video kodeki tarayıcı tarafından desteklenmiyor; dosya başlığı bozuk | MIME türünün videonun gerçek formatıyla eşleşip eşleşmediğinden emin olun; kodlama bilgilerini FFmpeg ile kontrol edin | Doğru MIME türünü seçin (MP4 için video/mp4 kullanın); FFmpeg ile H.264+AAC'ye (MP4) dönüştürün; Base64'ün başlangıç ve sonunun tam olup olmadığını kontrol edin |
| Videoda görüntü var ama ses yok veya ses var ama görüntü yok | Ses kodeki veya video kodekinden biri tarayıcı tarafından desteklenmiyor; ses parçası veya video parçası bozuk | FFmpeg ile videonun hangi akışları içerdiğini ve kodeklerini görün | MP4 H.264 video+AAC ses olmalıdır; WebM için VP8/VP9+Vorbis/Opus kullanın; standart uyumlu formata yeniden dönüştürün |
| Video görüntüsü bozuk, yeşil ekran, mozaik | Base64 verileri eksik (kesilmiş); kod çözme sürecinde veriler bozulmuş; anahtar kare kaybı | Orijinal Base64 uzunluğunu karşılaştırın, kopyalamanın tam olup olmadığını kontrol edin | Tam Base64 dizesini yeniden kopyalayın; iletim sürecinde karakter kaybı olup olmadığını kontrol edin; orijinal video dosyasının kendisinin normal olduğunu doğrulayın |
| Kodu çözdükten sonra video boyutu orijinal dosyayla eşleşmiyor | Base64 doldurma karakteri = işleme hatası; ikili dizeyi Uint8Array'e dönüştürürken kodlama sorunları | Kod çözme mantığının doldurmayı doğru işleyip işlemediğini kontrol edin; charCodeAt aralığının 0-255 olduğunu doğrulayın | Base64 sonundaki = işaretlerinin doğru işlendiğinden emin olun; Uint8Array dönüştürme mantığının doğru olup olmadığını kontrol edin |
| Büyük videoları kod çözerken sayfa donuyor ve yanıt vermiyor | Base64 kod çözme ana iş parçacığında gerçekleşiyor, UI'yi bloke ediyor; video çok büyük, bellek sınırını aşıyor | Base64 veri boyutuna bakın, 10 MB üzeri Base64 (yaklaşık 7,5 MB orijinal video) donmaya neden olabilir | Büyük videolar için Base64 önerilmez; Web Worker ile arka planda kod çözmeyi düşünün; parçalar halinde işleyin; dosya yükleme yöntemine geçin |
| Safari'de kod çözme geçiyor ama oynatma çalışmıyor, Chrome'da normal | Safari video kodekleri için daha katı gereksinimlere sahiptir; moov atom dosyanın başında değil; kodlama Profile/Level çok yüksek | FFmpeg ile H.264 Profile ve Level'ı kontrol edin; moov konumunu kontrol edin | Dönüştürme sırasında -movflags +faststart ekleyin; H.264 Baseline/Main Profile kullanın, Level 4.1'i aşmasın; sesin AAC olduğunu doğrulayın |
| Data URL doğrudan video src'ye ayarlandığında oynatılamıyor | Data URL biçimi hatalı; MIME türü yanlış yazılmış; Base64 bölümü bozuk | Data URL biçiminin data:video/xxx;base64,xxxx olup olmadığını kontrol edin | MIME türünün doğru olduğundan emin olun; virgül İngilizce virgüldür; Base64 bölümü tamdır; bazı mobil cihazlarda Data URL boyutu sınırlamaları vardır |
Orijinal video boyutu ile Base64 kodlamasından sonraki boyut karşılaştırma tablosu
| Orijinal video boyutu | Base64 kodlamasından sonraki boyut (yaklaşık) | Hacim artışı | Data URL başlık ek yükü | Gömme için uygun mu | Tipik senaryolar |
|---|---|---|---|---|---|
| 100 KB | ~133 KB | +33% | yaklaşık 20 bayt | Önerilir | Çok küçük simge animasyonları, birkaç saniyelik sessiz yükleme animasyonları |
| 500 KB | ~667 KB | +33% | yaklaşık 20 bayt | Önerilir | Kısa döngüsel animasyonlar, kısa ipucu videoları, düğme geri bildirim animasyonları |
| 1 MB | ~1,33 MB | +33% | yaklaşık 20 bayt | Duruma göre | 5-10 saniyelik rehber videolar, düşük çözünürlüklü tanıtım animasyonları, ilk ekran performansına dikkat edin |
| 2 MB | ~2,67 MB | +33% | yaklaşık 20 bayt | Önerilmez | Gömülü video boyut sınırına yakın, sayfa yükleme süresini önemli ölçüde artırır |
| 5 MB | ~6,67 MB | +33% | yaklaşık 20 bayt | Önerilmez | Boyut çok büyük, Base64 ile gömülmesi önerilmez, harici video dosyaları kullanın |
| 10 MB | ~13,3 MB | +33% | yaklaşık 20 bayt | Yasak | Sayfa yüklemesini ciddi şekilde etkiler, mobil cihazlarda yetersiz bellek nedeniyle çökmeye neden olabilir |
| 50 MB | ~66,7 MB | +33% | yaklaşık 20 bayt | Yasak | Bu kadar büyük videoları kesinlikle Base64 ile işlemeyin, dosya yükleme/yükleme yöntemini kullanmak gerekir |
- Güvenli Dize Karşılaştırma
- Binary Dönüştürme
- Sezar Şifresi
- Mors Kodu
- Hex Dönüştürme
- Videoyu Base64'e Çevir
- Base64'ten videoya
- Resmi Base64’e Dönüştür
- Base64'ten Resme
- Metin Base64'e Dönüştürme
- Base64 Metne Dönüştür
- Dosya Hash Doğrulayıcı
- Dosyayı Base64'e Dönüştür
- Base64 Dosyaya Dönüştür
- Ses → Base64
- Base64'ten Ses
- AES şifreleme ve çözme
- DES Şifreleme ve Şifre Çözme
- Base32 Kodlayıcı Çözücü
- Base58 kodlama ve kod çözme
- Base64 Kodlama
- Base64 Kod Çözme
- Base64 Karşılaştırma
- Base64 Bölme
- Base64 çok satırlı birleştirme
- Base64 Biçimlendirme
- Base64 Format Kontrolü
- Toplu Base64 Kodlama
- Base64 Toplu Kod Çözme
- Base64 Temizleme
- Base64 Padding İşleme
- Base64 Uzunluk İstatistikleri
- Base64 Onaltılığa Dönüştür
- Base64 DataURL Dönüştürücü
- Base64-Hex Dönüştürücü
- Base85 Kodlayıcı ve Kod Çözücü
- HMAC Oluşturucu ve Doğrulayıcı
- PBKDF2 Anahtar Türetme
- MD5 Özeti
- SHA-256 Özeti
- SHA1 Özeti
- SHA512 Özeti
- JWT Aracı
- HTML Encode/Decode
- Unicode Escape
- URL Kodlama
- URL Safe Base64
- MIME Base64
- Java Obfuscation
- JS Obfuscation
- PHP Obfuscation
- Python Obfuscation