Alle posten tegelijk (en toch niet vals spelen)

Een stukje hobbywerk, dat alles met oriëntering te maken heeft: ik heb mijn laatste headcam-video genomen, en met een scriptje alle posten aan elkaar geplakt, van 10 seconde voor de geregistreerde tijd tot er na. Het resultaat kan je hier op YouTube bekijken. Klik vooral op de HD optie om het in hoge resolutie te zien, anders zijn de verschillende schermpjes wel erg klein.

Wat opvalt

Wat me opvalt is dat ik regelmatig bij de post snel nog even op de kaart en de postomschrijving lijst kijk, om zeker te weten dat het de juiste is. Dat kan natuurlijk beter vooraf.

Wel heb ik doorgaans al gekeken in welke riching verder te lopen, maar soms is die bij een laatste draai voor de post, omdat die net anders stond dan ik verwachtte, even zoeken welke kant dat op is.

En soms staat de EMIT reader gewoon zo gedraaid dat mijn hand-deel verkeerd om zit. Zouden anderen hem in de andere hand dragen? Dat kan natuurlijk. Maar als ik tegelijkertijd ook nog even op de postomschrijving kijk, en ondertussen hannes met de EMIT die niet past, omdat ik niet kijk wat ik doe, is dat dubbel zonde van de tijd.

Het lijkt niet veel, maar als ik elke post 10 seconde verlies is dat 270 seconde over alle fragmenten, en dat is 4½ minuut bij elkaar. Toch behoorlijk.

Niet vaak klok ik zonder totstilstand te komen. Dat moet toch sneller kunnen. Toch maar eens op trainen!

Code

De Matlab code die ik heb gebruikt kan je ook vast heel eenvoudig in andere talen of zelfs shell scripts omschrijven. Alleen was voor mij dit de snelste optie.

vidname = 't:\mapvid120515_oostappense_heide.mp4';
 
splits = '01:24 03:51 05:35 07:33 10:52 12:49 15:00 18:07 28:16 29:59 31:55 33:34 37:44 39:17 41:36 44:48 45:40 48:30 55:27 57:32 64:54 66:05 69:02 73:42 74:50 76:16 76:37'
 
times = (strvcat(split(['00:00 ' splits],' '))-'0')*[600 60 0 10 1]';
 
ts = -10;
dt = 20;
%%
mkdir('temp');
for ii = 1:length(times)
system(['c:\localdata\bin\FFmpeg\ffmpeg.exe -ss ' datestr(max([0 (times(ii)+ts)/60/60/24]),'HH:MM:SS') ' -i ' vidname ' -t ' datestr(dt/60/60/24,'HH:MM:SS') ' temp\frame_' sprintf('%0.2d',ii) '_%03d.jpg']);
end
 
%%
mkdir('temp2');
for ii = 1:1:length(dir('temp\frame_01_*.jpg'))
system(['c:\localdata\bin\ImageMagick\montage.exe temp\frame_*_' sprintf('%0.3d',ii) '.jpg -geometry 427x240+0+0 -tile 5x6 -background black temp2\mosaic_' sprintf('%0.3d',ii) '.jpg']);
end
 
%%
system('c:\localdata\bin\FFmpeg\ffmpeg -f image2 -i temp2\mosaic_%03d.jpg video.avi');

Leave a Reply

Your email address will not be published. Required fields are marked *