№ 9074 В разделе
Programming
от July 30th, 2018,
В подшивках: Bash, PHP
Захотел я сделать красивый видос как по небу двигаются звезды. Захотел и сделал. Карту взял отсюда http://www.astronet.ru/db/map/.
#!/bin/bash rm -f *.jpg *.gif *.mp4 php -f get-images.php $(date +%d) $(date +%m) $(date +%Y) COUNTER=0 for gif in $(ls -w1 *.gif) do echo "Converting $gif" convert $gif -resize 2560x1440 -gravity center -extent 2560x1440 -fill white -gravity South-West -pointsize 45 \ -annotate +50+35 "$(date +%d-%m-%Y) ${gif%.*} (UTC)" -gravity South-East -pointsize 45 -annotate +50+35 \ "Звездная карта Томска\nhttp://blindage.org" $(printf '%04d' $COUNTER).jpg let COUNTER=COUNTER+1 done ffmpeg -framerate 12 -i %04d.jpg Stars-$(date +%d-%m-%Y).mp4 rm -f *.gif
Чтобы понервировать тех, кто не любит PHP сделал скрипт на PHP. Ну чисто по приколу, он же у меня стоит, почему бы и нет? Зря место чтоли занимает 😀 Изысканные ценители могут с легкостью перенести все это на bash.
<?php $dateD = $argv[1]; $dateM = $argv[2]; $dateY = $argv[3]; function getHourPart($minute) { $t = mktime(0,$minute,0) % 3600; return $t / 3600; } $url_o = "http://www.astronet.ru/cgi-bin/skyc.cgi?ut=%HPART%&day=%DD%&month=%DM%&year=%DY%& longitude=-84.9167&latitude=56.5000&azimuth=0&height=90&m=5.0&dgrids=0&dcbnd=0& dfig=1&colstars=1&names=1&xs=1600&theme=0&dpl=1&drawmw=1&pdf=0&lang=1"; for($hour = 0; $hour<=23; $hour++) { for($minute = 0; $minute<=59; $minute++) { $hPart = $hour + getHourPart($minute); $timestamp = sprintf('%02d',$hour).':'.sprintf('%02d',$minute); echo $timestamp."\n"; $url = str_replace('%HPART%',$hPart, $url_o); $url = str_replace('%DD%',$dateD, $url); $url = str_replace('%DM%',$dateM, $url); $url = str_replace('%DY%',$dateY, $url); file_put_contents(''.$timestamp.'.gif', file_get_contents($url)); } }
Репозиторий с кодом https://git.blindage.org/21h/star-map-video-generator
Fortune cookie: Whatever you say about pornography, sex is here to stay.
Leave a Reply