Šta je novo?

HTML5 video i MSE

yooyo

Čuven
VIP član
Učlanjen(a)
28.06.2005
Poruke
10,877
Poena
730
Treba da uradim video player u browseru koji treba da sa servera vuce growing clip. Growing clip je mp4 file koji drugi racunar upravo snima i koji povremeno updejtuje moov atom na pocetku fajla.
Kada pustim takav video u browseru, reprodukcija ide do trenutka kada je strana otvorena. Tj... ako je u trnutku otvaranja strane snimljen 1 minut u mp4 file, browser ce zapoceti reprodukciju. Kada dodje do 1 minuta reprodukcije, u fajlu se vec nalazi 2 minuta, ali browser odbija da dalje reprodukuje video, sve dok ne uradim reload strane.

Video klip ima laznu duzinu od 2 sata, tako da prilikom otvaranja, zaista na timelineu prikaze duzinu od 2 sata, ali reprodukcija ide samo do trenutka otvaranja strane.

Izgleda da se ovo moze resiti sa MSE (Media Source Extension). Da li se neko bavio sa ovim? Kako da ubedim browser da ponovo procita pocetk fajla i updejtuje duzinu?

Drugo resenje je mp4-dash, ali bih zeleo da izbegnem to jer mi snimljeni file na kraju treba i za druge stvari a u dash obliku mi je neupotrebljiv.
 
Poslednja izmena:
MSE baš radi na taj način. Ono što mi nije jasno je kako da mu podvalim izmenjeni moov atom MP4 fajla? Razmišljam da otvorim još jednu konekciju i zatražim deo MP4 fajla u kome se nalazi moov atom, ali šta dalje kad stigne paket? Ako ga dodam u MSE buffer, šta će dekoder da misli?
Da pojasnim, kod growing fajla moov atom se menja svake sekunde i nalazi se na početku MP4 fajla.

Sent from my Nexus 6P using Tapatalk
 
Pada mi na pamet da kreiras fregmentisani mp4 i iskuliras (ili fake) moov meta. Nema premotavanja, ali ti mozda i ne treba?

Druga varijanta ostaje sa reloadovanjem meta podataka kroz nov xhr sa pocetka fajla. E sad, kako da ga ubacis u buffer, ne znam. Zato san ostavio one linkove da pogledas. :D

Treca varijata mozda da fragmentujes fajl, i uz svaki data deo na pocetku saljes i ispravne meta podatke. Pod pretpostavkom da ne zabaguje dekoder, a ne bi trebalo, to bi bila najbolja opcija.
I pod pretpostavkom da encoder na serveru ima te mogucnosti.

U svakom slucaju, mora testiras. Ja nemam iskustva s tim.
(Samo me interesovao ranije video stream preko socketa. :D)

Jel to pravis realtime feed sa kamere? Sta te sprecava da koristis neki streamer server (software)?

Sent from my Nexus 5 using Tapatalk
 
Pravim video loging. Postoji deo sistema koji može da snima 100-ak fullhd ulaza u pro kvalitetu. Deo tih ulaza se paralelno snima i u nižem kvalitetu u mp4/h264/aac. Ti fajlovi nižeg kvaliteta će najverovatnije ići u quadsplit u browseru i operater ima zadatak da gleda šta se dešava i unosi komentare u bazu podataka. Isti ti mp4 fajlovi se na kraju snimanja predaju klijentu radi brže montaže, dok se terabajti snimaka u pro kvalitetu kopiraju na klijentove diskove. Pro i h264 fajlovi moraju biti takvi da quicktime može da ih otvori i pusti.

Operater treba da može da premotava snimke, pauzira i nastavi dalje, kao i da pusti poziciju uživo. Namena je pravljenje baze metadata sa koncerta ili nekog događaja koji je pokriven sa mnogo kamera.. npr gitarista solira, plesna grupa uradili to i to, publika peva, itd. Biće više mesta za operatore tako da se pokriva dosta kamera.

Ja bi ovo u c++ napisao očas posla, ali ljudi žele rešenje u browseru i tako sada gledam kako da to izvedem sa MSE.

Sent from my Nexus 6P using Tapatalk
 
MSE ne prihvata klasičan MP4, već samo fragmentisani. Srećom mp4box postoji i u javaskript verziji, te može on-the-fly prepakuje MP4 u fragmentisani MP4. Danas ću da probam kako sve to radi...

Sent from my Nexus 6P using Tapatalk
 
Nazad
Vrh Dno