Na tento problém jsme narazili, když jsme s kolegy chtěli udělat živé vysílání na Facebook profil v lepší rozlišení z IP kamery, kterou jsme měli k dispozici a říkali jsme si, že by byla škoda, řešit živé vysílání pomocí ducktape a telefonu.
Možnosti Facebook Live Video API
Facebook umožnuje živě vysílat na:
- Timeline uživatele/page
- do události
- do skupiny () () Kvůli spamování je bohužel přístup ke skupinám v aktuální verzi Facebook API (v2.7) zakázaný.
Po prostudování Facebook API jsem zjistil, že Facebook umožnuje přes API získat jednorázovou URL RTMP serveru, na který když pošlete video stream, video se rovnou zobrazí na vaší Timeline.
Aplikace FFmpeg Live
Protože ovládat Graph API není jednoduché pro netechnické uživatele, vytvořil jsem webovou aplikaci FFmpeg Live, která pomáhá generovat tyto přístupové kódy přes jednoduché uživatelské rozhraní.
S kolegy z vysílání O2 TV Sport jsme pak odladili takový FFmpeg příkaz, aby vysílané video splňovalo technické požadavky Facebooku – tento příkaz pak aplikace rovnou generuje.
Aplikaci FFmpeg Live je zadarmo a najdete ji na URL https://labs.vjirovsky.cz/ffmpeglive/. Žádné přístupové údaje nejsou na serveru ukládány. Aplikace je napsaná v Nette (PHP) s Facebook PHP SDK, frontend je postavený na Twitter Bootstrapu.
Zdrojové kódy najdete na mém GitHubu – pokud vás napadá nějaké vylepšení, nebráním se pull requestům.