Zo kun je bestanden en media comprimeren

© PXimport

Zo kun je bestanden en media comprimeren

Geplaatst: 23 februari 2020 - 08:02

Aangepast: 25 november 2022 - 08:36

Toon van Daele

Je mag dan wel enkele TB aan opslagruimte hebben, het zit in onze natuur: we houden alles liefst zo zuinig mogelijk. Als het in 80 kB kan waarom er dan 200 kB aan verspillen? Compressietools helpen je je databestanden compact te houden en voor die gulzige multimediabestanden zet je zogenoemde codecs in. Waarop moet je letten als je bestanden wilt comprimeren en welke hulpprogramma’s zijn zoal beschikbaar?

Tip 01: Lossy en lossless

Er zijn in feite twee manieren waarop je bestanden kunt comprimeren. Bij multimediabestanden bijvoorbeeld gaat het vaak om lossy (verliesgevende) compressie. Hierbij boet je altijd iets aan kwaliteit in en kun je de originele bestanden vanuit de gecomprimeerde versie niet meer terughalen. Met enkele bescheiden artefacten in een video, of een nauwelijks waarneembare vermindering van de geluidskwaliteit valt nog wel te leven.

Maar bij gewone databestanden, zoals documenten of uitvoerbare bestanden, gaat die vlieger niet op. De enige optie die je hier hebt is lossless (verliesloze) compressie. Anders gezegd, wanneer je het bestand uitpakt of decomprimeert moet je bit-voor-bit uitkomen bij het originele bestand, want anders krijg je te maken met datacorruptie.

Tip 01 Lossless versus lossy: het exacte origineel krijg je alleen terug via verliesloze compressie.

© PXimport

Tip 02: Werking

Hoe kan een zip-bestand van 100 kB nou dezelfde informatie bevatten als het originele, niet-gecomprimeerde bestand van pak-hem-beet 180 kB? Het geheim zit in het ingebouwde compressiealgoritme, dat slim gebruikt maakt van redundantie oftewel ‘overtolligheid’ (afbeelding 1).

We illustreren dat met een eenvoudig voorbeeld. Zo vereist de zin “Ask not what your country can do for you; ask what you can do for your country” 79 bytes (inclusief spaties en leestekens). Nu zouden we het volgende ad hoc-woordenboek kunnen creëren:

1 ask, 2 what, 3 your, 4 country, 5 can, 6 do, 7 for, 8 you, waarna we met de volgende 'verwijscode' kunnen volstaan: 1 not 2 3 4 5 6 7 8; 1 2 8 5 6 7 3 4. Dit zijn in totaal 36 tekens inclusief spaties. Echter, dat levert slechts een niet bijster indrukwekkende winst van slechts 5 bytes op. Een compressiealgoritme werkt echter niet met woorden maar met patronen, en bovendien is het wel zo slim om gaandeweg het woordenboek aan te passen om het zuinigste resultaat te verkrijgen ('adaptief woordenboek'). Een betere combinatie blijkt dan: 1 ask_, 2 what_, 3 you, 4 r_country, 5 _can_do_for_you (iedere _ staat voor een spatie in het eindresultaat). Je krijgt dan in het kort: 1not2345;12354 wat nog slechts 14 tekens zijn: slechts 58 byte. Dat is dus een winst van 21 bytes of bijna 27% compacter.

Tip 02 Een simpel voorbeeld van verliesloze compressie met ‘slim’ woordenboek(je).

© PXimport

Het algoritme bepaalt in grote mate de efficiëntie van de datacompressie

-

Tip 03: Criteria

Uit tip 02 kun je afleiden dat het gebruikte compressie-algoritme (en het woordenboek) grotendeels mee bepalen hoe sterk een bestand zich laat comprimeren. Maar dat is niet alles: ook het datatype speelt een rol.

Probeer maar eens mediabestanden als avi, jpg of mp3 te comprimeren: dat levert doorgaans weinig op doordat ze zelf al met (lossy) compressie zijn opgebouwd (zie ook tips 08 en 09). Bepaalde documenttypes, zoals pdf en MS Office-documenten, laten zich evenmin goed comprimeren, doordat ze eveneens al compressie hebben toegepast.

Komt daarbij dat het ene algoritme bepaalde datatypes vaak heel sterk weet te comprimeren, maar bij andere types beduidend slechter scoort. Dat alles maakt de keuze van ‘de optimale compressietool’ er niet makkelijker op.

Bovendien is de behaalde compressiegraad niet alleenzaligmakend. Voor wie frequent data comprimeert en ook weer uitpakt, zal immers ook de decompressiesnelheid van belang zijn en in de praktijk blijkt de ene tool vaak veel sneller of trager dan de andere. Een blik op de testresultaten maakt dat meteen duidelijk.

Tip 03 In deze test staat Bandizip bovenaan als snelste inpakker. Het uitpakken vergt vaak wat meer adem …

© PXimport

Tip 04: Windows (zip)

In tips 05 tot 07 stellen we je een paar degelijke en gratis compressietools voor, maar wat heeft Windows zelf in huis? Spoiler: veel stelt het niet voor, maar het volstaat wellicht voor wie sporadisch bestanden wil in- of uitpakken.

Open de Verkenner en selecteer enkele bestanden en/of mappen. Klik met rechts op je selectie en kies Kopiëren naar / Gecomprimeerde (gezipte) map. Het resultaat van deze actie is een zip-bestand, met de naam van het aangeklikte item.

Om dit zip-archief weer uit te pakken hoef je er maar op te dubbelklikken, waarna je bovenaan selecteert en een doelmap opgeeft.

Dat is het. Het belangrijkste voordeel hiervan is dat je geen externe tool hoeft te downloaden of op te starten en dat elke ontvanger wel raad weet met zo’n universeel zip-bestand. Aan deze eenvoud kleeft echter ook een nadeel: je kunt nauwelijks opties instellen ter optimalisatie.

Tip 04 De ingebouwde (un)zipper in Windows: makkelijk, maar optieloos.

© PXimport

Tip 05: Externe tools

Voor wie zich afvraagt welke zinvolle opties een compressie- of archiveringstool zoal kan aanbieden: wat dacht je er bijvoorbeeld van om zelf de optimale compressiegraad in te stellen, het compressie-algoritme en -formaat te kiezen dat voor jouw data het snelste werkt en/of de meest compacte resultaten neerzet, je archiefbestand met een wachtwoord te vergrendelen, het archief automatisch uit te splitsen zodra een instelbare maximumgrootte is bereikt, of een zelfuitpakkend archief te creëren zodat de ontvanger niet over de bijhorende (de)compressietool hoeft de beschikken? Dergelijke opties kunnen best nuttig zijn als je regelmatig data in- en uitpakt.

Lijkt je dat inderdaad iets, dan zit er weinig anders op dan naar externe alternatieven uit te kijken. Degelijke, populaire en gratis tools, die (ook) binnen Windows functioneren, zijn Bandizip (Windows en macOS), PeaZip (Windows en Linux) en 7-Zip (Windows).

Bandizip blijkt doorgaans de snelste bij het inpakken, terwijl 7-Zip sterk presteert wat compressiegraad betreft, althans in het 7z-formaat. We bekijken deze laatste tool even van naderbij.

Tip 05 PeaZip, van vele (archiverings)markten thuis!

© PXimport

Tip 06: 7-Zip (basis)

7-Zip installeer je met een enkele muisklik, waarna je 7-Zip File Manager terugvindt in de programmalijst. Via Tools / Options / Language kun je de Nederlandse taal instellen voor de interface. En een vinkje bij Extra / Opties / 7-Zip / 7-Zip in het contextmenu integreren zorgt ervoor dat de belangrijkste commando’s voortaan ook vanuit de Verkenner beschikbaar zijn.

Start je Verkenner en rechtsklik op een bestandsselectie. Je merkt nu de optie 7-Zip op, met acties als Toevoegen aan <…>.zip en Toevoegen aan <…>.7z. Die zorgen voor een gecomprimeerd bestand, respectievelijk in zip- en 7z-formaat. Dit laatste levert weliswaar compactere archieven op, maar het inpakken duurt langer én de beoogde ontvangers moeten hiermee ook overweg kunnen.

Om een archiefbestand uit te pakken selecteer je het in de Verkenner en kies je in het contextmenu 7-Zip / Uitpakken (hier) of Uitpakken naar als je zelf het bestemmingspad wilt opgeven.

(Ook) 7-zip integreert mooi in het contextmenu van de Verkenner.

© PXimport

Tip 07: 7-Zip (extra)

Een andere optie in dit contextmenu is Toevoegen aan archief. Die voert je naar een programmavenster met allerlei aanpasbare instellingen, zoals het Archief formaat, met keuze uit onder meer 7z, tar en zip, of het gewenste Compressieniveau, met opties als Opslaan (geen compressie), Snel, Normaal en Ultra (maximale compressie).

Handig is ook nog SFX archief maken, beschikbaar bij 7z: de tool creëert dan een zelfuitpakkend exe-archief. Kies je 7z of zip dan kun je je archiefbestand met een wachtwoord vergrendelen. Een groot archiefbestand opsplitsen in deelbestanden kan via de optie Opsplitsen in volumes.

Andere instellingen, zoals Compressiemethode en Woordenboekgrootte zijn eveneens beschikbaar, maar die zijn behoorlijk geavanceerd en laten we in onze introductie buiten beschouwing. Het staat je natuurlijk vrij hiermee zelf te experimenteren.

Het instellingenvenster van 7-Zip biedt flink wat (geavanceerde) opties aan.

© PXimport

Tip 08: Codecs

We zeiden het al: mediabestanden laten zich doorgaans lastig comprimeren doordat de meeste al gecomprimeerd zijn. Immers, zonder compressie zou je met reuzengrote bestanden opgescheept zitten en dat is niet handig voor opslag en zeker niet voor streaming. Deze ‘interne’ compressie gebeurt met behulp van zogenoemde codecs, wat staat voor compressie-decompressie (of ook: codering-decodering).

Populaire verliesgevende audiocodecs zijn onder meer mp3, wma, ogg en aac. Er zijn echter ook verliesloze codecs, zoals alac, ape en flac en er zijn zelfs ‘codecs’ die helemaal niet comprimeren, zoals pcm in wav-bestanden.

Bij videobestanden tref je gelijksoortige technieken aan. Een uitgebreid overzicht van zowel verliesgevende als verliesloze codes vind je bijvoorbeeld hier.

Codecs zijn dus handig, maar je mediaspeler moet er wel mee overweg kunnen. Een veelzijdige speler is de gratis VLC media player die standaard en hele reeks codecs aan boord heeft, veel meer dan bijvoorbeeld Windows Media Player.

Wil je weten met welke codecs een mediabestand precies is opgebouwd, download dan MediaInfo. Na de uitvoering plaats je bij voorkeur een vinkje bij Shell-extensie […], waarna de optie MediaInfo beschikbaar komt wanneer je een mediabestand met rechts aanklikt in de Verkenner. Je krijgt nu detailinformatie over de gebruikte codecs te zien.

Tip 09: Psycho-akoestiek

Het gaat hier meestal om verliesgevende compressie, wat inhoudt dat er informatie wordt weggelaten, met een zeker kwaliteitsverlies tot gevolg. Om dat zo weinig mogelijk opvallend te maken laten codecs meestal de frequenties weg die het menselijke oor toch niet kan opvangen. Psycho-akoestiek heet dat, en

vind je een audiotest die dat mooi illustreert, met geluid tussen 20 Hz en 20 KHz. Daarbij komt nog dat geluiden met hoge frequenties, vanaf circa 15 KHz, vaak moeilijk te horen zijn indien vergezeld van luidere geluiden met een lagere frequentie. In dit geval passen codecs vaak ‘maskering’ toe en laten ze het geluid met de hoge frequenties weg.

Kijk – en luister – zeker ook even hier. Deze pagina bevat de testresultaten van een studie met onder andere een audiosample van Suzanne Vega’s ‘Tom’s Diner’ (example 8). Dit bevat de geluiden die door een mp3-bestand op 128 kbps werden weggefilterd uit het ongecomprimeerde origineel (example 6).

Ongecomprimeerd (boven), mp3 (midden), weggelaten geluiden (onder).

© PXimport

Psycho-akoestiek: een slimme manier van verliesgevende compressie

-

Tip 10: HandBrake

Zoals gezegd moet je mediaspeler met de codecs van je mediabestanden overweg kunnen. Soms kan een firmware-update helpen, soms brengt een extra ‘codecpack’ soelaas, zoals het pack K-Lite.

Brengt dat allemaal niets op dan zit er weinig anders op dan te transcoderen. Anders gezegd: andere codecs gebruiken en/of omzetten naar een ander formaat, met een andere bestandsextensie.

Een van de betere – maar helaas niet de snelste – gratis videotranscoders is HandBrake (64 bit Windows, macOS en Linux).

Bij het opstarten kies je voor een Folder of een enkele File. Er zijn talrijke ‘presets’ beschikbaar, maar alle parameters zelf instellen kan ook. Op het tabblad Summary stel je het Format (MKV of MP4) in, waarna je op het tabblad Video en Audio de codecs aanduidt. Er kunnen nu extra opties opduiken als Framerate( FPS), Quality en Avg bitrate. Houd de muisaanwijzer boven een optie voor meer feedback. Met Preview / Live Preview bekijk je het voorlopige resultaat van de transcodering. Ten slotte leg je via Browse het doelpad vast en start je de effectieve transcodering met Start Encode.

HandBrake heeft heel wat opties in huis voor de meer gevorderde ‘transcoder’.

© PXimport

Tip 11: VSDC

Naast videotranscoders zijn er natuurlijk ook audiotranscoders. Een van de betere gratis tools is VSDC Free Audio Converter (let er wel op geen ongewenste extra’s mee te laten installeren).

Haal alle gewenste audiobestanden op, leg het doelpad vast en geef het beoogde audioformaat aan: aac, aiff, amr, au, m4a, mp3, ogg, wma of wav. Er komen nu diverse profielen (‘presets’) beschikbaar met kwaliteitsaanduidingen als Highest, Normal en Least. Maar je kunt ook eigen profielen toevoegen via Edit profiles en daar allerlei opties finetunen, zoals Audio bitrate, Frequency en Channels.

Met de knop Convert files start je de transcodering.

VSDC Audio Converter is zowel geschikt voor beginners als gevorderde audiofielen.

© PXimport

Deel dit artikel
Voeg toe aan favorieten
ID.nl logo

ID.nl, onderdeel van Reshift BV, is in 2022 gestart en uitgegroeid tot de meest toonaangevende en complete consumentensite van Nederland. Het doel van ID.nl is om de consument te helpen met alle technologie die hoort bij het dagelijks leven: van smart-health-meters tot e-bikes, van warmtepompen tot zonnepanelen - en alles daar tussenin!

Duidelijk, betrouwbaar en onafhankelijk: ID.nl maakt moeilijke dingen makkelijk.

Contact

ID.nl

Nijverheidsweg 18

2031 CP Haarlem

info@id.nl

Telefoon: 023-5430000