Autor Zpráva
ondra256
Profil
Zdravím,

potřebuju přidat na web live stream. Chci přes mobil streamovat přímo na web. Nemáte někdo zkušenosti s nějakou službou která to umožňuje?

Předem díky
Sitole
Profil
Na psaní vlastní služby můžeš nejspíš zapomenout, ale můžeš využívat například

Stream z mobilního telefonu pomocí Facebooku
Stream z mobilního telefonu pomocí YouTube

Doporučoval bych si o tom něco víc načíst. Nejsem si jistý, jestli má i Instagram možnost vložit stream přímo na web, ale ten má nejspíše nejpropracovanější verzi na stream za pomoci mobilního telefonu.
Petr_D
Profil
Používám službu Bambuseru Nutností je ovšem kvalitní připojení. Pokud není, video se uloží a odešle po jeho znovunabytí.
Jan Rippl
Profil
... A nebo si pořídit vlastní server a nainstalovat RTMP server jako nginx + RTMP modul, RED5, nebo crtmp. Vyzkoušeno mám crtmp, ale v době kdy sem jej testoval obsahoval chyby. Vemi dobré zkušennosti mám s nginx a rtmp modulem. Dále je pak třeba FLASH přehrávač umístěný na webové stránce například jako např. Video JS, Jplayer, Jaris Player, Flow Player, apod.
Keeehi
Profil
Jan Rippl:
S tím flashem to snad nemyslíš vážně. Před deseti lety OK, ale dnes?
Jan Rippl
Profil
Keeehi:
S tím flashem to snad nemyslíš vážně. Před deseti lety OK, ale dnes?
To je sice pěkné, ale bohužel...
... do dnešního dne nikdo jinou možnost nenabízí. RTMP je proprietrární formát patentovaný (pokud se nemýlým) firmou Adobe. Existují pouze dvě možnosti, jak RTMP proud přehrát. Jednou z možností je pomocí nějakého interního přehrávače např. VLC, v případě, že je použit k tomu, k čemu byl původně vyvinut, tedy ke komunikaci mezi uživateli, nějaký klient pro VOip (např. skype), a nebo v případě, který zmínil ondra, tedy jeho přehrání prostřednictvím webového prohlížeče na webové stránce je nutné použít flash, neboť HTML5 to bohužel prozatím nedokáže. Samozřejmě existují i jiné možnosti (formáty) např. Icecast2 a Shoutcast umí pokud vím streamovat i video v režimu live, ovšem zde je potíž s enkódováním a tedy i výslednou rychlostí, která formátu RTMP nemůže nikdy konkurovat a už vůbec ne ve výsledné kvalitě. Pak je zde ještě možnost, tzv. RTMP dump, ale to už se nebavíme o přehrávání živého záznamu jako takového, ale o přehrávání záznamu ze živého záznamu a to od začátku jeho spuštění, tudíž divák sleduje něco, co se vysílalo klidně i předešlý den. Z vlastní zkušennosti vím že při vynechání převádění formátů za chodu (během streamování) tedy ponechání toho obvyklého (FLV) a jeho následné distribuce divákovi za pomocí flash playeru či přes interní pc přehrávač je agregace dat prakticky 1:1.

Otázkou je, co přinese budoucí vývoj v moderních internetových prohlížečích...
Keeehi
Profil
Jan Rippl:
Takže mu radíš použít uzavřený protokol* který pro svou podporu potřebuje technologii, která je zastaralá a z prohlížečů se odstraňuje?

* RTMP je protokol, ne formát a proprietární byl, ovšem už 5 let je k dispozici veřejnosti, i když je pravda že ne kompletně celý.
Jan Rippl
Profil
Keeehi:
Takže mu radíš použít uzavřený protokol* který pro svou podporu potřebuje technologii, která je zastaralá a z prohlížečů se odstraňuje?
No ale jiná možnost není a to i když zvolí cestu nějakého poskytovatele (Youtube, twitch.tv, Facebook, ...) Všichni nabízejí totéž (RTMP protokol) s tím rozdílem, že je zde ke všemu nutné řídit se pravidly daného poskytovatele.

Možná by stálo ještě za úvahu použít Icecast2, avšak v době kdy jsem to testoval existovalo jen velmi málo klientů pro streamování na tento druh streamovacího serveru, a i při velmi nízké kvalitě docházelo k zasekávání.

Pak mne ještě napadá WebRTC či Web Socket přes proxy ale s tím nemám zkušennosti...
Keeehi
Profil
Jan Rippl:
No ale jiná možnost není a to i když zvolí cestu nějakého poskytovatele (Youtube, twitch.tv, Facebook, ...)
Ale streamované video bez použití flashe YouTube zvládá. Nevím jaké technologie YouTube využívá, ale výsledkem je stream bez flashe. Což nejspíše znamená že buď dnešní prohlížeče RTMP podporují, nebo ho YouTube nepoužívá a dělá to jinak.
Jan Rippl
Profil
Tak už jsem možná našel řešení...
Vysílat v protokolu RTMP a následně tento formát transkódovat do RTSP pomocí ffmpeg. Následně je tento proud v RTSP zobrazovat na webu pomocí:
<video src="rtsp://myhost.com/mymedia.format">
 <!-- Fallback here -->
</video>
viz: Live streaming web audio and video

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: