Linux Audio en Video
Youtube filmpjes downloaden via de commandline
Stel je wilt een filmpje van youtube of een andere website downlaoden, bijvoorbeeld: http://youtu.be/MYSVMgRr6pw (vervang dit in de onderstaande voorbeelden door de url van de gewenste video)
installeren:
sudo apt-get install youtube-dl
lijst met ondersteunde websites:
youtube-dl --list-extractors
lijst met beschikbare formaten/bestandssoorten:
youtube-dl --list-formats http://youtu.be/MYSVMgRr6pw
downloaden met formaat 22 (1280x720):
youtube-dl --f 22 http://youtu.be/MYSVMgRr6pw
als je alleen het geluid wilt hebben:
youtube-dl --f 18 --extract-audio http://youtu.be/MYSVMgRr6pw
Een filmpje maken van een map met plaatjes
Als je een map hebt met daarin .png- of .jpg-bestanden van gelijke grootte, dan kun je daar een filmpje van maken:
mencoder "mf://*.png" -mf fps=15 -ovc lavc -o ./output.avi
voor png-bestanden (in dit voorbeeld: 15 plaatjes per seconde) of
mencoder "mf://*.jpg" -mf fps=1 -ovc lavc -o ./output.avi
voor jpg-bestanden (in dit voorbeeld: 1 plaatje per seconde)
Het getal bij fps= geeft aan hoeveel plaatjes er per seconde getoond moeten worden.
Als mencoder nog niet geinstalleerd is, dan moet je die eerst installeren.
Automatisch screenshots maken van een video
Als je van een video elke 5 seconden een frame wil opslaan als .jpg-afbeelding kun je dat als volgt doen:
mplayer -vo jpeg -sstep 5 -endpos 6900 film.mp4
bij -sstep het aantal seconden dat gewacht moet worden voordat het volgende screenshot genomen wordt.
bij -endpos het aantal seconden dat er afgespeeld moet worden voordat er gestopt moet worden. Als dit aantal meer is als de video lang is, dan komt het programma in een loop terecht waar je uit moeten breaken met Ctrl-C, anders blijft het steeds het laatste frame herhalen.
ffmpeg en avconv
Commandline tool ffmpeg wordt in o.a. Debian en Ubuntu vervangen door avconv, voor eindgebruikers zou dit geen verschil moeten maken, de te gebruiken parameters zijn tot nu toe hetzelfde gebleven, maar dit kan natuurlijk in de toekomst gaan veranderen. Debian geeft de volgende melding als je ffmpeg gebruikt: *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. Je kunt daarna wel doorgaan met ffmpeg.
Geluid van een video opslaan als mp3
Met behulp van de commandline en het programma ffmpeg kun je geluid rippen van een video.
Het spreekt voor zich dat je ffmpeg geinstalleerd moet hebben.
Dit is wat je moet intypen als de video filmpje.mp4 heet en het geluid naar geluid.mp3 moet:
ffmpeg -i filmpje.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 geluid.mp3
Dit is de betekenis van de parameters:
-ab : Audio bitrate
-ar : Audio samplerate
Dit kan ook met een flash-video:
ffmpeg -i flash-video.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 geluid-van-flash-video.mp3
Flashfilmpjes (.flv) omzetten naar .mpg-filmpjes
Met behulp van de commandline en het programma ffmpeg kun je flash-(.flv)-filmpjes omzetten naar .mpg-filmpjes.
Stel je filmpje heet filmpje.flv, dan is de eenvoudigste methode om het filmpje om te zetten dit commando:
ffmpeg -i filmpje.flv filmpje.mpg
Het spreekt voor zich dat je ffmpeg geinstalleerd moet hebben.
Een iets uitgebreidere methode waar je wat meer controle over de omzetting hebt is:
ffmpeg -i filmpje.flv -ab 64 -ar 44100 -b 2000 -s 160x128 filmpje.mpg
Dit is de betekenis van de parameters:
-ab : Audio bitrate
-ar : Audio samplerate
-b : Video bitrate
-s : Size
Geluid herstarten
Na het bezoeken van een website kan opeens geluid verstoord zijn. Na ongeveer een uur komt het vanzelf weer goed, maar daar wil je meestal niet op wachten. De computer herstarten lost het ook op, maar dat is nogal drastisch. Een snellere methode is het hestarten van het geluid:
pulseaudio -k && sudo alsa force-reload
Een alias hiervoor kan ook in ~/bashrc gezet kan worden zodat je alleen maar geluid hoeft in te typen:
#geluid herstarten
alias geluid='pulseaudio -k && sudo alsa force-reload'
Video's samenvoegen
Een map met video's van hetzelfde type, bijvoorbeeld .avi, kan je samenvoegen tot één video bestand met ffmpeg. Eerst de namen van de samen te voegen video's in een .txt bestand plaatsen:
printf "file '%s'\n" ./*.avi > mijnvideolijst.txt
Dan de filmpjes uit het .txt bestand samenvoegen:
ffmpeg -f concat -safe 0 -i mijnvideolijst.txt -c copy samengevoegd.avi
Als je een ander type bestand hebt, bijvoorbeeld .mp4, dan moet je in het bovenstande .avi (2x) vervangen door .mp4.
