Stránka 1 z 1

Vkládání videa z youtube od uživatelů

Napsal: 23 srp 2013 15:11
od Gosuri
Zdravím,
potřeboval bych poradit. Programuji web, kde uživatelé budou moci vkládat svá videa ze serveru youtube (tedy spíš náhledy na ně). Ale nedaří se mi to naprogramovat, aby stačilo jen vkládání adresy z lišty v prohlížeči. Poradíte mi, jak na to?

Re: Vkládání videa z youtube od uživatelů

Napsal: 23 srp 2013 17:01
od LuCaCZ
Co přesně ti nejde naprogramovat?

Je několik způsobů jak dostat informace o videu - např toto http://www.youtube.com/watch?v=mQc4ZXh6azE

Od ID videa (mQc4ZXh6azE) se pak odvíjí adresy pro získání informací

XML data

Kód: Vybrat vše

http://gdata.youtube.com/feeds/api/videos/mQc4ZXh6azE

oEmbed data

Kód: Vybrat vše

http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=mQc4ZXh6azE

Náhledové obrázky

Kód: Vybrat vše

http://i.ytimg.com/vi/mQc4ZXh6azE/hqdefault.jpg
http://i.ytimg.com/vi/mQc4ZXh6azE/mqdefault.jpg
http://i.ytimg.com/vi/mQc4ZXh6azE/default.jpg
http://i.ytimg.com/vi/mQc4ZXh6azE/0.jpg
http://i.ytimg.com/vi/mQc4ZXh6azE/1.jpg
http://i.ytimg.com/vi/mQc4ZXh6azE/2.jpg
http://i.ytimg.com/vi/mQc4ZXh6azE/3.jpg


Pak už je to jen práce s řetězci či parsování xml...

Re: Vkládání videa z youtube od uživatelů

Napsal: 23 srp 2013 17:28
od Gosuri
Názorný příklad:

if (isset($_POST['url']))
{
$adrfilm = $_POST['url'];

echo $adrfilm;
echo "<object style='height: 390px; width: 640px'>
<param name='movie' value='$adrfilm'>
<param name='allowFullScreen' value='true'>
<param name='allowScriptAccess' value='always'>
<embed src='$adrfilm' type='application/x-shockwave-flash' allowfullscreen='true' allowScriptAccess='always' width='640' height='390'>
</object>";
}
else
{
echo "<br>";
}

?>

... čili uživatel zadá adresu z youtube a uložené video se má na webu zobrazit. Ale adresa z horní lišty v prohlížeči nejede. Je třeba zkopírovat adresu nacházející se pod videem pod položkou sdílet. Což by pro návštěvníky bylo nepohodlné. Nevím, co mám tedy do kódu přidat, aby to fungovalo.

Re: Vkládání videa z youtube od uživatelů

Napsal: 23 srp 2013 17:36
od CZechBoY
Zdravím,
tak a jde se poslouchat Metallica :D

z tohohle se nic nepozná, musíš rozparsovat url a youtube ji má ve formátu

Kód: Vybrat vše

www.youtube.com/embed/id-videa

třeba

Kód: Vybrat vše

http://www.youtube.com/embed/mQc4ZXh6azE

Re: Vkládání videa z youtube od uživatelů

Napsal: 24 srp 2013 10:24
od Gosuri
Aha :) ... jo tak by to šlo :-P ... ale s parsováním nemám žádné zkušenosti, můžu poprosit o nějaký příklad? Co jsem prolézal fóra, tak jsem to nějak nepochopil. :)

Re: Vkládání videa z youtube od uživatelů

Napsal: 24 srp 2013 20:51
od CZechBoY
je to jednoduchý, ale nevím kolik existuje formátů youtube odkazu
předpokládám url

Kód: Vybrat vše

http://www.youtube.com/watch?v=mQc4ZXh6azE

PHP píše:$_POST['url'] = "http://www.youtube.com/watch?v=mQc4ZXh6azE";
$embed = yt2embed($_POST['url']);
if(!$embed)
echo "Vložil si blbost";
else {
echo "<object style='height: 390px; width: 640px'>
<param name='movie' value='" . $embed . "'>
<param name='allowFullScreen' value='true'>
<param name='allowScriptAccess' value='always'>
<embed src='" . $embed . "' type='application/x-shockwave-flash' allowfullscreen='true' allowScriptAccess='always' width='640' height='390'>
</object>";
}


function yt2embed($url) {
$url = parse_url($_POST['url']);
if(strpos($url['host'], "youtube.com") === false || empty($url['query']))
return false;
$query = array();
parse_str($url['query'], $query);
if(empty($query['v'])
return false;
$embed_url = "http://www.youtube.com/embed/" . $query['v'];
return $embed_url;
}

Re: Vkládání videa z youtube od uživatelů

Napsal: 24 srp 2013 21:44
od X
Pokud budeš mít návštěvníky s vytuněným Firefoxem (stačí plug-in Greasemonkey a skript Videoembed = prozkoumej v mém podpise), tak stačí vložit odkaz, viz:

Obrázek

Re: Vkládání videa z youtube od uživatelů

Napsal: 25 srp 2013 00:31
od LuCaCZ
X: takhle asi ne ..

CZechBoY píše:... ale nevím kolik existuje formátů youtube odkazu ...

určitě je zkrácená share adresa http://youtu.be/mQc4ZXh6azE
taky funguje http://www.youtube.com/video/mQc4ZXh6azE, ale to se asi nikde neobjevuje

Re: Vkládání videa z youtube od uživatelů

Napsal: 25 srp 2013 00:48
od CZechBoY
jo, tak si to zkus ještě dopsat pro tyhle 2 formáty, kdy nebudeš vědět tak sem napiš