Πώς να βρεις το Youtube Thumbnail

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από kapoios001 » 19 Αύγ 2011 15:54

Όπως λέει και ο τίτλος, αν ας πούμε έχουμε ένα μέρος στο site μας που κάνουμε embed videos από το youtube και θέλουμε να εμφανίσουμε το thumbnail του video (π.χ. σε μια λίστα με όλα τα video ωραίο θα ήταν να εμφανίζαμε και το thumb).

Με το παρακάτω function μπορούμε να το καταφέρουμε:

Κώδικας: Επιλογή όλων

function getYoutubeThumb($embed_code, $title) {
// code by George Girtsou
	$embed_pos = strpos($embed_code, 'http://www.youtube.com/embed/');
	$youtube_video_ID = substr($embed_code, $embed_pos, strlen($embed_code)-$embed_pos);

	$youtube_video_ID = str_replace('http://www.youtube.com/embed/', '', $youtube_video_ID);

	$embed_pos2 = strpos($youtube_video_ID, '"');
	$youtube_video_ID = substr($youtube_video_ID, 0, $embed_pos2);

	$youtube_thumb = 'http://img.youtube.com/vi/'.htmlspecialchars($youtube_video_ID).'/1.jpg';
	$youtube_thumb = '<img src="'.$youtube_thumb.'" alt="'.$title.'" />';
	return $youtube_thumb;
&#125;
Πώς λειτουργεί: το youtube για να εμφανίσει κάποιο thumbnail έχει αυτό το σύστημα:
http://img.youtube.com/vi/VIDEO_ID/THUMB_NUM.jpg';

Οπότε στο function ως πρώτο argument (παράμετρο) περνάμε το embed code που μας δίνει το youtube:

Κώδικας: Επιλογή όλων

<iframe width="560" height="345" src="http&#58;//www.youtube.com/embed/98WtmW-lfeE" frameborder="0" allowfullscreen></iframe>
Το function με τα native functions της PHP βρίσκει την θέση του video_ID το οποίο βρίσκεται ανάμεσα στο embed/ και στο " που βρίσκεται ακριβώς μετά.

Στην περίπτωσή μας το video_ID είναι το 98WtmW-lfeE

και το 1ο thumb θα ήταν το: http://img.youtube.com/vi/98WtmW-lfeE/1.jpg
Εικόνα

Ως δεύτερο argument περνάμε τον τίτλο του video γιατί στο image alt θέλουμε να εμφανίσουμε το όνομα του Youtube (βοηθάει στις μηχανές αναζήτησης να καταλάβουν τι δείχνει η εικόνα -- επειδή δεν μπορούν να διαβάσουν εικόνες).

To function το καλούμε ως εξής:

Κώδικας: Επιλογή όλων

<?php
$embed_code = '<iframe width="560" height="345" src="http&#58;//www.youtube.com/embed/98WtmW-lfeE" frameborder="0" allowfullscreen></iframe>';
$video_title = 'Katy Perry - Teenage Dream';
echo getYoutubeThumb&#40;$embed_code, $video_title&#41;;
?>
Εύχομαι να φανεί χρήσιμο σε κάποιον.

Φιλικά,
ggirtsou

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από fafos » 19 Αύγ 2011 16:17

nomizo me to url ths selidas tou video einai poio eukolo:

Κώδικας: Επιλογή όλων

<?php
function getVideoID&#40;$url&#41;
&#123;

	//youtube case
	if&#40;preg_match&#40;"/youtube.com/i", $url&#41;&#41;
	&#123;
		//get id
		$ytMatch = explode&#40;'?v=', $url&#41;;
		$ytId = substr&#40;$ytMatch&#91;1&#93;, 0, 11&#41;;
		$videoId = $ytId;

	&#125;

	else
	&#123;
		$videoId = "";
	&#125;
	return $videoId;

&#125;

$url = 'http&#58;//www.youtube.com/watch?v=SDTZ7iX4vTQ&ob=av2e';// to url tou video
$ytCode = getVideoID&#40;$url&#41;;
//$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/0.jpg';// big thumb
//$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/1.jpg';// small thumb 1
//$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/2.jpg';// small thumb 2
$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/3.jpg';// small thumb 3

?>

<p><img src="<? echo $ytImage;?>"  border="0" /></p>
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από kapoios001 » 19 Αύγ 2011 16:21

Ναι, όντως, αλλά εγώ λέω αν έχουμε ένα σύστημα που για να βάλεις video δίνεις το video title και τον embed κώδικα.

Οπότε βάση του embed κώδικα το κάνω. Αν έδινε και το URL τότε γίνεται και μ' αυτό που λες.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από fafos » 19 Αύγ 2011 16:26

ggirtsou έγραψε:Ναι, όντως, αλλά εγώ λέω αν έχουμε ένα σύστημα που για να βάλεις video δίνεις το video title και τον embed κώδικα.

Οπότε βάση του embed κώδικα το κάνω. Αν έδινε και το URL τότε γίνεται και μ' αυτό που λες.
zhtas polla apo ton tapeino diaxeiristh :lol: .. an thelei plhrofories tou video xrhsimopoiei to APi tou youtube kai teleionei.. arkei dhladh na exei ton kodiko tou video..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από kapoios001 » 19 Αύγ 2011 16:27

Ναι αλλά για να μπεις στο API του youtube θες developer key και @@

Ταπεινός ξε-ταπεινός όταν όμως κάνουν λογαριασμό στο Facebook καλά είναι... Ένα -μπιπ-paste δεν μπορούν να κάνουν... Έλεος δηλ... άσχετοι admins χα χα :lol:

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από fafos » 19 Αύγ 2011 16:36

ggirtsou έγραψε:Ναι αλλά για να μπεις στο API του youtube θες developer key και @@

Ταπεινός ξε-ταπεινός όταν όμως κάνουν λογαριασμό στο Facebook καλά είναι... Ένα -μπιπ-paste δεν μπορούν να κάνουν... Έλεος δηλ... άσχετοι admins χα χα :lol:
wrong... einai open to API tou youtube... den thelei keys klp... aplos to analyeis me thn simplexml kai pairneis oti stoixeio thes: https://gdata.youtube.com/feeds/api/videos/SDTZ7iX4vTQ
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από kapoios001 » 19 Αύγ 2011 16:38

Thanks εγώ είχα διαβάσει εκεί που λέει Authentication http://code.google.com/apis/youtube/2.0 ... tocol.html

Βασικά το είχα δει με μια γρήγορη ματιά...

ΟΚ, ας πάμε σε μεγαλύτερο βάθος: πιο γρήγορο είναι να κάνεις retrieve και process το XML αρχείο ή να παίξεις λίγο με τα strings και να βρεις το video_ID?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από fafos » 19 Αύγ 2011 16:45

ggirtsou έγραψε:Thanks εγώ είχα διαβάσει εκεί που λέει Authentication http://code.google.com/apis/youtube/2.0 ... tocol.html

Βασικά το είχα δει με μια γρήγορη ματιά...

ΟΚ, ας πάμε σε μεγαλύτερο βάθος: πιο γρήγορο είναι να κάνεις retrieve και process το XML αρχείο ή να παίξεις λίγο με τα strings και να βρεις το video_ID?
an thes mono to id h to thumb den xreiazesai to xml tou api... an exeis omos mia videos gallery opou thes na dineis perissotera stoixeia (p.x. diarkeia video, perigrafh, keywords, sxetika videos klp) douleueis me to xml..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
B_Dark
Δημοσιεύσεις: 321
Εγγραφή: 27 Ιαν 2006 04:45
Τοποθεσία: Center Of Athens

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από B_Dark » 24 Αύγ 2011 23:39

ποια η διαφορά του http://i.ytimg.com/vi/, http://i1.ytimg.com/vi/ με το http://img.youtube.com/vi/ ?! εννοώντας κάνουν την ίδια δουλειά προς τι 3 (ίσως και παραπάνω) διαφορετικά url?!
Music is the spirit of love, happiness and life...

kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από kapoios001 » 24 Αύγ 2011 23:52

Ίσως να είναι κάτι σαν mirror. Τα ίδια thumbs σου δίνουν όλα τα links το τσέκαρα τώρα.

Άβαταρ μέλους
B_Dark
Δημοσιεύσεις: 321
Εγγραφή: 27 Ιαν 2006 04:45
Τοποθεσία: Center Of Athens

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από B_Dark » 25 Αύγ 2011 00:05

ggirtsou έγραψε:Ίσως να είναι κάτι σαν mirror. Τα ίδια thumbs σου δίνουν όλα τα links το τσέκαρα τώρα.
Tο ξέρω ότι δίνουν τα ίδια thumbs γι αυτό ρώτησα, για πιο λόγο όμως τα mirrors (μάλλον να είναι δύσκολο να μου απαντήσει κάποιος, γιατί ίσως δεν μπορεί να ξέρει αυτός που το έφτιαξε για ποιο λόγο μπορεί να το έκανε)?
Eγώ π.χ χρησιμοποιούσα ως τώρα το http://i.ytimg.com/vi/ να τα γυρίσω στο http://img.youtube.com/vi/ ? ενδέχεται να καταργηθούν ανά πάσα στιγμή τα mirrors?
Music is the spirit of love, happiness and life...

kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από kapoios001 » 25 Αύγ 2011 02:02

δεν ξέρω αλλά μου φαίνεται κάπως απίθανο να κλείσουν κάποιο mirror.

Άβαταρ μέλους
345crew
Δημοσιεύσεις: 41
Εγγραφή: 22 Απρ 2011 19:26
Τοποθεσία: Άνω Καλέσσα, Γάζι, Ηράκλειο Κρήτης
Επικοινωνία:

Πώς να βρεις το Youtube Thumbnail

Δημοσίευση από 345crew » 14 Ιαν 2012 21:00

@fafos
Το παρακάτω μπορεί να χρησιμοποιηθεί και γοα την δημιουργία url thumbnail ή είναι αποκλειστικά για το youtube?
Κατανοώ πως είναι άσχετο με το topic και ζητάω συγνώμη για αυτό.

fafos έγραψε:nomizo me to url ths selidas tou video einai poio eukolo:

Κώδικας: Επιλογή όλων

<?php
function getVideoID&#40;$url&#41;
&#123;

	//youtube case
	if&#40;preg_match&#40;"/youtube.com/i", $url&#41;&#41;
	&#123;
		//get id
		$ytMatch = explode&#40;'?v=', $url&#41;;
		$ytId = substr&#40;$ytMatch&#91;1&#93;, 0, 11&#41;;
		$videoId = $ytId;

	&#125;

	else
	&#123;
		$videoId = "";
	&#125;
	return $videoId;

&#125;

$url = 'http&#58;//www.youtube.com/watch?v=SDTZ7iX4vTQ&ob=av2e';// to url tou video
$ytCode = getVideoID&#40;$url&#41;;
//$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/0.jpg';// big thumb
//$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/1.jpg';// small thumb 1
//$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/2.jpg';// small thumb 2
$ytImage = 'http&#58;//i1.ytimg.com/vi/'.$ytCode.'/3.jpg';// small thumb 3

?>

<p><img src="<? echo $ytImage;?>"  border="0" /></p>

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες