Categories
Misc Open source / Freeware

Filmpjes op de achterbank “the hard way”

Ik heb nog even tijd, maar het is bijna weer vakantie, tijd om uren in de auto te zitten om naar je vakantie adres te gaan. De kinderen mogen mee 😛 , maar alleen als ze niet zeuren onderweg.

Hihi, ik weet zelf dat een vliegreis sneller gaat als je filmpje kan kijken dus dat zal ook gelden voor mijn kinderen!

Dus ik koop via bol Salora DVP7048TWIN – Portable DVD-speler met 2 schermen – 7 inch.
Vooral het ophangsysteem lijkt erg handig.
Maar de belangrijkste reden is dat er een usb poort op zit.
De rest van de beweegreden mag je raden.

Naief dat ik ben ga ik er-van-uit dat het gebruik van usb gemakkelijk is. FF een filmpie overzetten en klaar.
Helaas is dat niet zo. Maar ik was voorbereid (eindelijk eens tijd om dat uit te zoeken) en heb dus net zolang gezocht totdat ik het antwoord vond.

En die heb ik… alleen het is “the hard way“.
Dat betekend dat dit document niet voor iedereen is, of de avontuurlijk papa/mama.

Misschien is het gemakkelijker op Windows, maar ik werk op OSX dus sommige dingen worden daardoor alleen wat moeilijker.

Hier wat extra info gehaald over de SALORA DVP7048TWIN en hier wat info specifiek over media-ondersteuning.

USB-stick

Officieel is de maximaal ondersteunde capaciteit van de USB poort en SD kaartlezer 2GB, maar in de meeste gevallen zal een USB stick of SD geheugenkaart van een groter formaat probleemloos worden gelezen. Voorwaarde is wel, dat het de USB stick en/of SD geheugenkaart FAT32 geformatteerd is.

Je hebt een usb nodig die naar 2 GB mag zijn??? Ik heb ergens anders gelezen maximum 32.. Ik zelf heb twee sticks van 8GB en die doen het prima.

Niet vergeten die usb sticks opnieuw te formateren (backup die stick, want na formateren staat er niets meer op).
Open “Disk Utility” > wijs de juiste usb stick aan > klik “Erase” button > Select Format: “MS-DOS (FAT)” > Erase …

Klaar met die usb stick, nu het moeilijke deel.

Converteren video

Weer meer info uit de documentatie:

Derhalve adviseren wij voor een juiste weergave van AVI bestanden de volgende parameters:

Formaat: avi
Videocodec: xvid
Audiocodec: mp3
Resolutie: 720×405

Voor MP4 geldt:

Formaat: mp4
Videocodec: MPEG4
Audiocodec: mp3
Resolutie: 720×405

En wat voor programma’s je kunt gebruiken hiervoor:

Voor het controleren van de bestanden zijn vele (gratis) programma’s op internet te vinden, zoals het populaire Handbrake of het uiterst gebruiksvriendelijke Freemake Video Converter. Met deze programma’s kunt u bovendien het bestand omzetten naar een ondersteund formaat.

Voor OSX kan je Handbrake gebruiken, maar naar vele pogingen ben ik daarmee gestopt.
Om 1-of-ander manier krijg ik niet de juiste instellingen.
Wat vooral in de weg zit, is dat gekke formaat van 720×405 pixels. Handbrake kan waarschijnlijk wel croppen, maar telkens was het “verkeerde video resolutie” of “verkeerde videocodec”.

De videocodec die aangegeven wordt is blijkbaar ook een oude standaard en nu word voornamelijk “H.264” gebruikt ipv “MPEG-4”.

Uiteindelijke lukte het me via ffmpeg, een “A complete, cross-platform solution to record, convert and stream audio and video.”

Dit werkt via de terminal, dus niet echt voor beginners (vandaar dat dit document ook “the hard way” in de title heeft).

Install ffmpeg (ik heb dat gedaan via brew, maar er is een installer op de website) en controleer via de terminal

ffmpeg

Ik ga dit in kleine stapjes doen zodat je ongeveer weet wat er gebeurd:

Ga via de terminal naar de juiste folder waar de video staat:

cd pad/naar/video/folder

en type:

ffmpeg -i big_buck_bunny.avi -s 720x405 output_file.mp4

Nu heb je een werkende versie als je video ook 720 pixels was… maar dit werkt dus niet altijd
-i big_buck_bunny.avi is de naam van de videofile
-s 720x405 is de schaal van het beeld
output_file.mp4 is de naam van de nieuwe videofile

ffmpeg -i big_buck_bunny.avi -s 720x405 -vcodec mpeg4 -acodec mp3 output_file.mp4

We geven duidelijk aan welke codec we willen gebruiken
-vcodec mpeg4 voor video mpeg4 (kan ook -c:v mpeg4 geschreven worden)
-acodec mp3 voor audio mp3 (kan ook -c:a mp3 geschreven worden)

ffmpeg -i big_buck_bunny.avi -vf "scale=(iw*sar)*max(720/(iw*sar)\,405/ih):ih*max(720/(iw*sar)\,405/ih), crop=720:405" -vcodec mpeg4 -acodec mp3 output_file.mp4

Hier maken we videos die de juiste afmeting hebben, ook als je niet begint met 720 breed.

-vf "scale=(iw*sar)*max(720/(iw*sar)\,405/ih):ih*max(720/(iw*sar)\,405/ih), crop=720:405" verschaling, ik heb het ook maar ergens vandaan gekopieerd.

ffmpeg -i big_buck_bunny.avi -vf "scale=(iw*sar)*max(720/(iw*sar)\,405/ih):ih*max(720/(iw*sar)\,405/ih), crop=720:405" -c:v mpeg4 -q:v 8 -c:a mp3 -q:a 4 output_file.mp4

Nu nog de kwaliteit wat omhoog en dan zijn we klaar
-c:v mpeg4 -q:v 7 video kwaliteit is tussen 1 en 31
-c:a mp3 -q:a 4 audio kwaliteit is tussen 0 en 9

Bam en los kunnen we!
Ik heb uiteindelijk een bash script geschreven met alle videos.
De videos zijn dan tussen de 400 en 600 mb, ik kwam uit op 25 videos (a 1.5 uur…).

Tips

Zet t 120 in je ffmpeg command zorgt ervoor dat je maar 120 seconden rendert. Handig om even uit te vogelen welke settings jij wil gebruiken.

Spaties en ‘gekke tekens’ moet je escapen: Gekke naam (2000) wordt dan Gekke\ naam\ \(2000\). Gemakkelijker is het om de file-namen te veranderen. Vervang spatie met “_” of “.” en verwijder gekke tekens.

Zelf tips? gebruik de comments!

Links

https://trac.ffmpeg.org/wiki/Encode/MPEG-4
https://trac.ffmpeg.org/wiki/Encode/MP3
https://trac.ffmpeg.org/wiki/Scaling%20(resizing)%20with%20ffmpeg
https://www.virag.si/2012/01/web-video-encoding-tutorial-with-ffmpeg-0-9/
https://trac.handbrake.fr/wiki/Encoders
General FFmpeg encoding guide

(copy paste ze zelf maar, ik ga op vakantie 😀 )