Plovoucí ořez videa

jfeg

Plovoucí ořez videa
« kdy: 02. 04. 2019, 10:51:40 »
Dobrý den,
nemáte prosím někdo zkušenost či tip na něco, čím bych provedl oříznutí videa, přičemž to oříznutí by bylo obdélníkem fixní velikosti, ale umístění obdélníka by bylo plovoucí ?
Něco jako:
Kód: [Vybrat]
$ ffmpeg -i in.mp4 -filter:v "crop=width:height:x:y" out.mp4
kde 'x' a 'y' by byly proměnné.

Motivace: Možná budu vytvářet videa pro nově příchozí zaměstnance, kombinace např. prezentace a přednášejícího. Grafickou inspiraci jsem našel na YT.

Přednášející se ale může během instruktáže pohybovat, takže je třeba ho aktivně kamerou zabírat. Nebo ho zabrat ve větší fixní šíři a pak to video něčím projet a "vyříznout" ho s okolím jeho postavy.

Laicky si představuji, že k nalezení přednášejícího ve videu by mohlo jít nějakým porovnáváním vůči scéně bez přednášejícího. Pak by možná šlo rozložit video (někdy i v řádech hodin, 3-4h) na jednotlivé snímky a každý jeden snímek oříznout např. ImageMagickem. A ořezy pak spojit do videa.

Měl by někdo nápad jak a čím to řešit ?
Děkuji, JF
« Poslední změna: 02. 04. 2019, 11:05:42 od Petr Krčmář »


Re:Plovoucí ořez videa
« Odpověď #1 kdy: 02. 04. 2019, 11:16:01 »
Prvni je rozsekani videa na snimky, ffmpeg.
pak vyhledani hlavni postavy avyseknuti do obrazku daneho rozmeru a pak zas spojeni s ffmpeg.

Nejslozitejsi je ta prostredni cast, AI zpracovani?!?

Re:Plovoucí ořez videa
« Odpověď #2 kdy: 02. 04. 2019, 11:16:44 »
OpenCV a naprogramovat.

Re:Plovoucí ořez videa
« Odpověď #3 kdy: 02. 04. 2019, 11:36:31 »
Toto by mala byť práca pre video editor. Blender síce nie je primárne video editor, ale zvládne to. A možno sa nájde aj nejaký add-on, ktorý by prácu zautomatizoval.



RDa

  • *****
  • 1 151
    • Zobrazit profil
    • E-mail
Re:Plovoucí ořez videa
« Odpověď #5 kdy: 02. 04. 2019, 12:21:40 »
To ukazkove video je hodne neprijemne, jak agresivne reaguje na kazdy malicky pohyb cloveka. Az to budes delat, tak to prosim vyhlad do vetsiho casoveho okna, byt na ukor zoomu. Kdybys mel zaber zepredu, tak muzes pouzit knihovnu na face detect, a pak souradnice interpolovat a urcit nejlepsi zoom/crop pomer. Nemusis zpracovavat kazdy snimek - staci treba jednou za vterinu. Ono to vyhlazeni by melo byt treba tak, abys behem 10s nepohnul moc s kamerou.

_Jenda

  • *****
  • 544
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Plovoucí ořez videa
« Odpověď #6 kdy: 02. 04. 2019, 15:27:38 »
Jakmile děláš tohle
Laicky si představuji, že k nalezení přednášejícího ve videu by mohlo jít nějakým porovnáváním vůči scéně bez přednášejícího.
tak to znamená, že to video fyzicky držíš dekomprimované jako RGB/YUV data v nějakém poli v paměti. Pak už stačí jenom z tohoto pole vypsat obdélník a nakrmit ho do ffmpegu s "-f rawvideo -vcodec rawvideo -s 768x576 -pix_fmt rgb24 -r 25 -i /nějaká/pipe".

(mimochodem to dekomprimované video si pořídíš stejným způsobem, akorát toto nastavíš jako výstupní formát)

Pak pokud je kamera pevně umístěná by už to opravdu mohlo být jenom o nějakém porovnávání kousků snímků.

Re:Plovoucí ořez videa
« Odpověď #7 kdy: 02. 04. 2019, 18:14:03 »
Mezi snimky pocitat opticky tok, pozadi se nemeni a podle optickeho toku vypocitat vektor posunu snimku.

nic
« Odpověď #8 kdy: 03. 04. 2019, 09:36:55 »
co bych k tomu tak vyplodil, když nemohu smazat omylem jinam příspěvk. něco by snad mělo jít v pythonu (původně na detekci pohybu knihovna) a ffmpeg umí "animovat"  parametry pomocí expressions (i čas je proměnná). Zde ale to bude jinačí problém, protože parametry ořezu nejsou předem  známy. musí se ořez dělat realtime?
« Poslední změna: 03. 04. 2019, 09:43:41 od Pivotal »

jfeg

Re:Plovoucí ořez videa
« Odpověď #9 kdy: 03. 04. 2019, 10:01:17 »
nemusí to být realtime...
jde mi o to, naladit si nějakou velikost řezacího okna a pak to tím plovoucím oknem projet třeba ffmpegem (kdyby to uměl)

Re:Plovoucí ořez videa
« Odpověď #10 kdy: 08. 04. 2019, 15:07:02 »
celkom by ma zaujímalo, ako to dopadlo :)

jfeg

Re:Plovoucí ořez videa
« Odpověď #11 kdy: 12. 04. 2019, 15:28:54 »
není v mých silách cokoliv programovat, musím si vystačit s něčím co je
Openshot v sobě má funkcionalitu, že záběr lze upravovat v průběhu času, takže to budu řešit (zatím) takto manuálně

Re:Plovoucí ořez videa
« Odpověď #12 kdy: 13. 04. 2019, 08:42:11 »
osobně bych volil opencv  - řešení  v pythonu bude na pár řádků, navíc máš možnost detekce postavy a výřez vztáhnout k její pozici...a na netu možná najdeš nějaké řešení, které půjde použít jako mustr...