Formater, oppløsninger og manipulasjon av mediafiler

Dette notatet er en liten samling diverse «one-liners» (noen ganger flere) for å gjøre ulik type behandling av feks video, bilde og lyd.

Som vanlig foretrekker jeg å skrive små programmer for å gjøre enkle, repetative oppgaver på datamaskinen, og disse er ofte mye raskere enn å gjøre det samme med tunge desktopverktøy.

Det er alltid en sjanse for å gjøre noe man ikke kan ta tilbake, så hold tunga rett i munnen.

All bruk skjer på eget ansvar.

Formater og oppløsninger

https://formats.iff.ninja/ ligger det en tabell som automatisk koverterer til de ulike oppløsningene. Her har jeg lagt in tabellen manuelt.

Format Størrelse i mm Piksler (300ppt/118.11ppcm) Piksler (+ 3mm bleed)
A2 594 × 420 7016 × 4961 7087 × 5032
Maksikort 125 × 235 1477 × 2776 1548 × 2847
A6 (lite postkort) 148.5 × 105 1754 × 1241 1825 × 1312
Større enn pocket 125 × 210 1477 × 2481 1548 × 2552
Pocket 100 × 180 1182 × 2126 1252 × 2197

Dokumentbehandling med Pandoc

pandoc input.docx -f docx -t markdown --wrap=none output.md

Konvertere et Word-dokument til Markdown. --wrap=none passer på at tekstene ikke blir «brukket om» til 80 tegn per linje.

Referanser

https://pandoc.org/

https://pandoc.org/MANUAL.html#reader-options

https://ronn-bundgaard.dk/blog/convert-docx-to-markdown-with-pandoc/

Bildebehandling med ImageMagick

convert -units PixelsPerInch image.png -density 300 image.tif

Gjør om image.png fra 72 til 300 ppt. Det beholder sine dimensjoner i piksler, men den fysiske størrelsen i mm endres.

Dette er spesielt hendig der du genererer bilder i canvas som senere skal trykkes.


convert -units PixelsPerCentimeter image.png -density 120 -flatten image.tif

Gjør om image.png med alpha (gjennomsiktighet) til 120 ppcm (litt høyere enn 300 ppt) image.tif med hvit bakgrunn (flatten). Det beholder sine dimensjoner i piksler, men den fysiske størrelsen i mm endres.

Dette er spesielt hendig der du genererer bilder i canvas som senere skal trykkes.


convert image.png -flatten -set colorspace Gray image.tif

Gjør om image.png i RGB eller CMYK colorspace til Grayscale.

Sort hvitt / gråtone


convert image.tif -colorspace cmyk -separate channel_%d.tif

Separererer image.tif i CMYK til 4 indivudelle bilder i Grayscale


convert image.tif -colorspace cmyk -channel c -negate -separate channel_c.png

Separererer valgt kanal -channel c fra image.tif, inverterer det med -negate og lagrer det som channel_c.png


convert image.png image.jpg
convert image.png image.tif

Gjør om image.png til ønsket format uten spesielle endringer.

Hvis du konverterer til JPEG/MIFF/PNG kan du bruke -quality 80 på slutten for å kontrollere komprimeringen.


convert -density 140 input.pdf -rotate "$([ $((RANDOM % 2)) -eq 1 ] && echo -)0.$(($RANDOM % 4 + 5))" -attenuate 0.1 +noise Multiplicative -flatten -attenuate 0.01 +noise Multiplicative -sharpen 0x1.0 -colorspace Gray output.pdf

Få en PDF til å se scannet ut. Noen ganger bare nekter folk å ta imot en PDF som ikke er fysisk scannet inn. ;)


convert -delay 10 -loop 0 *.jpg animation.gif

Lag en enkel gif-animasjon av alle .jpg-bilder i en mappe. 10ms per frame, loop uendelig mange ganger (0)


convert *.jpg multipage.pdf

Lag en enkel flersidig PDF av alle .jpg-bilder i en mappe.


convert input.png -crop 1080x1080 output-%02d.png

Del opp et bilde i X antall crops (split into grid). For eksempel et kvadrat på 3240px blir til 9 kvadrater på 1080px. Hendig for platecover på instagram.


convert input.jpg -colors 32 -define histogram:unique-colors=true -format "%c" histogram:info: > color-histogram.txt

Reduser bildet til 32 farger og print disse til en txt-fil. Hendig hvis du trenger de dominerende fargene. Dette kan også ses i stdout ut med identify-funksjonen


convert input.jpg -colors 32 output.png
convert input.jpg +dither -colors 32 output.png

Reduser bildet til 32 farger. Alternativ med dithering (fungerer bedre for lavere oppløsninger).

Video og bildebehandling med FFmpeg

ffmpeg -i input.mp4 -filter:v "crop=494:848:192:20" output.mp4

ffmpeg crop video "crop=w:h:x:y"


ffmpeg -i input.mp4 -vf "transpose=1" ouput.mp4

ffmpeg roter video

Hvor transpose=1 er 90˚, transpose=2 er 180˚, og transpose=3 er 270˚/-90˚


ffmpeg -f concat -safe 0 -i list_of_files_to_concat.txt -c copy output.mp4

ffmpeg sette sammen videoklipp med FFmpeg Concatenate


ffmpeg -framerate 12 -pattern_type glob -i '*.png' -f mp4 -vcodec libx264 -pix_fmt yuv420p output.mp4

ffmpeg lage videofil av serie med bilder ffmpeg -i input.mp4 -vf negate output.mp4

ffmpeg inverter farger på video


ffmpeg -i video.mp4 -vcodec copy -an output.mp4

ffmpeg fjerne lydspor fra en videofil


ffmpeg -itsscale 0.016667 -i input.mov output.mov

ffmpeg minke/øke hastighet eller gjøre saktere/raskere en film (speed up) 1/60 = 0.016667, gjør 60 ganger raskere

60/1 = 60, gjør 60 ganger tregere


ffmpeg -i input.mov -vf tmix=frames=16:weights="1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1" output.mov

frames=16 er antall frames som skal blandes weights kan styre vekten per frame som skal blendes

Kan gjerne kombineres med -itsscale for å blende og øke/sakke hastigheten smooth


ffmpeg -i animated.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4

Konverter en animert gif til en mp4 som kan spilles i nettleseren. -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" passer på at GIFens oppløsning er delbar på 2.

Se referanse på Stack overflow

Lydbehandling med ffmpeg

ffmpeg -i track_1.wav -i track_2.wav -filter_complex amerge output.wav

Legge to lydspor oppå hverandre/kombinere lyd. Bra hvis man bruker zoom med intern og ekstern mic men bare trenger én stereofil.


ffmpeg -i stereo.wav -ac 1 mono.wav

Miks høyre og venstre ned til én kanal. Se ffmpeg for Audio channel manipulation


ffmpeg -i input.wav -filter:a "volume=1.5" output.wav

Øk volumet på lydkanalene med 150% prosent

Filbehandling med shell scripts

for file in *.mp4; do mv "$file" "`echo $file | sed 's/regex\ to\ remove\ from\ filename//'`"; done

Fjerne en del av et filnavn.

Se Sending files with similar names

Nyttige lenker

Modulering av farger med en lineær matrise http://www.imagemagick.org/Usage/color_mods/#modulate_colorspace

Kvantisering av farger og konvertering mellom fargerom http://www.imagemagick.org/Usage/quantize/#quantize

Color Reduction Introduction http://www.imagemagick.org/Usage/quantize/#intro