Pan.do/ra - setting ke kodování videa #19
Labels
No Label
app-basic
app-ckan
app-crisiscleanup
app-cts
app-decidim
app-dhis2
app-frontlinesms
app-gnuhealth
app-kanboard
app-mifosx
app-motech
app-odoo
app-opendatakit
app-pandora
app-sahana
app-seeddms
app-sigmah
app-taarifa
app-ushahidi
critical
CZ
documentation
Doing
enhancement
GMaps
info
Mapbox
needinfo
new-app
OSM
performance
QGIS
regression
suggestion
To Do
upstream
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Spotter-Cluster/Spotter-VM#19
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
momentálně je nastavený setting k rozlišení videa na 240p a 480p
navrhoval bych rozlišení 96p pro low-res a 1080p pro hi-res
zajímalo by mne zda se dá knihovna ffmpeg která kóduje, nastavit na kódování do kodeku x265 HEVC který je momentálně nejefektivnější. momentálně může kódovat podle settingu do webm a MP4 H264.
na zkoušku jsem poslal na upload video zakódované kodekem h265 ... knihovna ho dekodovala a překódovala do kodeku webm v nižším rozlišení, takže import patrně projde.
export ve ffmpeg se údajně děje přes knihovnu x265 která sice ještě není stable, ale zdá se že je už používaná. dokumentace zde http://x265.readthedocs.io/en/default/index.html
co se týče parametrů kódování, tak se v dokumentaci pan.do/ra nic moc nepíše
mohl bych se zeptat Gerbera, nebo najít doporučené parametry kódování
očekávám od toho snížení datové velikosti a méně kompresních artefaktů.
K editovatelným settingům Pan.do/ra se ještě vrátím. Takže pokud to tedy neni komplikovanější záležitost s ffmpeg nastavením, tak se to dá udělat najednou později.
added ~17 label
Vezmu to od konce.
Parametry enkódování jsou pevně nastaveny ve zdrojovém kódu, takže pokud chceme něco vlastního, musíme si vyrobit patch. Útěchou je, že parametrů, se kterými proces ffmegu běží, je tam hromada, takže vypadá, že jejich ladění někdo nějaký čas věnoval.
x265, resp. HEVC/H.265 je podporováno ffmpegem, ale není podporováno Pandorou. Je pro to celkem pragmatický důvod. H.265 totiž není pořádně podporováno žádným prohlížečem. Pandora ve výchozím stavu používá WebM (VP8 / Vorbis) a H.264 (x264). Ačkoliv WebM dosahuje menších datových velikostí při srovnatelné kvalitě, nepodporují jej jablíčka a spousta embedded zařízení (typicky smartphony) pro něj nemusí mít hardwarovou podporu. H.264 je podporováno už snad úplně všude, takže jsem WebM v nastavení Pandory vypnul a nechal jen H.264. Ušetří to polovinu času a dat.
Informace o podpoře formátů zde:
K rozlišení - Obojí se mi zdá jako overkill. Na 96p stěží rozeznáte postavu od stromu, 1080p mi zase přijde jako příliš velký luxus. Osobně bych se přikláněl k 240p a 720p, ale mám tu jen poradní hlas, takže jsem nastavil 96p a 1080p. Vyzkoušejte to, a pokud to odkývete, nastavení commitnu. Dá se mimochodem nastavit více settingů než jen dva, ale při vhodně zvolených LQ a HQ to asi bude zbytečné.
ok, díky za analýzu.. dobrá, tak na h.265 momentálně zapomeňme, ono na to stejně dojde později, až bude celá ČR znova nakupovat settopboxy.
Rozlišení má své důvody. Musím najít nějaký poměr kvalita/objem ... ale žádný zázrak se v případě videa vymyslet nedá, nakonec jde o velké objemy. Anebo nízkou kvalitu. Všechno mezi tím je fajn na koukání z webu, ale ne na "práci".
96p jsem tedy navrhl jako skutečně low-res který proleze i na pomalém netu. Ok, mohlo by bý i 180p nebo kolik tam je.. Pokud má jít o rychlé prohledání obsahu, tak je prioritou nízká latence.
Hi-res je zas proto, aby při důrazu na kvalitu memizela hranová ostrost. Momentální nastavení H.264 není lossless takže když někdo uploadne z mobilu video, ještě se překóduje a tím se kompresní artefakty zas trochu zvýrazní.
Kvalitní originál se dá v 720p vydržet, ale takové video asi mít nebudeme. Pak by uplouté video bylo nanejvýš na prohlídnutí, ale nedalo by se použít jako kvalitní zdroj, z kterého by šel udělat např. grab snímku. Rozhrkaná kamera kvalitu vždycky zhorší.
Na zkoušku jsem do Pandory uploadnul 4K timelapsy z YT a přepočtený výsledek je v 1080p fakt dobrý. Takže to je momentální hranice kvality, kterou lze s Pandorou dosáhnout.
Naštěstí změna configu a rozlišení v rámci nastavených možností je jednoduchá, že to zvládnu i já :)) Proto je to jeden z nejlehčích úkolů tady.
Jestli mohu prosit, tak ve věci videa v pandoře bych potřeboval odzkoušet další tooly... Pandora Client
https://git.0x2620.org/pandora_client.git
přes který by mělo jít uploadnout více videí, překódovat a výsledek se zjeví v Pandoře. Zde jsem zatím nejistý.
Rád bych s dostupnými nástroji nastavil proces, kterým uživatel buď uploadne více videí najednou v dávce... anebo když má pouze jedno, tak nemusí používat Pandora Client a udělá to skrz rozhraní PanDora.
Pandora CLien jde přes terminál. Kdyby měl stupidní formulářové rozhraní, které by nabídlo výběr videí, volbu rozlišení případně jiné parametry které to má, a pak tlačítko "Upload" tak by to ani nemuselo mít návod.
Dál se tam autor Pandory někde zmiňuje o tom, že lze zařídit distribuovaný encoding na síti, když se použije nějaá knihovna. To by bylo super a kdyby to neslo nějaké výlsedky, tak tuto vlastnost považuji za atraktivní.
Nejsem si jist, zda při uploadu do Pandory zůstane originál videa + překódovaná rozlišení + thumbnaily... a co se stane, když video z rozhraní smažu. Kdyby na HDD ležel originál, který nejde mazat, tak se brzy nevejdeme na server. Můžete to zjistit jak to je?
Nakonec se dostávám k tomu, co bude nutno pořešit pro instalaci na tom mém virtuálním serveru... Připojení FTP úložiště tak, aby se videa neukládala do stejného serveru jako je operační systém. Kdyby se vám povedlo to oddělit a toto nastavení by bylo "stabilně funkční"... tak sláva.
je toho v tomto issues docela hodně, klidně to pak rozepíšu na jednotlivosti.
Pokud je jediným cílem využití Pandora clienta upload více souborů zároveň, tak to nabízí Pandora přímo v rozhraní. Volba přidání videa tam umožňuje vícenásobný výběr souborů a jejich zařazení do fronty. Dokonce umožňuje i vybrat, jestli se mají soubory sloučit nebo jestli jde o oddělené stopy. Využití klienta by mělo smysl, pokud by běžel například na klientském počítači mimo VM, kde je uloženo několik desítek nebo stovek videí a měl by je dávkově nasypat do Pandory. Klient v podstatě dělá jen to, že se připojí k API Pandora serveru a předává mu data, což je prakticky totéž, co dělá to webové rozhraní.
Originál videa při nahrávání zůstane uložený na disku. Pokud videa z rozhraní smažete, smaže se vše (zdroj, překodovaná videa, náhledy atd.)
Diskusi o externích úložištích si vybavuju, takže na to kdyžtak můžete otevřít další enhancement issue. Pravděpodobně to půjde vyřešit na úrovni OS, takže Pandoře bude fuk, kam vlastně data ukládá.
K tomu distribuovanému encodingu kdyžtak prosím nalinkuje nějaké info, ale nevím, jak byste to v praxi chtěl využít, pokud tedy neplánujete postavit skutečně cloud ve smyslu geograficky distribuovaného počítačového clusteru nebo gridu. V takovém případě by se dal využít i Pandora klient ve VM.
closed via commit
2789ff1cea
ano, dá se uploadnout víc videí už teď... ale má to tu vlastnost, že výsledek sloučí do jednoho assetu s rozdělenými sekvencemi. Což je taky super vlastnost. Ale nemůžu se rozhodnout, že to tak třeba nechci. Z důvodů, aby zůstaly oddělené assety.
Nedej bože, že by byly ty různé videa v různém rozlišení.
s tím originál videem je to už teď riskantní.. uvažme, že zdroj videa má 1GB (nějaký HQ kodek) a z toho Pandora překóduje 100 MB hi-res a 5MB low-res. Očekávali bychom, že tento asset v Pandoře zabírá +/- 105 MB, ale ve skutečnosti zabírá na disku 1105 MB... Dokud ho někdo nesmaže. :(
Takže případ přímého uploadu videa a zároveň zachování originálu považuju trochu za nešťastný. Zvlášť, když není jasný způsob, jak se jako uživatel k originálu dostat. Originál by měl být smazaný hned po dokončení kódování... ale to je asi otázka na autora Pandory :)
Druhá okolnost s rozlišeními je ta, že aktuálně bude video importováno do všech těch rozlišení, které budou nastaveny v settingu. A to i u videí, které reálně toto rozlišení nemají.
Takže 720p zdroj bude nakódován na 96p a 1080p, přestože v 1080p už bude celkem zbytečný up-res.. který může zvětšit i objem dat.
v případě Clienta tedy oceňuju myšlenku dávkového zpracování zdrojů, které se někde válí na FTP.. a zároveň si dovedu představit, že si uživatel buď v terminálu (nebo ideálně v GUI) zvolí konkrétní výběr rozlišení, (jedno nebo více) do kterého se mají videa kódovat. Originály by v tomto případě zcela jistě měly zůstat na původním místě. V Pan.Do/ra by byly různé assety s různými rozlišeními. Což je naprosto běžné v praxi.
A naprostá pecka by byla, kdyby se při importu do metadat k videu zapsala cesta k tomu originál zdroji. To se hodí pro různé případy. Třeba když by se low-res video smazalo, ale asset by zůstal a znovu by se vynutilo kódování do jiného rozlišení.
celé tohle téma je docela "zajímavé" pokud jde o vytváření pracovního workflow s videem... Umim si představit, že poozději můžeme hledat promyšlené způsoby, jak připojovat více různých FTP úložišť uživatelů, aby se k nim Pan.do/ra mohla připojit... vyrobit lowresy a thumbnaily.. A uživatel by tak měl organizer medií.. Vše pod kontrolou toho uživatele.
https://git.0x2620.org/pandora_client.git
== Distributed encoding ==
pandora_client can distribute the encoding to multiple nodes
on a local network or multiple encodings on the same host.
to do this you need to install additional dependencies:
apt-get install python-twisted python-requests
(on ubuntu 12.04 you need a newer version of requests,
i.e: sudo easy_install -U requests)
now run one node in server mode:
pandora_client server
and start the other nodes with:
pandora_client client http://SERVER_IP:8789
Použití v praxi odhaduji možná tak na lokální síti budovy, školy, kanceláře, kde nezdržuje propustnost sítě. Když jsem dělal testy kódování ze 4K videa, tak Pandora zaměstnala jednu pracovní stanici HP Z840 s 36ti jádry a kódovalo to několik videí paralelně. Moc počítání i pro výkonné PC. Tím chci říct, že nevím jak moc pomůže distribuovaný encoding, ale pokud tu je možnost, že nějak pomůže, tak bych se této nabídky předem nevzdával.
K tomu by právě měl být tenhle dropdown.
A už jsem se v těch Vašich přáních a požadavcích ztratil úplně. Na toho klienta se raději ještě podívám podrobně, ale obávám se, že tak jak byste si přál to přesně nefunguje a celá pointa je pouze přesunout workload jinam, což v případě, že Pandora server bude ve VM nedává smysl. Pokud se bavíme o tom, že instance Pandora serveru bude nainstalovaná někde u Vás v cloudu a na VM poběží jen Pandora klient, který tam bude tlačit data, tak OK, to smysl dává. Pokud to má být jakkoliv jinak, nedovedu si dost dobře představit jak bych něco takového měl implementovat do virtuálky.
V distribuovaném prostředí mimo problému viditelnosti jednotlivých uzlů v síti vzniká ještě problém s diverzifikací typů uzlů a jejich nastavením. Kdo komu kam co má posílat? Kdo je server? Kdo workload node? Kdo klient? To je důvod, proč ke klientovi neexistuje GUI; prostě to v tomto kontextu nedává smysl. Stejně tak mám velké obtíže představit si propojování FTP. Ten protokol na něco takového vůbec není stavěný. Mountování vzdálených diskových oddílů se dá dělat třeba přes NFS nebo SMB a i tak je dost komplikovaná záležitost, která se nedá udělat univerzálním a stoprocentně spolehlivým způsobem.
Prostě potřebuji vidět nějaký konkrétní scénář, pro který celý ten cirkus zkusím nastavit (a to ještě za předpokladu, že to vůbec půjde). Ale aby všechno fungovalo se vším podle toho, jak si uživatel nakliká, #sorryjako, ale to neumím. A dle vyjádření autora o tom, že správa svazků je tam zatím jen jako placeholder, to neumí ani ten software.
ok, nakreslím to a omezím vzletné spekulace
každopádně díky za upozornění na dropdown, už jsem na něj úplně zapomněl.
No, tak to Pandora klient asi vyřešil za nás. Sice umí synchronizovat metadata, ale jakýkoliv pokus o synchronizaci samotných souborů okamžitě spadne s chybou, a to jak ve verzi distribuované jako "stable", tak i v čerstvě stažené vývojové verzi z gitu (testováno taktéž oproti oběma verzím Pandora serveru). Vtipné je, že stable verze v porovnání s vývojovou obsahuje ještě několik bugů navíc, které se projeví okamžitě při zadání prvního příkazu z Usage sekce na https://wiki.0x2620.org/wiki/pandora_client.
Systém opravy a hlášení bugů nechápu. Všude je napsané, že se bugy mají hlásit zde: https://wiki.0x2620.org/newticket?component=pandora_client, kam je potřeba registrace. Tu evidentně nikdo v životě nedostal, protože všechna z těch 1149 (!!!) otevřených issues jsou vytvořena pouze dvěma lidmi.
:)) chápu... pokud je to ve stádiu alfa, tak v tom případě odložme.
poznámka k nápadu jak připojovat vlastní data. Poznámka není zadáním, jen příspěvkem k diskusi.
existuje koncept Unhosted web apps https://unhosted.org
kde je o to, že uživatel má svoje data u sebe a používá pouze službu aplikace na zpracování těch dat.
existuje taky něco jako RemoteStorage https://remotestorage.io
momentálně nevím, zda by se to blízce, nebo vzdáleně dalo našroubovat na použití Pan.do/ra a uživateských dat.
jednodušší vidím asi to FTP.
Pandora prostě otrocky čte z disku, takže jediný způsob, jak jí nějaké vzdálené úložiště podstrčit, je připojit jej na úrovni souborového systému OS.
Unhosted i Remote Storage fungují na principu API, tedy podobně jako třeba Dropbox, OneDrive nebo Google Drive, takže ty se tímto způsobem určitě použít nedají. Musela by pro to být podpora přímo v kódu aplikace.
Schůdnými variantami by byly NFS, SMB nebo iSCSI protokoly. Žádný z nich není error-tolerant a nedají se nastavit univerzálně. Také není žádný z nich šifrovaný, což by teoreticky mohlo řešit zabalení do SSH tunelu, ale celé provedení to ještě více zesložiťuje. FTP mount lze údajně provést také, ale nikdy jsem v praxi nic takového neviděl, takže netuším, jaká je spolehlivost a výkon. Jelikož se jedná o jeden z nejprimitivnějších protokolů, moc velká asi ne.
Jen pro upřesnění, bavíme se o úložišti pro Váš cloud, nikoliv pro VM, je to tak?
ano, ta poznámka byla o úložišti pro hosting na forpsi, ne pro VM :)
já se v tom pouze sebe-vzdělávám, takže si určitě nechám vysvětlit že momentálně není k dispozici vhodné, nebo ověřené řešení. Něco jako jedno konkrétní připojení do OS by mi asi stačilo.
mentioned in issue #135
ještě mě napadlo, že na forpsi mám koupený obyčejný hosting, který má neomezenou velikost.
https://www.forpsi.com/webhosting/
myslíte, že by šlo udělat ten samý pokus s přilinkováním složky na video z tohoto FTP na vitruální server?
Možná že admini na forpsi to mají taky ošetřené, ale za pokus to stojí :)
Server: ftpx.forpsi.com
Login: spottertv
Heslo: 5a5PJhFP
Tohle FTP se již jako úložiště použít dá, dokonce i s poměrně obstojnou rychlostí. Kapacita se skutečně zdá být nelimitovaná; zkusmo jsem na FTP naplácal 100 GB náhodných dat a nestěžovalo si.
Znovu ale podotýkám, že takový provoz považuji za těžce experimentální, protože FTP je pouze protokol pro přenos a neřeší spoustu věcí, které by filesystem řešit měl. Například vytváření dočasných souborů, či nastavování vlastníků a oprávnění. Zatím jsem pouze zkopíroval data Pandory, tedy v případě selhání stále ještě existují i lokálně na disku virtuálky.
Můžete to zkusit potrápit a pokud shledáte, že je to tímto způsobem použitelné, lokální data smažeme. Existuje ale jistá pravděpodobnost, že Pandora nebo některá z binárek, které využívá, se budou pokoušet vytvářet dočasné soubory, což FTP vrstva neumí, a budeme mít po žížalkách.
Díky, ... zkusil jsem. Při vložení YT do pan.do/ra import vyhodil chybu. Po opakování se objevil job a pak v Tasku zůstala a položka "Failed"
Možná zde dělá problém ten FTP protokol. Místo FTPcesty můžeme zkusit rovnou na url,
akorát složka data musí být dostupná z vnějšku, nebo ve slože www.
Pro info:
Na hostingu můžu mít 5 subdomén
používám www.spotter.tv na které chci mít wordpress a z něj případně linkovat na stejná videa, co budou vidět v pan.do/ra
využita je teď jedna subdoména: cluster.spotter.tv na které je další wordpress pro web http://spotter.ngo. (tady přidám taky https:// ještě nevím jak.)
zbývající čtyři subdomény jsou volně k dispozici.
na hostingu jsou aliasy mých dalších domén které zatím směřují na doménu spotter.tv.
je možno zapnout SSL na všechny nově vytvořené subdomény
požádal jsem o vytvoření SSL certifikátů pro www.spotter.tv a pro cluster.spotter.tv
více se dá vidět v control panelu hostingu
https://cp.forpsi.com/Login.aspx
l: spotter.tv
h: 5a5PJhFP
nebo přímo v mém forpsi účtu
když by se povedlo linkovat video, tak bych byl pro udělat podobnou věc s dokumenty SeedDMS
Na virtuálu by pak běžel pouze SW a databáze, nanejvýš se ukládaly nějaké tempy a metadata.
Nojo. Je to tak.
[Errno 95] Operation not supported
při otevírání souboru ikony k současnému čtení i zápisu.Nerozumím, co myslíte tím "rovnou na url". Jak zmiňuji výše, Pandora i SeedDMS umí pracovat pouze s lokálními cestami v rámci operačního systému, takže bychom museli najít způsob, jak vzdálené úložiště namapovat lokálně tak, jako jsme to teď udělali skrze FTP. Jediný další způsob, který mě napadá, je WebDAV, který nejspíše není ve výchozím stavu povolen poskytovatelem (ale mohl by být), nicméně celkem určitě bude trpět podobnými nedostatky.
Kdybyste měl k serveru s úložištěm jiné typy přístupu, dalo by se s tím samozřejmě laborovat, ale ve Vašem případě se jedná pouze o prostor pro prezentaci na sdíleném virtuálním hostingu, takže pro poskytovatele není důvod přidělovat jakýkoliv jiný typ přístupu nad rámec jednoduchého nahraj/stáhni/smaž, k čemuž FTP stačí.
myslel jsem tím běžný veřejný přístup na adresu kde je uložen obsah, jako např. https://spotter.tv/LOGA/econnect.png
tj namapovat jako file://ip_adresa/cesta/soubor
nebo
smb://ip_adresa/cesta/soubor
ip adresa je: 81.2.194.241
na knowledge base píší https://support.forpsi.com/kb/a2256/jsou-moje-data-na-serverhostingu-zalohovana.aspx?translation-detect=false
Standardním přístupovým protokolem je FTP a SMB, na vyžádání je možné použít i protokol NFS.
možná si to špatně vysvětluji, jen hledám možnost.... (?)
... možná že se to týká pouze služby zálohy serveru za peníze, tj. nyní nebude k dispozici.. :(
Ano, to se týká serverhostingu, což není totéž co webhosting. Navíc i u serverhostingu se jedná o příplatkovou službu. Nicméně to, že je potřeba nějaký jiný způsob přístupu (SMB, NFS) jste pochopil správně.
aha, ok... pardon. Takže moje spekulace neprošla, jiné možnosti než FTP a FTPS na tom hostingu nejsou.
Vrátil jsem zpátky lokální úložiště. Kdyby se zdálo, že chybí nějaká data z těch dvou dnů, co bylo použito FTP úložiště, dejte vědět a zkusím je vyhrabat.
ok, díky, myslím že o testovací data z Pan.do/ra nejde, momentálně akorát https://media.spotter.cloud/ hlásí, že je zrovna na pisoáru.
Gerber na https://git.0x2620.org/pandora.git v poslední době něco kutil. takže možná Jen update :))
changed milestone to %1