Base64 naar Video

Base64 invoer

Converteer online Base64-gecodeerde videogegevens naar afspeelbare MP4/WebM/OGG-videobestanden, met automatische herkenning van de Data URL-prefix. Alle bewerkingen worden lokaal in de browser uitgevoerd, videogegevens worden niet naar servers geüpload. Ideaal voor het debuggen van backend API's, het verifiëren van videocodering en het herstellen van inline video's in de frontend. Na decodering kun je direct voorvertonen en de video downloaden.

Gerelateerde aanbevelingen

Toepassingsgevallen

  • Debuggen van backend video-API's: wanneer een API Base64-gecodeerde videogegevens retourneert, plak deze direct in de tool voor snelle voorvertoning en verifieer of de respons correct is zonder frontend decodeercode te schrijven
  • Video-encoderingsuitvoer verifiëren: na het genereren van Base64-video met FFmpeg of cloud-transcoderingsservices, decodeer en speel af om te controleren of het transcoderingresultaat normaal is en corrupte coderingsproblemen op te sporen
  • Inline frontend-video's herstellen: extraheer inline video's in Data URL-formaat (data:video/mp4;base64,...) uit HTML, CSS of JavaScript en herstel ze naar bekijkbare videobestanden
  • Snelle validatie van videogegevens: vergelijk of twee Base64-video's dezelfde inhoud decoderen of controleer of er gegevenscorruptie is opgetreden tijdens Base64-transmissie
  • Tijdelijke voorvertoning van korte video's: voor korte videoclips die niet lokaal hoeven te worden opgeslagen, bekijk ze direct in de tool voordat je besluit te downloaden
  • Webscraping-gegevens parseren: decodeer snel Base64-gecodeerde videogegevens die door webcrawlers zijn verzameld voor inhoudscontrole of analyse
  • Client-ontwikkeling debuggen: tijdens de ontwikkeling van mobiele apps of mini-programma's, wanneer de backend Base64-video retourneert, gebruik deze tool om de gegevenscorrectheid te verifiëren voordat je clientdecodering ontwikkelt
  • Onderwijs en demonstratie: te gebruiken als online demonstratietool bij het uitleggen van Base64-coderingsprincipes, Data URL-technologie en het gebruik van Blob/URL.createObjectURL in de frontend
  • E-mailbijlage voorvertoning: sommige e-mailsystemen converteren bijlagen naar Base64 voor inbedding; na extractie kun je snel de video-inhoud herstellen en bekijken
  • Bug-reproductieondersteuning: wanneer het testteam videogerelateerde bugs rapporteert met Base64-gegevens, kunnen ontwikkelaars snel de video herstellen om het problematische scenario te reproduceren

Hoe te gebruiken

  1. Verkrijg Base64-videogegevens: kopieer de Base64-gecodeerde videostring van API-reacties, logs, HTML-broncode, databases enz. De Data URL-prefix is optioneel
  2. Plak in het invoergebied: plak de gekopieerde Base64-tekst volledig in het invoerveld van de tool, die automatisch herkent of de prefix data:video/...;base64, aanwezig is
  3. Bevestig of selecteer het formaat: als de invoer een Data URL-prefix heeft, wordt het MIME-type automatisch herkend; als het pure Base64 is, selecteer handmatig het bijbehorende videoformaat (MP4/WebM/OGG)
  4. Klik op de decodeerknop: na de klik voert de tool lokaal in de browser Base64-decodering, Uint8Array-conversie, Blob-creatie en andere bewerkingen uit, met statusweergave tijdens het proces
  5. Bekijk video-informatie: bekijk na voltooiing van de decodering de basisinformatie van het bestand, inclusief bestandsgrootte, MIME-type, formaatbevestiging om te verifiëren of de decodering is geslaagd
  6. Speel de video af: gebruik de ingebouwde HTML5-speler op de pagina om de video te bekijken, sleep de voortgangsbalk om te controleren of de inhoud compleet is en beeld en geluid correct werken
  7. Download het videobestand: na bevestiging dat de video correct is, klik op de downloadknop om de Blob-video lokaal op te slaan, het bestand krijgt automatisch de juiste extensie (.mp4/.webm/.ogg)

Functies

  • Slimme formaatherkenning: detecteert automatisch pure Base64-codering en compleet Data URL-formaat (prefix data:video/...;base64,), decodeert zonder handmatige prefix-verwijdering
  • Ondersteuning voor meerdere videoformaten: volledige ondersteuning voor MP4 (video/mp4), WebM (video/webm), OGG (video/ogg) en andere MIME-videotypen die standaard door moderne browsers worden ondersteund
  • Lokale verwerking in de browser: alle Base64-decodering, Blob-generatie en video-voorbeeldbewerkingen worden in JavaScript in de browser van de gebruiker uitgevoerd, geen videogegevens worden naar servers verzonden
  • Direct afspelen: na decodering wordt automatisch een HTML5-videospeler gegenereerd met volledige bedieningselementen: afspelen, pauzeren, voortgang verslepen, volume aanpassen, volledig scherm
  • Originele bestand downloaden: sla de gedecodeerde video met één klik op als lokaal bestand, de juiste extensie (.mp4/.webm/.ogg) wordt automatisch geselecteerd op basis van het MIME-type
  • Automatische MIME-type detectie: herkent automatisch het videoformaat vanaf de Data URL-prefix zonder handmatige selectie; voor pure Base64-invoer kun je handmatig het formaat opgeven
  • Real-time voortgangsfeedback: toont verwerkingsstatus tijdens het decoderen van grote Base64-gegevens, zodat gebruikers niet denken dat de pagina vastloopt
  • Video-metagegevens weergeven: toont na decodering bestandsgrootte, MIME-type, duur (indien afspeelbaar), resolutie en andere basisinformatie
  • Diagnostische foutmeldingen: geeft duidelijke foutmeldingen en oplossingssuggesties bij onjuist formaat, corrupte Base64-codering of niet-ondersteund videoformaat
  • Ondersteuning voor slepen en plakken: ondersteunt direct plakken van Base64-tekst en slepen van tekstbestanden naar het invoergebied voor hogere debug-efficiëntie
  • Automatische coderingsprobleemcorrectie: verwerkt automatisch veelvoorkomende formaatproblemen zoals ontbrekende opvultekens (=), witruimte en regeleinden
  • Cross-browser compatibiliteit: ondersteunt Chrome, Firefox, Safari, Edge en alle moderne browsers met standaard atob en Uint8Array API's
  • Responsief ontwerp: bruikbaar op desktop en mobiele apparaten, decodering en voorvertoning van korte video's werken ook op smartphones en tablets
  • Privacybescherming: videogegevens worden volledig in het lokale geheugen verwerkt, worden onmiddellijk gewist bij het sluiten van de pagina zonder cache of records achter te laten

Veelgestelde vragen

Welke videoformaten ondersteunt de Base64 naar Video conversietool?

Ondersteunt de belangrijkste videoformaten die standaard door de browser kunnen worden afgespeeld: MP4 (video/mp4, H.264+AAC-codering), WebM (video/webm, VP8/VP9+Vorbis/Opus-codering), OGG (video/ogg, Theora+Vorbis-codering). Het MP4-formaat heeft de beste compatibiliteit, ondersteund door alle moderne browsers en mobiele apparaten, gebruik dit bij voorkeur. Als je video in andere formaten is (zoals MOV, AVI, MKV), moet je deze eerst met FFmpeg transcoderen naar MP4(H.264+AAC) vóór Base64-codering.

Moet de invoer de prefix data:video/mp4;base64 hebben?

Nee. De tool ondersteunt twee invoerformaten: ①pure Base64-tekenreeks (zonder enige prefix); ②complete Data URL (met prefix data:video/xxx;base64,). De tool detecteert automatisch de aanwezigheid van de prefix in de invoer; indien aanwezig wordt de Base64-inhoud automatisch geëxtraheerd en het MIME-type herkend. Het wordt aanbevolen om direct de complete inhoud te kopiëren die door de API wordt geretourneerd zonder de prefix handmatig te verwerken.

Kan de gedecodeerde video direct in de browser worden afgespeeld?

Ja. Na voltooiing van de decodering genereert de tool een ingebouwde HTML5-videospeler met volledige functionaliteit zoals afspelen/pauzeren, voortgangsbalk verslepen, volume aanpassen, volledig scherm weergave; je kunt de video-inhoud direct op de pagina bekijken en beslissen of je deze lokaal downloadt na te hebben bevestigd dat beeld en geluid correct werken.

Wordt verwerking van grote Base64-video's ondersteund? Zijn er groottelimieten?

De tool zelf heeft geen strikte groottelimieten, maar browsers hebben geheugen- en prestatielimieten. Base64-codering vergroot de video-omvang met ongeveer 33%; tijdens decodering moet de browser geheugen toewijzen voor meerdere kopieën waaronder Base64-tekenreeks, binaire tekenreeks, Uint8Array, Blob, met een piekgeheugengebruik dat 3-5 keer de grootte van de originele video kan zijn. Aanbevolen wordt om Base64 binnen 5MB te verwerken (overeenkomend met ongeveer 3,7MB originele video) voor vlotte werking; Base64 boven 10MB kan paginavastlopers veroorzaken. Voor grote video's wordt de Base64-methode niet aanbevolen, gebruik de traditionele bestandsupload en URL-laadmethode.

Worden videogegevens naar de server geüpload? Is privacy veilig?

Alle decoderingsbewerkingen worden volledig lokaal in je browser uitgevoerd via JavaScript; videogegevens worden naar geen enkele server geüpload en er worden geen netwerkverzoeken verzonden. Bij het sluiten van de pagina worden videogegevens onmiddellijk uit het browsergeheugen gewist zonder cache of records achter te laten. Je kunt de tool gebruiken na het verbreken van de netwerkverbinding, de decoderingsfunctionaliteit blijft normaal werken.

Waarom is de video na Base64-codering 1/3 groter dan het originele bestand?

Dit wordt bepaald door het principe van Base64-codering, het is geen probleem van de tool. Base64 hercodeert elke 3 bytes (24 bits) binaire gegevens naar 4 ASCII-tekens (elk teken neemt 1 byte in beslag), dus na codering is de grootte 4/3≈133% van het origineel, dat wil zeggen een toename van ongeveer 33%. Als de lengte van de originele gegevens geen veelvoud van 3 is, worden aan het eind =-tekens toegevoegd voor opvulling, met een werkelijke groottetoename tussen 33% en 37%. Deze groottetoename is gemeenschappelijk voor alle Base64-coderingen, het is geen probleem van deze tool.

Waarom speelt mijn MP4 Base64 niet af na decodering?

MP4 is slechts een containerformaat; de videocodering erin moet in een door de browser ondersteund formaat zijn om af te spelen. In 99% van de gevallen is de videocodering niet H.264 of de audiocodering niet AAC. Als de MP4 bijvoorbeeld coderingen zoals H.265(HEVC) of AV1 bevat, kan de browser mogelijk niet afspelen. Je kunt coderingsinformatie bekijken met het FFmpeg-commando ffmpeg -i input.mp4; als het niet H.264+AAC is, gebruik dan het commando ffmpeg -i input.mp4 -c:v libx264 -c:a aac -movflags +faststart output.mp4 om te transcoderen voordat je naar Base64 codeert. Controleer ook of het MIME-type is ingesteld als video/mp4 en de Base64-gegevens compleet zijn zonder afkapping.

Hoe kan ik verifiëren dat de codering van mijn video compatibel is met de browser?

Aanbevolen wordt om de FFmpeg-tool te gebruiken voor verificatie: installeer FFmpeg en voer ffmpeg -i yourvideo.mp4 uit, bekijk de Video- en Audio-regels in de uitvoerinformatie. De Video-regel moet h264 (of avc) bevatten, de Audio-regel moet aac bevatten. Bijvoorbeeld: Stream #0:0(eng): Video: h264 (avc1/0x31637661...), Stream #0:1(eng): Audio: aac (mp4a/0x6134706D...). Als de coderingen niet deze twee zijn, is transcodering nodig. Je kunt ook het originele videobestand rechtstreeks naar het Chrome-browservenster slepen; als het direct afspeelt, betekent dit dat de codering compatibel is met de browser.

Wat is de extensie van het videobestand dat na decodering wordt gedownload?

De tool koppelt automatisch de juiste bestandsextensie op basis van het geselecteerde (of automatisch herkende) MIME-type: video/mp4 komt overeen met .mp4, video/webm komt overeen met .webm, video/ogg komt overeen met .ogv. Je hoeft de extensie niet handmatig te wijzigen, het gedownloade bestand kan direct met de standaard speler van het systeem worden geopend.

Hebben regeleinden en spaties in de Base64-tekenreeks invloed op de decodering?

Geen invloed. De tool verwerkt automatisch witruimte in de Base64-tekenreeks zoals regeleinden (\n), regelterugloop (\r), spaties, tabs enz., en verwijdert deze vóór decodering. Dus zelfs als je Base64 in meerregelig formaat is (zoals MIME-formaat met regeleinde elke 76 tekens) of opmaakspaties van kopiëren bevat, zal de decodering normaal werken.

Hoe kan de frontend Base64 naar video conversie implementeren met JavaScript?

De belangrijkste codelogica is als volgt: ①verwijder de Data URL-prefix om pure Base64 te verkrijgen; ②decodeer naar binaire tekenreeks met atob(base64Str); ③converteer de binaire tekenreeks naar Uint8Array (doorloop elk teken en haal charCode op); ④maak een Blob met new Blob([uint8Array], {type: 'video/mp4'}); ⑤genereer een tijdelijke URL met URL.createObjectURL(blob); ⑥stel de URL in op video.src. Merk op dat je na gebruik URL.revokeObjectURL(url) moet aanroepen om geheugen vrij te geven en memory leaks te voorkomen.

Wat is het verschil tussen Data URL-video en Blob URL-video?

Data URL schrijft alle Base64-gegevens direct in de URL, in het formaat data:video/mp4;base64,XXXX, de URL zelf bevat alle gegevens; Blob URL is een tijdelijke referentie in blob://-formaat gegenereerd door URL.createObjectURL() die verwijst naar het Blob-object in het browsergeheugen, de URL zelf is kort en bevat geen gegevens. Data URL moet de hele Base64-tekenreeks bij elk gebruik parseren met lagere prestaties; Blob URL is efficiënter en geschikt voor weergave en hergebruik. Deze tool gebruikt intern de Blob URL-methode om de speler te implementeren.

In welke scenario's is het gepast om video in Base64 te coderen? In welke niet?

Geschikte scenario's: ①korte video's binnen enkele MB (laadanimaties, instructies, pictogramanimaties); ②Demo/documenten die video-inbedding in een enkel HTML-bestand vereisen; ③kleine video's ingesloten in e-mail; ④tijdelijke overdracht van kleine video's tijdens API-debug. Ongeschikte scenario's: ①video's groter dan 5MB (33% grootte toename verspilt te veel bandbreedte); ②door gebruikers geüploade video's (oncontroleerbare grootte); ③lange video's die streaming laden of voortgangsversleping vereisen; ④video's die door de browser moeten worden gecachet en hergebruikt (Data URL kan niet afzonderlijk worden gecachet); ⑤videocontent gericht op gebruikers in productieomgevingen (moeten CDN en externe bestands-URL's gebruiken).

Waarom speelt de video na decodering normaal af in Safari maar niet in Chrome?

Deze situatie is minder gebruikelijk en treedt meestal op omdat de videocodering H.265(HEVC) is — Safari op macOS en iOS heeft goede ondersteuning voor H.265 (met hardwareversnelling), maar Chrome en Firefox hebben beperkte ondersteuning voor H.265 (vereisen hardware en licenties). De oplossing is transcoderen naar H.264-codering, de universele codering die door alle browsers wordt ondersteund. Het omgekeerde geval waarin Chrome afspeelt en Safari niet komt vaker voor, meestal door te hoog Profile/Level van codering of moov atom aan het eind van het bestand.

Veroorzaakt heen en weer converteren tussen Base64-video en videobestand kwaliteitsverlies?

Geen kwaliteitsverlies. Base64 is een coderingsmethode, geen compressie of transcodering: het voert eenvoudig een conversie uit met bijectieve mapping tussen binaire gegevens en tekstreeksen. Wanneer je een video naar Base64 converteert en terug decodeert, zijn de verkregen binaire gegevens volledig identiek aan het originele videobestand (byte voor byte identiek), zonder enig kwaliteitsverlies van video of audio, vergelijkbaar met het kopiëren en plakken van bestanden in plaats van compressieconversie. Als het Base64-coderings- en decoderingsproces correct is, is de kwaliteit van de video identiek aan die van het originele bestand.

Probleemoplossing

Video speelt niet na Base64-decodering, HTML5 video toont niet-ondersteund formaat of zwart scherm

MIME-type onjuist ingesteld: MP4-video ingesteld als video/webm of ander niet-overeenkomend type Videocodering is geen door de browser ondersteund formaat: bijvoorbeeld H.265-codering in MP4 in plaats van H.264 Base64-gegevens afgekapt tijdens kopiëren met ontbrekende delen aan begin of eind, waardoor bestand beschadigd raakt Onjuiste verwerking van Data URL-prefix: de prefix is ook als Base64 gedecodeerd, of beginkarakters van Base64 zijn per ongeluk verwijderd bij het verwijderen van de prefix Originele video is al beschadigd of is een speciaal formaat dat niet door de browser wordt ondersteund Videoresolutie overschrijdt browserlimieten of er is een pixelformaat gebruikt dat niet door de browser wordt ondersteund (zoals 10-bit YUV) Videobestandskop (ftyp atom) is beschadigd, browser kan MP4-containerformaat niet herkennen

Functie atob() gooit InvalidCharacterError en decodering mislukt

Base64-tekenreeks bevat ongeldige tekens: de standaard Base64-tekenset heeft slechts 65 tekens: A-Z, a-z, 0-9, +, /, = Data URL-prefix data:video/mp4;base64, is niet verwijderd en direct doorgegeven aan atob() Tekenreeks bevat regeleinden \n, regelterugloop \r, spaties, tabs of andere witruimte Kopiëren vanuit Word/webpagina's heeft Chinese leestekens, full-width tekens of onzichtbare speciale tekens geïntroduceerd Base64-tekenreeks is URL-gecodeerd (plusteken + werd %2B, schuine streep / werd %2F), URL-decodering is eerst nodig Lengte van Base64-tekenreeks is geen veelvoud van 4 en ontbrekend opvulteken = zorgt ervoor dat atob-validatie mislukt Sommige Base64-encoders in backend-talen (zoals Java, Python) gebruiken URL-veilige varianten (- en _ in plaats van + en /)

Video speelt normaal af in Chrome/Firefox maar niet in Safari

Safari heeft strengere eisen voor Profile en Level van H.264-codering; geavanceerde configuraties zoals High Profile Level 5.1 worden mogelijk niet ondersteund moov atom (metadata) van MP4-bestand staat aan het eind van het bestand in plaats van het begin; Safari moet wachten op volledige download om af te spelen Audiocodering is niet AAC; Safari heeft slechte ondersteuning voor andere audio zoals MP3 in MP4-containers Videoresolutie of bitrate is te hoog en overschrijdt de hardwaredecoderingscapaciteit van Safari (met name iOS Safari) Er zijn coderingsfuncties gebruikt die niet door Safari worden ondersteund, zoals 10-bit kleurdiepte of bepaalde H.264-functies iOS Safari vereist dat de video het playsinline-attribuut heeft voor inline weergave, anders gaat deze naar volledig scherm of speelt niet af Safari heeft eisen aan audio-samplefrequentie; niet-standaard samplefrequenties (anders dan 44.1kHz/48kHz) kunnen afspeelfouten veroorzaken

Pagina loopt vast of browser crasht tijdens decodering van grote Base64-video

JavaScript is single-thread; atob() en Uint8Array-conversie worden uitgevoerd in de hoofdthread en blokkeren UI-weergave Tijdens Base64-decodering worden meerdere grote tekenreeksen en arrays gegenereerd met hoog geheugengebruik (piekgeheugen tijdens decodering van 10MB Base64 kan tientallen MB beslaan) Aanmaken van Blob en Object URL vereist ook geheugen; grote video's kunnen gemakkelijk browsergeheugenlimieten activeren Mobiele apparaten hebben minder geheugen en zijn gevoeliger voor crashes door OOM (onvoldoende geheugen) Er is geen Web Worker gebruikt, alle bewerkingen staan in de hoofdthread en blokkeren de event loop Browsers hebben limieten voor de lengte van individuele tekenreeksen (V8-engine heeft een limiet tussen 512MB en 1GB); zeer lange Base64-tekenreeksen worden mogelijk niet correct geanalyseerd Frequente Garbage Collection (GC) tijdens decodering veroorzaakt ook paginavastlopers en responsvertragingen

Van API-reactie gekopieerde Base64, na decodering is video corrupt en speelt niet af

Backend heeft automatisch escape toegepast op speciale tekens bij het retourneren van Base64 (zoals + geconverteerd naar spatie, of JSON-escape problemen) JSON-parsering heeft speciale tekens in de Base64-tekenreeks niet correct verwerkt Backend Base64-coderingsfout, bijvoorbeeld binaire gegevens behandeld als UTF-8-tekenreeks Gegevens zijn gewijzigd tijdens gzip-compressie of HTTP-transmissie Tijdens kopiëren vanuit Chrome DevTools kan Response-voorbeeld in het Netwerkpaneel lange tekenreeksen afkappen of escapen Backend heeft een andere Base64-variant gebruikt (zoals URL-veilige Base64 met - en _ in plaats van + en /) die de frontend niet heeft verwerkt API-reactie is gepagineerd of afgekapt, Base64-gegevens zijn onvolledig

Video heeft alleen beeld zonder geluid, of geluid en beeld lopen niet synchroon

Audiocodering wordt niet door de browser ondersteund: bijvoorbeeld MP3 of Opus gebruikt in plaats van AAC in MP4 Audioparameters zijn onjuist ingesteld tijdens videotranscodering waardoor timestamps (PTS/DTS) fouten bevatten Onvolledige Base64-gegevens die een deel van de audiotrackgegevens hebben afgekapt Video heeft variabele framerate (VFR) en sommige browsers ondersteunen VFR-video's slecht waardoor audio-video desynchronisatie ontstaat Originele video heeft al audio-video synchronisatieproblemen, niet veroorzaakt door Base64-decodering Audio-samplefrequentie of aantal kanalen wordt niet door de browser ondersteund waardoor audiotrackdecodering mislukt Tijdbasen (timebase) van audiotrack en videotrack in de container komen niet overeen waardoor synchronisatieafwijking ontstaat tijdens weergave

Woordenlijst

Base64
Coderingsmethode die binaire gegevens weergeeft met 64 afdrukbare tekens; elke 3 bytes binaire gegevens worden gecodeerd als 4 bytes ASCII-tekst met een groottetoename van ongeveer 33%, veelgebruikt voor het overdragen van binaire gegevens in tekstprotocollen.
Data URL
URI-schema gedefinieerd in RFC 2397, in het formaat data:[mediatype][;base64],data, waarmee kleine bestanden direct in documenten kunnen worden ingesloten zonder extra HTTP-verzoeken.
MIME-type
Mediatype-identificatie gebruikt om het formaat van documenten of bestanden aan te geven; videoformaten beginnen met video/, zoals video/mp4, video/webm, video/ogg; browsers bepalen op basis van MIME-type hoe bronnen moeten worden verwerkt.
Blob
Binary Large Object, object dat onveranderbare onbewerkte binaire gegevens in de browser vertegenwoordigt, bruikbaar voor het opslaan van bestandsgegevens zoals video en afbeeldingen; genereert toegankelijke URL's via URL.createObjectURL().
atob()
Browser-ingebouwde functie voor het decoderen van Base64-gecodeerde tekenreeksen naar binaire tekenreeksen (ASCII to Binary); de bijbehorende coderingsfunctie is btoa() (Binary to ASCII).
btoa()
Browser-ingebouwde functie voor het coderen van binaire tekenreeksen naar Base64-tekenreeksen (Binary to ASCII), is de omgekeerde bewerking van atob() en wordt gebruikt bij het converteren van video naar Base64.
Uint8Array
JavaScript getypeerde array die 8-bit unsigned integers (0-255) opslaat, elk element komt overeen met een byte; is de standaardmethode voor het verwerken van binaire gegevens, na Base64-decodering moet worden geconverteerd naar Uint8Array voordat een Blob wordt aangemaakt.
MP4
MPEG-4 Part 14, een veelgebruikt multimedia-containerformaat dat meestal H.264-videocodering en AAC-audiocodering inkapselt; heeft de beste webcompatibiliteit, bestandsextensie .mp4.
WebM
Open source royalty-vrij video-containerformaat geïntroduceerd door Google, dat meestal VP8/VP9/AV1-videocodering en Vorbis/Opus-audiocodering gebruikt; compressieverhouding is superieur aan MP4, goed ondersteund door Chrome/Firefox/Edge.
OGG
Open source multimedia-containerformaat ontwikkeld door de Xiph Foundation; video gebruikt meestal Theora-codering en audio Vorbis-codering; het gebruik neemt geleidelijk af, grotendeels vervangen door WebM, bestandsextensie .ogv.
H.264/AVC
Momenteel de meest gebruikte videocoderingsstandaard, ook wel AVC (Advanced Video Coding) genoemd; heeft goede balans tussen compressieverhouding en kwaliteit, hardwareversnellingsondersteuning, is de standaard videocodering voor de MP4-container en is compatibel met alle browsers.
AAC
Advanced Audio Coding, geavanceerde audiocodering, standaard audiocodering voor de MP4-container; is de opvolger van het MP3-formaat, met kleinere bestanden bij gelijke kwaliteit en ondersteund door alle moderne browsers.
Object URL
Tijdelijke URL aangemaakt via URL.createObjectURL(blob), in het formaat blob://..., direct bruikbaar in het src-attribuut van tags zoals video/img, verwijst naar Blob-gegevens in het geheugen; na gebruik moet geheugen worden vrijgegeven met revokeObjectURL.
FFmpeg
Open source tool voor audio/videoverwerking, bruikbaar voor videotranscodering, bewerking, bekijken van coderingsinformatie, compressie en andere bewerkingen; is de industriestandaard tool voor videoverwerking, onmisbaar voor het verifiëren en converteren van videocoderingen.
moov atom
Metadata-atom in het MP4-bestand die sleutelgegevens bevat zoals videoduur, resolutie, coderingsinformatie, decoderingsparameters enz. De moov moet aan het begin van het bestand staan voor snelle weergave; voor webvideo's wordt aanbevolen deze aan het begin te plaatsen (faststart).
Containerformaat
Bestandsformaat dat videostromen, audiostromen, ondertitels en metadata inkapselt, zoals MP4, WebM, OGG, MKV; containerformaat is niet hetzelfde als coderingsformaat, dezelfde container kan verschillende coderingen inkapselen.
Videocodering
Algoritme voor het comprimeren en decomprimeren van videogegevens; veelgebruikt zijn H.264, H.265(HEVC), VP8, VP9, AV1; codering bepaalt de compressieverhouding en beeldkwaliteit, door de browser ondersteunde coderingen bepalen of de video kan worden afgespeeld.
API debuggen
Proces van het verifiëren van gegevenscorrectheid tijdens de ontwikkeling van frontend- en backendinterfaces; deze tool kan worden gebruikt om snel te voorvertonen of door de API geretourneerde Base64-videogegevens correct zijn zonder frontend decodeercode te schrijven.
Chrome DevTools
In Chrome ingebouwde ontwikkelaarstools; het Netwerkpaneel toont API-aanvragen en -reacties, waaruit Base64-videogegevens kunnen worden gekopieerd voor debuggen.
Opvulteken =
Aan het eind van Base64-codering kunnen 1 of 2 gelijktekens verschijnen om de lengte van het coderingsresultaat tot een veelvoud van 4 aan te vullen; ontbrekende opvulling tijdens decodering kan fouten veroorzaken; de tool kan opvulproblemen automatisch corrigeren.

Vergelijkingstabel van webvideo MIME-typen en compatibiliteit

MIME-typeContainerformaatVeelgebruikte videocoderingenVeelgebruikte audiocoderingenBrowsercompatibiliteitBestandsextensies
video/mp4MP4 (MPEG-4 Part 14)H.264/AVC, H.265/HEVC, AV1AAC, MP3Alle moderne browsers (Chrome/Firefox/Safari/Edge/iOS/Android), H.264+AAC combinatie 100% compatibel.mp4, .m4v
video/webmWebMVP8, VP9, AV1Vorbis, OpusVolledige ondersteuning Chrome/Firefox/Edge/Opera, Safari 14.1+ ondersteuning, iOS Safari 15+ gedeeltelijke ondersteuning.webm
video/oggOggTheoraVorbisOndersteuning Firefox/oude Chrome/Opera, Safari geen ondersteuning, gebruik in afname.ogv, .ogg
video/quicktimeQuickTime (MOV)ProRes, H.264AAC, PCMVoornamelijk ondersteund door Safari/macOS, slechte compatibiliteit met andere browsers.mov
video/x-matroskaMatroskaH.264, VP9, AV1, enz.Verschillende coderingenSlechte native ondersteuning in browsers, meestal third-party speler nodig, niet aanbevolen voor web.mkv

Veelvoorkomende foutcodes bij Base64-videodecodering en oplossingen

Fout/foutmeldingMogelijke oorzakenVerificatierichtingenOplossingen
atob() fout: InvalidCharacterError of "not correctly encoded"Base64-tekenreeks bevat ongeldige tekens; Data URL-prefix niet verwijderd; aanwezigheid van witruimte/regeleindenControleer of de invoertekenreeks alleen A-Za-z0-9+/= bevat; bevestig dat de data: prefix is verwijderdVerwijder de prefix data:video/...;base64,; verwijder alle regeleinden, spaties en tabs; controleer op Chinese of speciale tekens
Decodering gelukt maar video speelt niet af, "niet-ondersteund videoformaat" wordt weergegevenMIME-type onjuist; videocodering niet ondersteund door browser; bestandskop beschadigdBevestig dat het MIME-type overeenkomt met het werkelijke formaat van de video; verifieer coderingsinformatie met FFmpegSelecteer het juiste MIME-type (MP4 gebruikt video/mp4); transcodeer naar H.264+AAC (MP4) met FFmpeg; controleer of begin en eind van Base64 compleet zijn
Video met beeld maar geen geluid, of geluid maar geen beeldEen van de audio- of videocoderingen wordt niet door de browser ondersteund; audiotrack of videotrack beschadigdBekijk met FFmpeg welke streams de video bevat en hun coderingenMP4 moet H.264-video + AAC-audio zijn; WebM gebruikt VP8/VP9+Vorbis/Opus; transcodeer opnieuw naar standaard compatibel formaat
Video met vervormingen, groen scherm, mozaïekBase64-gegevens onvolledig (afgekapt); gegevens beschadigd tijdens decodering; keyframe verliesVergelijk originele Base64-lengte, controleer of kopie compleet isKopieer de volledige Base64-tekenreeks opnieuw; controleer op tekenverlies tijdens transmissie; verifieer dat het originele videobestand zelf normaal is
Grootte van video na decodering komt niet overeen met origineel bestandOnjuiste verwerking van Base64-opvultekens =; coderingsproblemen bij conversie van binaire tekenreeks naar Uint8ArrayControleer of decodeerlogica opvulling correct verwerkt; bevestig dat charCodeAt bereik 0-255 isZorg ervoor dat =-tekens aan het eind van Base64 correct worden verwerkt; controleer of Uint8Array-conversielogica correct is
Pagina loopt vast en reageert niet tijdens decodering van grote videoBase64-decodering wordt uitgevoerd in de hoofdthread en blokkeert de UI; video is te groot en overschrijdt geheugenlimietenBekijk de grootte van Base64-gegevens; Base64 boven 10MB (ongeveer 7,5MB originele video) kan vastlopers veroorzakenNiet aanbevolen Base64 voor grote video's; overweeg achtergronddecodering met Web Worker; verwerk in blokken; gebruik bestandsuploadmethode
Safari kan decoderen maar niet afspelen, Chrome werkt normaalSafari heeft strengere eisen voor videocodering; moov atom niet aan begin van bestand; Profile/Level van codering te hoogVerifieer H.264 Profile en Level met FFmpeg; controleer moov-positieVoeg -movflags +faststart toe tijdens transcodering; gebruik H.264 Baseline/Main Profile, Level niet hoger dan 4.1; bevestig dat audio AAC is
Direct instellen van Data URL op video.src speelt video niet afData URL-formaat onjuist; MIME-type verkeerd; Base64-gedeelte corruptControleer of Data URL-formaat data:video/xxx;base64,xxxx isBevestig dat MIME-type correct is; komma is een Engelse komma; Base64-gedeelte is compleet; sommige mobiele apparaten hebben limieten op Data URL-grootte

Vergelijkingstabel van originele videogrootte en grootte na Base64-codering

Originele videogrootteGrootte na Base64-codering (ongeveer)GroottetoenameData URL-header overheadGeschikt voor inbeddingTypische scenario's
100 KB~133 KB+33%Ongeveer 20 bytesAanbevolenZeer kleine pictogramanimaties, geluidloze laadanimaties van enkele seconden
500 KB~667 KB+33%Ongeveer 20 bytesAanbevolenKorte looping animaties, korte instructievideo's, knopfeedbackanimaties
1 MB~1.33 MB+33%Ongeveer 20 bytesAfhankelijk van gevalGidsvideo van 5-10 seconden, demonstratieanimaties met lage resolutie, let op eerste schermprestaties
2 MB~2.67 MB+33%Ongeveer 20 bytesNiet aanbevolenDicht bij de groottelimiet voor inline video's, verhoogt de laadtijd van de pagina aanzienlijk
5 MB~6.67 MB+33%Ongeveer 20 bytesNiet aanbevolenTe groot, Base64-inbedding niet aanbevolen, gebruik externe videobestanden
10 MB~13.3 MB+33%Ongeveer 20 bytesVerbodenBeïnvloedt het laden van de pagina ernstig, kan crash door geheugengebrek op mobiele apparaten veroorzaken
50 MB~66.7 MB+33%Ongeveer 20 bytesVerbodenGebruik absoluut geen Base64 voor video's van deze grootte, gebruik bestandsupload/laadmethoden