IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Živé přenosy z youtube na webové stránky

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Jan Novák
Člen
Avatar
Jan Novák:19.11.2019 20:59

Ahoj, již delší dobu se snažím vytvořit script, který by mi projel několik kanálů na youtube a pokud zrovna vysílají živě, tak by vložil do embed funkce id daného živého přenosu. Snažím se najít nějaký kód pro tento problém, který bych si následně upravil dle obrazu svého. Mám nějaký základní kód, kde využívám možnosti Youtube api, ale moc to nefunguje. Neporadil by mi prosím někdo, kde hledat? Prošel jsem snad už všechny fóra, stránky a nemůžu najít, jak to vytvořit. Napadá mě otázka, je PHP vůbec na toto vhodný jazyk? Nechci hotový kód, ale potřebuji nasměřovat, kterým směrem hledat. Děkuji

 
Odpovědět
19.11.2019 20:59
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:20.11.2019 9:55

Nerozumim, co chces docilit.
Nevidim, co mas hotove a jak to funguje.

  • Stream funguje tak, ze mas server (program na vzdalenem pocitaci), ktery bud data uzivateli posila nebo ne. Nebo muze posilat jeden a ten samy obrazek porad dokola.
  • Potom mas program, na tvem serveru nebo u uzivatele (v pc nebo prohlizeci), ktery je schopen dana data dekodovat na obraz nebo zvuk. ten se nazyva player. Google pouziva vlastni player, nejspis napsany v javascriptu. Umi spoustu veci. Ne kazdy player umi dekodovat tebou zvoleny format. Cili, pokud jde vlozit plugin z googlu, pouzil bych ten. V podstate se da pouzit html5 player, jen nema takove pekne graficke prvky a funkcnost jako ten z googlu, musel by sis to napsat sam nebo stahnout nekde hotovy. Muze se jednat i o win program, VLC player.
  • A potom mas stranku v browseru uzivatele, co zobrazuje obsah.
  1. Detekovat, zda video posila. No, nevim. Prostuduj dokumentaci k tomu youtube pluginu od googlu. Mozna, ze dokaze javascriptem vyvolat nejakou udalost onStreamTransfer nebo tak neco. Ja bych na to prilis nesazel.
  2. Nebo nejak otestovat primou adresu toho stream serveru. Jenze on se s tebou muze odmitnout bavit, pokud nedostane nejaky presny kod pro komunikaci. strem posila data vetsinou pres sockety, kdezto z webove stranky komunikujes jen pres https protokol, ne socket. Ale nektere browsery umi i socket pres javascript. Cili, asi bys to resil nejak pres php.
  3. A potrebujes to? Nestaci ti do stranky zobrazit 10 iframu a v kazdem promitat stream? Kdyz nic nejde, bude cerny. Kdyz chces koukat, tak si kliknes na nejake tve button, ktere to roztahne full screen a ostatni zastavi, at se ti uvolni linka.
 
Nahoru Odpovědět
20.11.2019 9:55
Avatar
Jan Novák
Člen
Avatar
Odpovídá na Peter Mlich
Jan Novák:20.11.2019 10:54

Úplně by mi stačilo vložit na stránku například jen těch 10 iframů, jak zmiňuješ v poslední možnosti. Ale nedokážu vytvořit ten script pro automatické vkládání těch iframů. Každý youtube kanál má vlastní rss, kde jsou tyto informace o živém přenosu nebo využít to api, ale jak to přesně využít nebo jak udělat čtečku rss feedu to bych potřeboval poradit. Cíl je pouze shromáždit určitou skupinu přenosů na jedné stránce. Nepotřebuji je přehrávat u sebe, ale pouze je "sdílet". Ale i tak moc děkuji za odpověď. Pořádně všechny možnosti co zmiňujete prostuduji.

 
Nahoru Odpovědět
20.11.2019 10:54
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21.11.2019 8:42

google = rss javascript example
google = xml javascript example
http://www.peachpit.com/…article.aspx?…
https://developer.mozilla.org/…ializing_XML

<script>
function parseXML(data)
        {
        var parser, xml;
        try     {
                if ( window.DOMParser )
                        {
                        parser = new DOMParser();
                        xml    = parser.parseFromString( data , "text/xml" );
                        }
                else
                        { // IE
                        xml = new ActiveXObject( "Microsoft.XMLDOM" );
                        xml.async = "false";
                        xml.loadXML( data );
                        //document.all("writersXML").XMLDocument
                        }
                }
        catch (e)
                {
                xml = undefined;
                }
        XMLDocument.prototype.getNodes = getNodes;
        Element.prototype.getNodes = getNodes;
        return xml;
        }

function getNodes (name)
        {
        var node_list, i, i_end, j, out, node;
        node = this;
        if (!node.hasChildNodes())
                {return false;}
        out   = [];
        node_list = node.childNodes;
        i_end = node_list.length;
        j     = 0;
        for (i=0; i<i_end; i++)
                {
                if (node_list[i].nodeName==name)
                        {out[j++] = node_list[i];}
                }
        return out;
        }

var xmltext, xmldoc, node;

xmltext = '\
<writers>\
   <EnglishLanguage>\
      <fiction>\
         <pen>\
            <name>Jane Austin</name>\
            <name>Rex Stout</name>\
            <name>Dashiell Hammett</name>\
         </pen>\
      </fiction>\
   </EnglishLanguage>\
</writers>\
';

xmldoc = parseXML(xmltext);
node   = xmldoc.getNodes('writers')[0].getNodes('EnglishLanguage')[0].getNodes('fiction')[0].getNodes('pen')[0].getNodes('name');
alert([node.length, node[1].textContent]);      // 3, Rex Stout (ve Firefoxu)
</script>
Editováno 21.11.2019 8:43
 
Nahoru Odpovědět
21.11.2019 8:42
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:21.11.2019 8:45

Je mozne to psat i takhle

node   = xmldoc
                 .getNodes('writers')[0]
                 .getNodes('EnglishLanguage')[0]
                 .getNodes('fiction')[0]
                 .getNodes('pen')[0]
                 .getNodes('name');
 
Nahoru Odpovědět
21.11.2019 8:45
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:30.11.2019 17:20

http://ceske.tvradios.top/onlinetv.html
Tohle treba pouzivam na online vysilani tv

 
Nahoru Odpovědět
30.11.2019 17:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.