Previous Up Next

4.4.1  Hoe converteer ik een (of meerdere) multimediabestand(en) naar een ander formaat?

Indien we spreken over grafische bestanden, dan is convert, van ImageMagick, de tool die je nodig hebt. Om bijvoorbeeld een ganse directorie aan jpg’s te converteren naar eps’s doe je het volgende in die directorie:

~$ for file in *.jpg; do convert "$file" "${file%.jpg}.eps"; done

Met de ’for’-lus wordt aan de variabele file telkens en bestandsnaam toegekend. Die gebruik je dan op de plaats van de bestandsnaam in het commando dat je wil uitvoeren.

De "{file%.jpg}.eps" is een bash-feature die je in de manpage van bash vindt. ${file%.jpg} zal de bestandsextensie ’.jpg’ verwijderen. Daarna voeg je er ’.eps’ aan toe. Zo weet convert naar welk beeldformaat het moet converteren.

Indien je met subdirectories wil rekening houden is het volgende misschien meer aangeraden:

find -name '*.jpg' | while read file; do convert "$file" "${file%.jpg}.eps"; done

Het find-commando genereert een lijst met de gewenste bestandsnamen (een naam per regel) die het dan doorgeeft (|) aan het while-commando. Die leest lijn per lijn (en dus naam per naam) in en past het commando toe.

Indien we over geluidsbestanden spreken, dan is sox een leuke keuze, alhoewel die niet alle bestandstypes aankan. Om specifiek naar mp3 of ogg te encoderen is het misschien interessanter om lame respectievelijk oggenc te gebruiken. Deze tools zijn nl gemaakt om zo zuiver mogelijke geluidsbestanden te creeren.

Voor videobestanden kan je convert gebruiken of transcode. Deze laatste ondersteunt alle MPEG-formaten, DivX en QuickTime.


BCOL-FAQ : De Belgische Linux nieuwsgroep vragen
Previous Up Next