Video sitesi yaparken doğal olarak videoları Youtube’den çekiyoruz resimleride ordan çekmek isteyebiliriz, yada farklı bir amaç için video resmi gerekebilir. Youtube’de video ile resim id’si aynı ve resim kaliteside seçebiliyorsunuz.
Video’ya ait küçük resimler (thumbnails);
- http://img.youtube.com/vi/video-id/0.jpg
- http://img.youtube.com/vi/video-id/1.jpg
- http://img.youtube.com/vi/video-id/2.jpg
- http://img.youtube.com/vi/video-id/3.jpg
Video HD küçük resim (thumbnail);
- http://img.youtube.com/vi/video-id/hqdefault.jpg
En yüksek kalite küçük resim (thumbnail)
- http://img.youtube.com/vi/video-id/maxresdefault.jpg (sadece HD videolarda çalışır.)
Örnek;
Örnek youtube linki: https://www.youtube.com/watch?v=9XGBbzS8j-U
Video ID : 9XGBbzS8j-U
Örnek resim linki : http://img.youtube.com/vi/9XGBbzS8j-U/0.jpg
PHP ile Youtube Linkini Parçalama
Yukarıda ID ile resmin nasıl alındığını gördük ancak her seferinde id’yi kopyalayıp yapıştırmaya gerek yok işi dahada basitleştirelim.
<?php $youtubevideo = https://www.youtube.com/watch?v=9XGBbzS8j-U; $videokalite = "mqdefault"; //maxresdefault, sddefault, hqdefault, default, 3, 2, 1, 0 if($youtubevideo) : ?> <?php if (preg_match('%(?:youtube(?:-nocookie)?.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu.be/)([^"&?/ ]{11})%i', $youtubevideo, $match)) { $video_id = $match[1]; } ?>
Yukarıdaki işlemde $youtubevideo değişkenine linki atadık siz hangi yönetim panelini kullanıyorsanız örneğin WordPress kullanıyorsanız özel alan oluşturup oradaki linki $youtubevideo değişkenine atayacaksınız. Daha sonra preg_match ile linki parçalayıp $video_id içinede onu depoluyoruz artık $video_id içerisinde sadece id yer alıyor.
Gelelim bunu yazdırmaya;
<img alt="<?php the_permalink(); ?>" src="http://img.youtube.com/vi/<?php echo $video_id ?>/<?php echo $videokalite ?>.jpg" alt=""/>
$videokalite içerisinede text olarak mqdefault‘ı depoladım ama siz diğerlerini yazarsanız ona göre kaliteyi belirlemiş olursunuz.