Skip to content
Snippets Groups Projects
Commit 6c518aba authored by Miroslav Koncik's avatar Miroslav Koncik
Browse files

Merge branch 'timelapse-I-subregional-2016' into 'master'

Timelapse I subregionál 2016 & Jak vytvořit timelapse s FFmpeg

Napsal jsem 2 články, každý měl být ve vlastní větvi, ale udělal jsem to blbě, takže jsou oba tady + tu jsou další dva nesouvisející commity... Snad nebude problém s mergem. Když jo, tak to nějak opravím.

See merge request !1
parents 4581ebfe 33812daf
No related branches found
No related tags found
No related merge requests found
+++
title = "Jak vytvořit timelapse s FFmpeg"
perex = "V tomto krátkém článku se dozvíte, jak vytvořit časosběrné videa pomocí programu FFmpeg."
tags = ["Článek", "Programování", "FFmpeg", "2016"]
image = "/articles/2016/jak-vytvorit-timelapse-s-ffmpeg/lead.png"
+++
Níže uvedený návod byl testován na linuxu (Fedora 22), ale měl by beze změny fungovat také pod Windows.
# Úvod
Určitě jste už viděli časosběrná vide (timelapse). Ty vznikají tak, že se daná scéna/objekt fotí v pravidelných intervalech (třeba po 1 minutě). Tento postup má vyhodu v tom, že kdybychom stejnou dobu natáčeli video, tak bychom potřebovali obrovské úložistě a následné zpracování videa by trvalo věčnost. Získané obrázky poté přehrajeme vyšší rychlostí (třeba 25 snímků/s) a časosběrné video máme hotové.
# Jak na to
Předpokládám, že už máme vyfocené obrázky, které jsou uložené ve složce.
Pokud nemáme, tak nainstallujeme FFmpeg
`$ sudo dnf install ffmpeg` Fedora
`$ sudo apt-get install ffmpeg` Debian, Ubuntu
Pro FFmpeg je výhodné mít snímky označené stylem: obr0001.jpg, obr0002.jpg, ...
Jestli Váš fotoaparát ukládá snímky v jiné formátu (třeba 2016-03-06-20-55.jpg), tak můžete použít následující skript pro přejmenování (spusťte ve složce s fotografiemi):
```bash
#!/bin/bash
a=0
for i in *.jpg; do
new=$(printf "%04d.jpg" "$a")
mv -- "$i" "$new"
let a=a+1
done
```
Nyní můžeme přistoupit k samotnému vytvoření časosběrného videa:
`$ ffmpeg -framerate 25 -i "%04d.jpg" -c:v libx265 -r 25 -pix_fmt yuv420p timelapse.mp4`
- `-framerate 25` - nastavuje snímkovou frekvenci vstupu
- `-i "%04d.jpg"` - jméno vstupních souborů ve formátu 0001.jpg, 0002.jpg, ...
- `-c:v libx265` - výstupní kodek - v tomto případě jsem použil moderní x265, jehož výstup je mnohem menší při srovnatelné kvalitě jako x264, ale výpočet trvá několikanásobně déle
- `-r 25` - nastavuje výstupní snímkovou frekvenci
- `-pix_fmt yuv420p` - nastavení vzorkování z JPEG 4:2:2 na běžné 4:2:0 (lepší kompatibilita s přehrávači)
- `timelapse.mp4` - název výstupního souboru
Nastavením snímkové frekvence ovlivňujeme "rychlost" videa. Čím bu nižší, tím bude video pomalejší (za 1s se vykreslí méně snímků).
Vytvářel jsem toto [timelapse](/clanek/2016/timelapse-I-subbregional-2016) video z 3092 snímků o rozlišení 1600x1200px a převod do x265 běžel rychlostí 0,8 - 0,4 snímku/s na stroji s dvěma obstarožními procesory [Intel Xeon 3000DP@3.0GHz](http://ark.intel.com/products/27094/64-bit-Intel-Xeon-Processor-3_00E-GHz-2M-Cache-800-MHz-FSB) a celková doba převodu byla 4688s a výsledná velikost 28MB. Na moderních procesorech bude převod mnohem rychlejší.
Když jsem video nahrával na Youtube, tak jsem zjistil, že ještě stále nepodporují kodek x265, takže jsem video ještě zkonvertoval do x264:
`$ ffmpeg -i timelapse.mp4 -c:v libx264 timelapse_x264.mp4`
# Závěr
Podle tohoto návodu by jste měli být schopni vytvářet svá vlastní časosběrná videa. Pokud narazíte na nějaké problémy, tak se neváhejte zeptat na našem [fóru](https://ok1kvk.cz/forum).
# Zdroje
- http://superuser.com/questions/837600/ffmpeg-time-lapse-overwrite-error-may-be-a-globbing-shell-issue
- http://thompsonng.blogspot.cz/2013/10/ffmpeg-creating-timelapse-with-ffmpeg.html
- https://dlo.me/archives/2015/07/26/making-a-time-lapse-using-ffmpeg-and-imagemagick/
+++
title = "Timelapse z I. subregionálu 2016"
perex = "Krátké časosběrné video zachycující letošní subregionál na Blatenském vrchu."
tags = ["Článek", "Radioklub", "Video", "2016"]
image = "/images/video.png"
+++
Na letošní subregionál nás napadlo vytvořit časosběrné video z [webkamery](/clanek/webkamera/), která sleduje Blatenský vrch, ze kterého vysíláme. Na videu níže tedy můžete vidět hemžení našich operáturů během závodu.
[Zde](/clanek/2016/vytvarime-timelapse/) se můžete dočíst, jak ze série fotografií jednoduše vytvořit takovéto časosběrné video.
<iframe src="https://youtu.be/AWKr9UFSGV8" frameborder="0" height="315" width="560"></iframe>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment