Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Nahrání videa do aplikace skrze jinou službu a úspora HW zátěže

David Musil
verified
rating uzivatele
(68 hodnocení)
18. 1. 2023 22:37:32
Ahoj,
chystame MVP aplikace, jejiz soucasti bude moznost uzivatele nahrat sve kratke video. Je velka pravdepodobnost, ze nektera videa mohout mit i eroticky obsah. V oblasti videa hodne tapu, jsem laik a zjistuji souvsejici veci, abych mel spravne odhad toho, jak datove velka mohou videa byt, zda mohu na serveru nejak zaridit jejich komprimaci, vlozeni vodoznaku, atd. Videa by nebyla nikde jinde verejna, zobrazovala by se zase jen v aplikaci.
Samozrejme vim, ze po HW strance z pohledu serveru to bude hodne narocne a proto me napadlo zapojit do toho jinou sluzbu, ktera tohle umoznuje.
Znate nekde sluzbu / platformu, kterou lze implementovat k sobe do aplikace a nahrana videa (pripadne i fotografie) tam nahravat a treba je i nejak editovat? Prave treba vlozenym vodoznakem, komprimovat, atd? Urcite je treba myslet i na adult obsah.
Ja nasel zatim dve https://bunny.net i https://api.video a budu je nyni vic zkoumat, co to vlastne vsechno umi. Ale pokud znate/pouzivate a date sve doporuceni, budu vam vdecny.
Mejte se fajn :)
18. 1. 2023 22:37:32
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511995
enkidu
verified
rating uzivatele
19. 1. 2023 10:02:18
Pri videu mas tri veci - distribucia, uschova a transkodovanie. Distribucia je proste CDN. Tam by som isiel do bunny cdn alebo beluga lcdn ebo maju najlepsie ceny. Na druhu stranu video je najnarocnejsie na distribuciu takze ta to bude stat riadny balik penazi ak pri nich. Preto by som isiel skor do vlastnej CDN. Spravit si jeden origin kam sa bude nahravat a k tomu par desiatok malych vps s par stovkami GB lokalneho miesta ktore budu sluzit ako reverzne cache proxy. Musis ale najst take hostingy kde mas neobmedzenu alebo velmi prijatelnu datovu prevadzku.
Uschova je potom tiez problem pretoze ratajme od 1TB vyssie. Vsade ti daju len par desiatok az stoviek giga a ked chces viac tak budes pozerat po object storage, lenze tam je to vecisnou pomale a bude to drahe kvoli prevadzke lebo nikto neponuka object storage s bezlimitnou prevadzkou. Takze sa nedoplatis.
Tretia vec je transkodovanie. Cize prekodovanie zdrojoveho videa do inych kvalit, ten vodoznak a podobne. Na to su sluzby ale tie su extremne drahe. Pretoze ide o video, kde potrebujes HW, nie je to len o SW. Casto video-specificke hostingy a sluzby pouzivaju graficke karty na vypocty a tieto su vzdy niche a drahe. Preto je lepsie si to osefovat sam s ffmpeg. Taktiez odporucam pouzivat h264 kodk aj ked su uspornejsie lebo h264 ma hw podporu dnes asi aj v kalkulacke. Takze nepotrebujes specialny/moderny HW.
tl;dr ak mas peniaze tak cloud ti vsetko osetri. Ale bude to VELMY, VELMY, VEEEEELMY drahe. V opacnom pripade si to musis vsetko porobit sam - sam navrhnut infrasturkturu, najst vhodne hostingy a masiny a napsiat vsetky aplikacie na to.
Ja robim na projekte kde bude tiez video, aj zive, takze riesim to iste a viem ze to nie je sranda.
ps: na nejaku editaciu uplne zabudni.
19. 1. 2023 10:02:18
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511994
TomasX
verified
rating uzivatele
(4 hodnocení)
19. 1. 2023 10:46:54
Co myslíš tím MVP? Minimum viable product?
Vše striktně záleží na velikost, počtu uživatelů, kompatibilitě videí, jejich počtu.
V první řadě chceš vždy videa transkódovat, protože jinak můžeš a budeš zneužit k šíření nebezpečný videí s nějakým tím zákeřným SW ukrytým přímo ve videu, stream.cz může povídat, kdysi s tím měli kardinální problémy.
Jeden OVH bare metal server za 6000 Kč měsíčně ti utáhne asi 500 000 videí a poskytne ti stabilní kombinovaný datový tok 200Mb/s a obslouží asi 100 paralelních uživatelů (tj. průměrně víc než má Mall TV) a musíš si dát pozor jen na špičky.
Ono to celkově není těžké, na jednu starnu vezmeš databázi, kam budeš videa ukládat (už jsem video storage stavěl na cassandra, riak cs, minio, ceph, hdfs atd.), vezmeš knihovny ffmpeg, které ti budou videa transkódovat (zvládnou ~95 % nahraných videí bez problémů převést), k tomu napíšeš trochu kódu (go, c++, python, java jsou asi nejvhodnější jazyky, v php to je opruz řešit, ale jde to), který bude řešit nahrávání a servírování.
Pokud očekáváš vysoké nárazové špičky (např. 10000 připojených uživatelů). Musíš přidat nějaké frontend cachovací servery, přidat možnost dynamicky zvýšit replikaci video souborů (nikdy nechceš mít video soubory přímo na souborovém systému, ale nějaké clusterové databázi viz předchozí odstavec) a u těch, kde očekáváš vysokou návštěvnost nebo naopak se nárazově zvedne zvýšíš replikační faktor klidně na 20, abys měl dostatek kapacity ty soubory číst, všechny zmíněné databáze umí mít i hot data v operační paměti. K tomu nějaký redis k trekování aktuálního stavu, připojených uživatelů a toho, kdo co stahuje a o co je zájem. Tohle je vše volitelné a záleží na návštěvnosti, jen málo českých video serverů se do tohoto stavu dostalo.
Můžeš samozřejmě jít a založit to na cloud službách, bunny.net je z nich asi nejlevnější, ale připrav se, že budeš platit částky podle provozu, což může šplnat hodně vysoko, pro české uživatele budeš data tahat ze zahraničí a přidají se ti tam několikavteřiné odezvy při získávání videí, nic příjemného a všechny české pokusy mít video storage v cloudu vlastně skončili použití aws/azure kvůli storage datacentrům poblíž nebo použitím českých hostingů, superhosting nebo master s tím umí a nějaký ten projekt mi tam běží/běžel. S erotickými videi se ale dostáváš na tenký led a tohle tě může omezovat, jednat je to obsah na běžných hostingách zakázaný a jednak tam často dochází k porušování duševního vlastnictví a GDPR, provoz přímo v cloudů nebo CZ je na hraně, šifrovat veškerá uložená data lze, ale je to nějaká práce navíc.
19. 1. 2023 10:46:54
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511993
enkidu
verified
rating uzivatele
19. 1. 2023 16:39:57
Napsal TomášX;1656937
V první řadě chceš vždy videa transkódovat, protože jinak můžeš a budeš zneužit k šíření nebezpečný videí s nějakým tím zákeřným SW ukrytým přímo ve videu, stream.cz může povídat, kdysi s tím měli kardinální problémy.
To pocujem prvy krat. Mozes to rozviest?
19. 1. 2023 16:39:57
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511992
TomasX
verified
rating uzivatele
(4 hodnocení)
19. 1. 2023 17:14:43
Zranitelností při parsování, přehrávání videa jsou tady s námi již nějakou dobu, aktuálně třeba řeší CVE-2022-30193 nebo CVE-2022-2566 (dej do googlu), to je jen špička ledovce. Buď video obsahuje metadata, která nedopatřením přehrávač načte a vykoná nebo je video speciálně upravené, způsobí třeba buffer overflow a to mu umožní spustit vlastní kód. Transkódovat videa chce na bezpečném místě a na aktualizovaném systému.
Pokud jde o stream.cz, ještě v době, kdy se tam mohl nahrávat uživatelský obsah, chytli chybu s gstreamer a objevila se jim tam řada videí, které stahovala data z internetu při přehrávání, uniklo pár přístupových údajů přímo vývojářů a docela se to v komunitě řešilo, je to ale tak 12 let zpět.
Každopádně platí zásada, že nikdy nevěř ničemu, co ti poskytne uživatel a už vůbec ne, abys to bez sanitizace v původním stavu předával dalším uživatelům. Bezpečnost je jedna věc, soukromí druhá, třeba videa často obsahují spousty metadat, která chceš určitě očistit a nepustit ven, uživatelé ty možnosti "nemají" a ty bys neměl narušovat jejich soukromí.
19. 1. 2023 17:14:43
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511991
enkidu
verified
rating uzivatele
19. 1. 2023 17:44:36
Ked vstup prezeniem cez ffmpeg tak budem v pohode?
19. 1. 2023 17:44:36
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511990
TomasX
verified
rating uzivatele
(4 hodnocení)
19. 1. 2023 19:29:00
to se samozřejmě nedá říct na 100 %, ale troufám si odhadnout, že zatím ani jedna zranitelnost, co byla publikována kolem dekódování videa neprojde přes transkódování, vše totiž byl důsledek záměrně zanesené chyby do videa, která vedla k neočekávanému chování při zpracování. Pokud u toho odstraníš i metadata, tj. stopy a další textový obsah, ideálně vše sloučit jen do předem plánových vrstev (jedna pro video, druhá pro audio), vyhneš se i případnému úniku soukromých dat nebo různým xss a xml rpc útokům.
19. 1. 2023 19:29:00
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511989
enkidu
verified
rating uzivatele
19. 1. 2023 19:49:34
A ked nechcem transkodovat video, len ho nejak validovat, ako idealne na to?
19. 1. 2023 19:49:34
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511988
TomasX
verified
rating uzivatele
(4 hodnocení)
19. 1. 2023 21:31:48
vtip bezpečnostních zranitelností je v tom, že o nich dopředu nevíš. Zatím všechn vzorky co jsem viděl způsobily pád přehrávače, viz třeba https://github.com/marcinguy/CVE-2019-2107/, takže si je stačí možná přehrát, ale těžko říct, všude a všichni transkódují, s tím zkušenost mám, se sanitizací a strojovou analýzou samotných videí moc zkušenosti nemám, to nedělám.
19. 1. 2023 21:31:48
https://webtrh.cz/diskuse/nahrani-videa-do-aplikace-skrze-jinou-sluzbu-a-uspora-hw-zateze/#reply1511987
Pro odpověď se přihlašte.
Přihlásit