INT 21h

Hi, I am Vladimir Smagin, SysAdmin. Telegram Email GPG

Bash + PHP + imagemagick + ffmpeg: карта звездного неба

№ 9074 В разделе "Программирование" от July 30th, 2018,

Захотел я сделать красивый видос как по небу двигаются звезды. Захотел и сделал. Карту взял отсюда 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

Нет комментариев »

Leave a Reply

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

*

Микроблог перейти

# 2018-11-14 12:01:24

Hetzner тихо и незаметно обновили свой terraform провайдер для поддержки volumes, который до сих пор в бете, не дает создавать более 100 гигов и работает только в определенных регионах, но по факту он не дает создать более 10 гигов потому, что лимиты аккаунты надо поднять, которые нельзя поднять потому, что volumes сука в бете!

# 2018-11-07 23:17:33

Столько работал над плейбуками, что чувствую себя инженером по прочистке ансибла


© Vladimir Smagin, 2005-2018. Копирование материалов без разрешения запрещено. GPG 0x29AE91B1A37721C3
Яндекс.Метрика

Fortune cookie: A pious old woman named Tweak Had taught her vagina to speak. It was frequently liable To quote from the Bible, But when fucking -- not even a squeak!