ID.nl logo
Zo kun je programmeren in Python - deel 8
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - deel 8

Tot nu toe leerde je heel wat mogelijkheden van de programmeertaal Python. Misschien ben je buiten onze lessen zelf al aan de slag gegaan met je kennis. Super, want programmeren leer je door het veel te doen. Maar een goed programma is ook gedocumenteerd en goed getest. Dat leer je in onze achtste les.

Hier vind je les 1 van de Python-cursus.

Verkeerde gewoontes leer je niet snel af, daarom dat we nu even een stapje terugdoen en nadenken over wat ‘goede code’ is. Na deze les kun je code produceren die niet alleen goed gedocumenteerd en goed getest is, maar weet je ook hoe je informatie over Python-modules opzoekt met de helpfunctie.

Code documenteren met commentaar

Tot nu toe schreven we onze code zonder enige vorm van documentatie. Als je met anderen samenwerkt aan een programma, is het belangrijk dat je die documenteert, zodat je anderen duidelijk maakt wat je met je code bedoelt. Maar ook als je helemaal alleen programmeert, is documentatie geen overbodige luxe. Zo begrijp je je eigen code nog als je er over een jaar opnieuw naar kijkt.

De eerste manier om je code te documenteren is met commentaar. Alles na het #-teken (hekje) tot het einde van de regel (behalve als het hekje ín een string voorkomt) is commentaar en wordt door Python genegeerd. Op die manier kun je een uitleg voor jezelf of anderen schrijven. Als je bijvoorbeeld in de functie is_palindroom van deel 6 in de war raakt met die indexen, schrijf er dan gerust wat commentaar bij:

if letters[0] != letters[-1]: # Als de eerste en de laatste letter verschillen

Het getuigt van goede stijl om twee spaties tussen je code en het erna volgende commentaarteken te houden en één spatie tussen het commentaarteken en je commentaar. Overigens kun je ook commentaar op een nieuwe losstaande regel beginnen, dan spreken we van een commentaarregel:

# Als de eerste en de laatste letter verschillen

if letters[0] != letters[-1]:

Het is de gewoonte om een commentaarregel te zetten op de regel vóór de regel waarover hij gaat.

Code uitcommentariëren

Het commentaarteken (#) wordt ook weleens gebruikt om code die je aan het testen bent maar die niet blijkt te werken tijdelijk ‘uit te commentariëren’ ofwel uit te zetten. Door een commentaarteken voor de code te zetten, wordt de code door Python genegeerd, maar kun je hem erna wel eenvoudig weer inschakelen door het commentaarteken weg te halen. Op deze manier gebruik je het commentaarteken dus niet voor documentatie, maar eigenlijk als hulpmiddel bij het debuggen.

Code documenteren met docstrings

Commentaar gebruik je om te documenteren waarom je iets doet en hoe je het doet, maar voor gebruikers van je code is vooral belangrijk wat die doet. Om dat te documenteren, gebruik je docstrings: in het begin van elke module, elke klasse en elke functie of methode geef je met een string tussen drie dubbele aanhalingstekens aan wat het stuk code doet.

Zo zouden we onze klassen uit de vorige les als volgt kunnen documenteren:

"""Klassen om met tweedimensionale, driedimensionale en hogerdimensionale punten te werken."""

import math

class Point:
"""Stelt een punt voor in een willekeurig aantal dimensies."""

def __init__(self, *coordinates):
"""Initialiseer het punt met de opgegeven coördinaten."""
self.coordinates = list(coordinates)

def __repr__(self):
"""Geef een leesbare voorstelling van het punt terug."""
return 'Point(' + ', '.join(str(co) for co in self.coordinates) + ')'

def displacement(self, other_point):
"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

Voorbeeld: het verschil tussen Point(1, 4, 2) en Point(3, 4, 1) is gelijk aan Point(2, 0, -1).
"""
return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

def distance(self, other_point):
"""Geef de Euclidische afstand terug tussen dit punt en een ander punt."""
relative_position = self.displacement(other_point)
return math.sqrt(sum(i**2 for i in relative_position.coordinates))
class Point2D(Point):
"""Stelt een tweedimensionaal punt voor."""

def __init__(self, x=0, y=0):
"""Initialiseer het punt met de opgegeven x- en y-coördinaten."""
Point.__init__(self, x, y)
self.x = x
self.y = y
def get_x(self):

"""De x-coördinaat van het punt."""
return self.coordinates[0]

def set_x(self, x):
self.coordinates[0] = x

x = property(get_x, set_x)

def get_y(self):
"""De y-coördinaat van het punt."""
return self.coordinates[1]

def set_y(self, y):
self.coordinates[1] = y

y = property(get_y, set_y)

Je ziet hier dat documentatie niet lang hoeft te zijn. De docstrings bij de module, de klassen en bij de meeste methodes zijn maar één regel lang.

De moeilijkste methode om te begrijpen is displacement en daarom is het zinvol om daar wat meer uitleg bij te geven. Bij een docstring van meer dan één regel raden we aan om na de eerste regel een lege regel te houden, en om de drie dubbele aanhalingstekens op het einde op een nieuwe regel te zetten. Dat geeft wat meer overzicht.

Merk op: bij onze eigenschappen x en y van de klasse Point2D documenteren we alleen de methode die de waarde van de eigenschap opvraagt. Zo toont de ingebouwde helpfunctie van Python (die we op het einde van deze les bespreken) deze documentatie bij de eigenschap.

Interactieve voorbeelden in docstrings

We hebben in de docstring van de methode displacement al een voorbeeld van het gebruik van de methode gegeven als documentatie. Maar dat bleef nogal informeel. We kunnen die documentatie ook in de vorm van echte Python-code doen die je in een interactieve terminalsessie zou kunnen invoeren. Zo kan de gebruiker die de documentatie leest, onmiddellijk de voorbeelden kopiëren uit de documentatie en plakken in de Python-interpreter om ze uit te proberen. Dat zou voor de methode displacement er dan als volgt uitzien:

def displacement(self, other_point):"""Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))Point(2, 0, -1)"""return Point(*[a-b for a, b in zip(other_point.coordinates, self.coordinates)])

Je ziet hier dat je de code na de >>> exact in een Python-terminalsessie zou kunnen invoeren en dan ook het resultaat zou krijgen dat hier staat. In feite hebben we wat hier staat gewoon eerst in de terminal van Thonny ingevoerd en dan samen met de uitvoer gekopieerd en hier in de docstring geplakt.

Code testen met doctest

Stel dat je nu ooit de code van de methode displacement aanpast omdat je denkt een verbetering te zien, maar er een fout in maakt, waardoor het resultaat verkeerd is. Dan kun je dat testen door de voorbeeldcode in je docstring uit te voeren in een Python-terminalsessie. Voer je de code uit en komt het resultaat niet overeen met de uitvoer in de docstring, dan klopt je code niet meer.

Maar zouden we die test niet automatisch kunnen doen? Jazeker! Python kent daarvoor de module doctest, die automatisch alle docstrings in een module kan testen op interactieve voorbeelden. Dat voer je als volgt uit in een Linux- of macOS-terminal of de Windows Opdrachtprompt:

python3 -m doctest -v point.py

Hierbij is point.py de naam van de module met je code erin. Je krijgt dan als uitvoer de tests die doctest in je docstrings ziet en het resultaat. Als je het alleen wilt zien als een test een fout vindt, haal dan de optie -v weg. Stel dat je bijvoorbeeld per ongeluk de * vergeten bent in de methode displacement om de lijst naar een willekeurig aantal argumenten voor de klasse Point om te zetten, dan zal doctest die fout opmerken met de volgende melding:

**********************************************************************

File "point.py", line 21, in point.Point.displacement

Failed example:

Point(1, 4, 2).displacement(Point(3, 4, 1))

Expected:

Point(2, 0, -1)

Got:

Point([2, 0, -1])

**********************************************************************

1 items had failures:

1 of

***Test Failed*** 1 failures.

Een goede manier van programmeren is dan ook dat je je code zoveel mogelijk documenteert met docstrings en daarin ook interactieve voorbeelden opneemt, die je na elke wijziging van je code automatisch test met doctest om je ervan te verzekeren dat je geen fouten hebt geïntroduceerd.

De helpfunctie gebruiken

Als je code is gedocumenteerd, hoef je niet je codebestand in Thonny te openen om de documentatie te bekijken. Je kunt dit in een interactieve Python-sessie, bijvoorbeeld in Thonny, maar ook in een Python-sessie in een Linux- of macOS-terminal of de Windows Opdrachtprompt. Het enige wat je hoeft te doen, is de functie help op te roepen met de naam van de module, klasse, functie of methode waarvoor je de documentatie wilt zien. Bijvoorbeeld in Thonny:

>>> help(Point.displacement)

Help on function displacement in module __main__:

displacement(self, other_point)

Geef het verschil terug tussen dit punt en een ander punt.

De overeenkomstige coördinaten worden van elkaar afgetrokken.

>>> Point(1, 4, 2).displacement(Point(3, 4, 1))

Point(2, 0, -1)

Overigens zijn alle standaardmodules van Python uitgebreid gedocumenteerd met docstrings. Daardoor kun je van alle modules, klassen, functies en methodes heel eenvoudig documentatie opvragen in je Python-terminalsessie. Let er wel op dat je een module eerst dient te importeren voordat je er documentatie van kunt opvragen met help.

Samenvatting

In deze les ging het minder over het programmeren zelf, maar over het documenteren en testen van je Python-programma’s en het uitzoeken van meer informatie over de standaard Python-modules of je eigen modules. Hoe complexer je programma’s zijn, hoe belangrijker dit soort zaken rond je code zijn. Maak er daarom een gewoonte van om documentatie en tests niet als een nabeschouwing te zien, maar al tijdens de ontwikkeling van je programma in je code te integreren. In de volgende les maken we het nog complexer: dan gaan we extra modules installeren die niet in Python ingebouwd zijn.

Opdracht 1

Voer de helpfunctie eens uit op je klasse Point2D. Wat zou er nog beter kunnen aan de getoonde documentatie?

Uitwerking opdracht 1

*>>> from point import Point2D

help(Point2D)* De helpfunctie van onze klasse toont niet alleen de eigenschappen x en y bij de Data descriptors, maar toont ook de methodes get_x, set_x, get_y en set_y. Dat is wat te veel van het goede. Die methodes hoeven niet getoond te worden. Daar doen we in de volgende opdracht iets aan.

Opdracht 2

We hebben een eigenschap zoals x in de klasse Point2D tot nu toe geconstrueerd met methodes get_x en set_x en een opdracht als x = property(get_x, set_x) om deze methodes samen als eigenschap te gebruiken. Maar je kunt een eigenschap ook met een decorator definiëren en dan worden die methodes niet in de helpuitvoer getoond. Zoek zelf met de ingebouwde helpfunctie van Python op hoe je dat doet.

Uitwerking opdracht 2

Met help(property) krijg je uitleg over de opdracht property. Je leert er zelfs dat het geen opdracht maar een klasse is. Het in de helpuitvoer getoonde voorbeeld kun je bijna rechtstreeks toepassen op onze klasse Point2D. Dan kom je tot de volgende code voor x: *@propertydef x(self):"""De x-coördinaat van het punt."""return self.coordinates[0]@x.setter**def x(self, x):*self.coordinates[0] = x Doe hetzelfde voor y. Voer de helpfunctie opnieuw uit op je klasse en verifieer dat je alleen nog maar hulp over de eigenschappen krijgt en niet meer over de methodes die de eigenschappen opbouwen.

Cheatsheet

Commentaar: een regel die begint met # en dient als uitleg bij een stukje code. Debuggen: fouten (bugs) in je code opsporen en verhelpen. Docstring: een string tussen drie dubbele aanhalingstekens die een module, klasse, functie of methode documenteert. Uitcommentariëren: een regel code uitschakelen door er een commentaarteken voor te zetten.

▼ Volgende artikel
Router of powerline-adapter: wat is de beste keuze voor betere wifi?
© ER | ID.nl
Huis

Router of powerline-adapter: wat is de beste keuze voor betere wifi?

Haperende streams en trage downloads op zolder zijn grote ergernissen in veel huishoudens. Om dat op te lossen twijfelen veel mensen tussen een krachtiger router of een set powerline-adapters. In dit artikel leggen we precies uit wanneer je voor welke oplossing moet kiezen, zodat je geen geld verspilt aan de verkeerde apparatuur.

Voordat je naar de winkel rent: je moet eerst begrijpen wat er precies misgaat met je verbinding. Wifi-problemen kun je doorgaans opdelen in twee categorieën: een gebrek aan bereik of een gebrek aan capaciteit. Bij een gebrek aan bereik komt het signaal simpelweg niet ver genoeg, bijvoorbeeld omdat dikke betonnen muren of plafonds het signaal blokkeren. Je hebt dan op zolder één streepje bereik of zelfs helemaal geen verbinding. Bij een gebrek aan capaciteit is het signaal wel sterk, maar is de router niet krachtig genoeg om alle data te verwerken. Dat merk je als het internet traag wordt zodra iedereen thuis tegelijk online is. Het onderscheid tussen deze twee oorzaken bepaalt of je een router of een powerline-adapter nodig hebt.

Wanneer is een nieuwe router de oplossing?

De router is het hart van je thuisnetwerk en regelt al het verkeer. Vaak gebruiken mensen het standaardmodem dat ze van hun internetprovider hebben gekregen, maar deze apparaten blinken zelden uit in prestaties. Een losse, hoogwaardige router kopen is de beste keuze wanneer je merkt dat de verbinding in de buurt van het modem al niet optimaal is of wanneer je regelmatig met veel apparaten tegelijk online bent.

Als je in de woonkamer zit en de verbinding hapert zodra de kids op hun tablets zitten, is je huidige router waarschijnlijk niet krachtig genoeg om al die gelijktijdige datastromen te verwerken. Een moderne router met ondersteuning voor wifi 6 kan veel meer apparaten tegelijk bedienen en zorgt voor een hogere, stabielere snelheid op de verdieping waar hij staat.

©Andrii

Internet via het stopcontact met powerline

Een powerline-adapter, ook wel homeplug genoemd, werkt volgens een totaal ander principe. Dit systeem maakt gebruik van het bestaande stroomnet in huis om het internetsignaal te verplaatsen. Je stopt één adapter in het stopcontact bij je router en de tweede adapter in een stopcontact op de plek waar je internet nodig hebt, bijvoorbeeld op zolder of in het tuinhuis.

Dit is de ideale oplossing wanneer het wifi-signaal door dikke betonnen muren of plafonds moet dringen. Waar wifi-golven afketsen op gewapend beton, stuurt de powerline het signaal simpelweg via de koperdraden in de muur naar boven. Dat maakt powerline-adapters uitermate geschikt voor specifieke 'dode zones' die te ver weg liggen voor het bereik van een gewone router.

Populaire merken voor netwerkoplossingen

Als je op zoek gaat naar powerline-adapters, kom je al snel uit bij Devolo. Dit Duitse merk is de onbetwiste marktleider op het gebied van homeplugs en staat bekend om de Magic-serie die zeer stabiele verbindingen via het stroomnet garandeert.

Voor routers en mesh-systemen is TP-Link een zeer populaire keuze vanwege de goede balans tussen prijs en prestaties, met modellen voor elk budget. Netgear richt zich met de Nighthawk-serie vaak op de veeleisende gebruiker en gamers die maximale snelheid wensen. Tot slot is AVM, bekend van de FRITZ!Box, een merk dat zowel uitstekende routers als powerline-oplossingen biedt die naadloos met elkaar samenwerken in één netwerk.

Stabiliteit versus snelheid

Bij de keuze tussen deze twee speelt ook het gebruiksdoel een rol. Powerline-adapters zijn vaak de favoriete keuze voor gamers of mensen die thuiswerken op een vaste pc. De reden hiervoor is dat de tweede adapter vaak beschikt over een netwerkafsluiting, waardoor je je computer met een kabel kunt aansluiten. Een bekabelde verbinding via powerline is doorgaans stabieler en heeft een lagere vertraging (ping) dan wifi, wat cruciaal is bij online gamen. Een nadeel is wel dat de snelheid van powerline afhankelijk is van de kwaliteit van je stroomnet. Oude bedrading of zware apparaten zoals een wasmachine kunnen storing veroorzaken, waardoor de snelheid soms fluctueert. Een high-end router biedt daarentegen vaak een hogere topsnelheid, maar is dus gevoeliger voor afstand en obstakels.

De opkomst van mesh-systemen

Tegenwoordig is er een hybride oplossing die de traditionele router steeds vaker vervangt: Multiroom Wifi of Mesh. Dit zijn feitelijk meerdere routers die met elkaar communiceren. Als je een groot huis hebt en overal perfecte wifi wilt zonder kabels te trekken, is dit vaak een betere, maar ook duurdere oplossing dan een simpele powerline-set. Kies je echter voor een budgetvriendelijke oplossing om snel internet op één specifieke, lastig bereikbare kamer te krijgen, dan wint de powerline-adapter het vaak op prijs-kwaliteitverhouding. Is je doel echter om de algehele snelheid en capaciteit in de woonkamer en keuken te verbeteren, investeer dan in een goede router.

▼ Volgende artikel
Professioneel en gratis video's bewerken? Aan de slag met VSDC Free Video Editor
Huis

Professioneel en gratis video's bewerken? Aan de slag met VSDC Free Video Editor

Maak jij tijdens een welverdiende vakantie talloze video’s? Met VSDC Free Video Editor giet je de leukste fragmenten in een gelikte film. Dankzij het gebruik van mooie overgangen en fraaie effecten oogt het resultaat zeer professioneel. Het kost je bovendien geen cent, want je installeert deze zeer uitgebreide videobewerker gratis op een Windows-computer.

Tegenwoordig liggen er best wat goede gratis videobewerkers voor het oprapen. Zeker wanneer je geen torenhoge eisen aan de videomontage stelt, heb je niet per se een betaald programma als Adobe Premiere Elements of Magix Video Deluxe nodig. Zo krijg je met het gebruiksvriendelijke VSDC Free Video Editor al een heleboel voor elkaar. In tegenstelling tot diverse gratis alternatieven voegt dit programma geen lelijk watermerk toe aan jouw film. Deze freeware heeft daarnaast een verrassend uitgebreide gereedschapskist.

Videobewerker installeren

VSDC Free Video Editor heeft relatief lage systeemeisen. Zeker voor video’s tot een resolutie van 1920 × 1080 pixels heb je geen supersnelle pc of laptop nodig. Wil je haarscherpe 4K-video’s bewerken? In dat geval adviseren de makers een systeem met 8 of 16 GB werkgeheugen. Daarnaast is een krachtige processor met meerdere rekenkernen geen overbodige luxe.

Particulieren mogen VSDC Free Video Editor voor nop installeren. Ga naar de site via www.kwikr.nl/vsdc en download het installatiebestand. Je hebt keuze tussen de 32bit- en 64bit-versie. De meeste computers kunnen met de 64bit-versie uit de voeten. Dubbelklik op het gedownloade exe-bestand en doorloop de stappen van de installatie. 

Nieuw project starten

Zodra je de videobewerker voor de eerste keer opstart, verschijnt er een pop-upvenster met een aanbeveling voor de betaalde Pro-versie (zie kader). Je klikt dat via het kruisje weg. Laat de ietwat drukke gebruikersomgeving even op je inwerken. Het beginscherm toont diverse instructies voor geavanceerde bewerkingen. Laat die als beginnende gebruiker links liggen. Je kunt wel alvast even de tabbladen doornemen, want die herbergen verschillende bruikbare functies.

Je gaat nu eerst een nieuw (video)project starten. Klik op het tabblad Projects en daarna op New project. Er verschijnt een nieuw venster waarin je diverse instellingen voor de videomontage kunt bepalen. Het belangrijkste is de waarde achter Resolution. Voor een scherp beeld en soepele montage laat je de huidige waarde van 1920 × 1080 pixels (16:9) staan. Filmt jouw smartphone of videocamera in een hogere resolutie, dan kun je een andere waarde overwegen. Laat de overige opties ongewijzigd. Je typt achter Project title een relevante projectnaam en kiest onderaan voor Blank project. Bevestig tot slot met Finish.

Welke resolutie ken je aan de videomontage toe?
VSDC Pro

Naast de hier besproken gratis versie bestaat er met VSDC Pro (www.videosoftdev.com/video-editor-pro) ook een betaalde variant. Die bevat allerlei extra snufjes voor geavanceerde gebruikers. Je kunt bijvoorbeeld een achtergrondkleur verwijderen, gesproken commentaar toevoegen en trillende beelden stabiliseren. Daarnaast ondersteunt de Pro-versie hardwareversnelling door een geschikte grafische kaart. Dit leidt tot betere prestaties, omdat de processor minder hoeft te rekenen. Je merkt dat bijvoorbeeld aan kortere wachttijden en een vloeiendere videoweergave. VSDC Pro kost op het moment van schrijven circa 31 euro. 

Video’s toevoegen

Nu ga je met het zojuist aangemaakte videoproject aan de slag. Merk op dat het tabblad Editor is geopend. Je zit nu dus in de videobewerker. Zoals je ziet, zijn er flink wat opties beschikbaar. Laat je hierdoor niet afschrikken, want we nemen de basisfuncties stap voor stap met je door.

Je dient eerst relevante videoclips aan het programma toe te voegen. Gunstig is dat VSDC Free Video Editor alle bekende beeldformaten ondersteunt. Klik bovenaan in de werkbalk op Add object / Video en navigeer naar de map met de bestanden. Je selecteert één of meer video’s, waarna je bevestigt met Openen / OK. Wanneer je minimaal twee fragmenten toevoegt, kies je Add to layer.

Wegens de talloze toeters en bellen ziet deze videobewerker er nogal imponerend uit.

De videoclips verschijnen allemaal in de tijdlijn onderaan het venster. Deze tijdlijn is belangrijk, want die bepaalt welke momenten er in de uiteindelijke film terechtkomen. Verder kun je hieraan bijvoorbeeld ook titels, overgangen, speciale effecten en audiotracks toevoegen. Vind je de tijdlijn te klein? Je kunt dit onderdeel eenvoudig vergroten. Zweef onder Layer 1 op de scheidslijn totdat er een dubbele pijl verschijnt. Beweeg de muis nu met ingedrukte muisknop omlaag. In VSDC Free Video Editor pas je op soortgelijke wijze de grootte van alle deelvensters aan. Kortom, richt op die manier het bewerkvenster naar eigen wens in.

Alle geïmporteerde videobestanden belanden op de tijdlijn.

Volgorde clips wijzigen

Waarschijnlijk heb je een bepaalde volgorde voor de videoclips in gedachten. Geen probleem, want je kunt de clips op de tijdlijn verplaatsen. Sleep het beoogde fragment met ingedrukte muisknop één laag omlaag. De overgebleven video’s schuif je daarna naar links of rechts. Creëer op die manier een ‘gat’ en sleep het fragment ernaartoe. Het is belangrijk dat er geen loze ruimtes op de tijdlijn achterblijven. Anders zie je namelijk zwart beeld.

Sleep videoclips naar onder, boven, rechts en links om de volgorde op de tijdlijn te wijzigen.

Scènes inkorten

Vanzelfsprekend wil je alleen boeiende scènes in de film tonen. Saaie passages snijd je daarom resoluut weg. Dat doe je door een videoclip in te korten. Gebruik hiervoor wederom de tijdlijn. Selecteer een fragment en beweeg de rode schuifregelaar naar deze clip. Het bijbehorende beeld verschijnt nu in de voorbeeldweergave. Vind je dit beeld te klein? Klik dan helemaal rechtsonder in het programma op het kleine plusteken. Je past daarmee het zoomniveau aan. Klik nu onder de voorbeeldweergave op de rode afspeelknop (PijltjeRechts) om de video te starten. Begint of eindigt het saaie gedeelte? Via dezelfde rode knop (twee verticale streepjes) pauzeer je de video.

Inkorten is vrij eenvoudig. Een geselecteerde videoclip heeft op de tijdlijn aan weerszijden twee piepkleine vierkanten. Klik daarop en houd de muisknop ingedrukt. Beweeg de muis nu naar links of rechts tot de rode schuifregelaar. Laat de muisknop als laatste los. Het fragment is nu een kopje kleiner gemaakt! 

Fragmenten splitsen

Je kunt een lang fragment ook in twee (of meer) delen opsplitsen. Dat is nuttig wanneer je deze videootjes op verschillende momenten in de film wilt tonen. Selecteer in de tijdlijn een videoclip en bepaal met de rode schuifregelaar een geschikt ‘splitmoment’. Overigens kun je met de mediaknoppen onder de voorbeeldweergave dit moment heel precies bepalen. Spoel bijvoorbeeld een seconde voor- of achteruit. Het is zelfs mogelijk om een video frame voor frame door te nemen. Staat de rode schuifregelaar exact op de goede plek? Klik dan in de werkbalk boven de tijdlijn op het pictogram met de twee rode haakjes. Je ziet vervolgens twee aparte clips.

Maak via de optie Split into parts van één clip twee losse fragmenten.

Roteren en bijsnijden

Soms is het noodzakelijk om een video negentig graden te roteren, omdat het beeld in VSDC Free Video Editor is gedraaid. Gelukkig herstel je deze ‘fout’ simpel. Je selecteert in de tijdlijn de juiste video en klikt helemaal bovenaan bij de sectie Tools op het pictogram met de gebogen pijl. De video draait meteen.

Staat er een ongewenst persoon, lelijk logo of storend object in beeld? Gooi de videoclip dan nog niet weg! Je kunt het fragment namelijk nog bijsnijden. Beslis welk deel van de video je wilt gebruiken en gooi het overtollige beeldmateriaal weg. Je klikt met de rechtermuisknop op een videoclip in de tijdlijn en kiest Crop tools / Custom region. Bepaal in het nieuwe venster welk deel uit beeld moet verdwijnen. Je regelt dat door de zwarte vierkantjes aan de randen van de voorbeeldweergave te verslepen. Tevreden? Met OK voer je de actie definitief uit.

Nuttig om te weten is dat je met deze functie de oorspronkelijke resolutie verkleint. Zeker wanneer je de uiteindelijke film op een grote televisie of pc-monitor bekijkt, zie je mogelijk korrelige beelden. Snijd daarom liever niet te veel beeldmateriaal weg.

Alles buiten de rechthoekige selectie verdwijnt uit de video.

Video-effecten

Wie dat wil, gaat in deze videobewerker helemaal los met speciale effecten. Klik maar eens bovenaan in de werkbalk op Video effects. Er verschijnt een uitgebreid menu. Voordat je iets uitkiest, selecteer je eerst een clip op de tijdlijn. Via Quick styles pas je heel makkelijk een effect toe, omdat hiervoor geen extra instellingen zijn vereist. Laat de video bijvoorbeeld op een gedateerde film uit de jaren ‘70 lijken of pas automatisch de contrastwaarden aan.

Wil je zelf meer invloed op in hoeverre het programma een video-effect toepast? Bij veel filters stel je naar eigen inzicht de intensiteit in. Bekijk hiervoor de mogelijkheden via Video effects / Adjustments. Zo wijzig je onder andere de kleurverzadiging en helderheid. Daarnaast kun je ook een stijlvol sepia- of zwart-wit-effect op de video loslaten. Zodra je eenmaal iets hebt gekozen, pas je in het deelvenster Properties window aan de rechterkant de waarden aan. Als je dit deelvenster niet ziet, klik je achtereenvolgens op het tabblad View en Properties. Tot slot zijn ook de video-effecten binnen de rubrieken Filters en Nature de moeite waard. Spijt van een bepaalde keuze? Met de sneltoets Ctrl+Z maak je de laatste handeling weer ongedaan. Experimenteer er dus lustig op los!

Met het Auto contrast-filter optimaliseer je heel eenvoudig de contrastwaarden.
Gebruik het deelvenster Properties window om de instellingen van een video-effect te wijzigen.

Overgangen

Tijdens de montage van een video ontkom je eigenlijk niet aan het gebruik van overgangen. Doe je dat niet, dan lopen de fragmenten nogal abrupt in elkaar over. Dat is onprettig voor de kijker. Met een overgang wordt een nieuwe videoclip op subtiele wijze geïntroduceerd.

Klik in de tijdlijn op de videoclip waarbij je aan het einde een overgang wilt toevoegen. Je opent zo nodig eerst het tabblad Editor en navigeert daarna naar Video effects / Transitions. Probeer nu één van de beschikbare overgangen uit. Zo laat je het oude fragment bijvoorbeeld in vlammen opgaan (Paper burn) of in scherven uit elkaar vallen (Shattered glass). Kies een overgang en controleer in het pop-upvenster of de optie To the end of scene is geselecteerd. Klik op OK.

Merk op dat er op de tijdlijn een verse laag met de gekozen overgang verschijnt. Klik op de rode afspeelknop onder de videoweergave om de overgang te bekijken. Je past in het eigenschappenvenster aan de rechterkant diverse zaken aan, waaronder de tijdsduur en transparantie.

Deze videobewerker heeft een aantal spectaculaire overgangen in huis.

Geluid

De audiokwaliteit van zelfgeschoten video’s is vaak matig. Stond er toentertijd tijdens de opname een stevig briesje, dan hoor je waarschijnlijk voornamelijk windgeruis. Zet het geluid van dergelijke videoclips daarom gewoon uit. Klik in de tijdlijn op een fragment om de bijbehorende eigenschappen aan de rechterkant te tonen. Verschijnt dat niet, dan klik je op View / Properties. Je scrolt zo nodig een stukje omlaag totdat je de optie Audio track tegenkomt. Klik achter Track 1 op het kleine pijltje en kies Don’t use audio.

Je kunt eventueel zelf audio aan de videomontage toevoegen, zoals achtergrondmuziek of een voice-over. Klik zo nodig op het tabblad Editor en kies Add object / Audio. Je selecteert nu pakweg een mp3-, wma-, wav- of flac-bestand op de computer. Via Openen / OK belandt de audiotrack als nieuwe laag op de tijdlijn. Kies een geschikte plek en pas diverse eigenschappen in het Properties window desgewenst aan. Denk hierbij onder meer aan de snelheid en het volumeniveau.

Schakel bij video’s met slecht geluid het audiospoor eenvoudig uit.

Film opslaan

Deze workshop is slechts een bescheiden introductie van VSDC Free Video Editor. Je kunt namelijk nog veel meer met deze veelzijdige videobewerker doen. Ga er dus vooral ook zelf mee stoeien. Ben je eenmaal klaar, dan sla je het resultaat op. Je kunt de film daarna op verschillende schermen bewonderen.

Klik in de werkbalk op het tabblad Export project en speel zekerheidshalve de volledige videomontage nog eens af. Ben je helemaal tevreden, dan geef je in de werkbalk het gewenste videoformaat aan. Kies bijvoorbeeld voor mp4, mkv, mov, flv of mts. Het is ook mogelijk om de film op een dvd te branden. Wijzig via Change name zo nodig de bestandsnaam en opslaglocatie. Je bevestigt bovenaan ten slotte met Export project / Continue.

VSDC Free Video Editor ondersteunt een heleboel exportformaten.