Youtube影片在分享時,是很有規則的縮圖
http://img.youtube.com/vi/VIDEO_ID/#.jpg
0.jpg (預設)480×360
1.jpg 第一張縮圖
2.jpg 第二張縮圖
3.jpg 第三張縮圖
以及依品質的縮圖
default.jpg
hqdefault.jpg
mqdefault.jpg
sddefault.jpg
maxresdefault.jpg
不過vine沒有這樣的規則,所以只好自己抓取影片頁面裡的og:image了!
建立一個 get_vine_thumbnail.php
function get_vine_thumbnail($id){ $vine = file_get_contents("https://vine.co/v/{$id}"); preg_match('/property="og:image" content="(.*?)"/', $vine, $matches); return ($matches[1]) ? $matches[1] : false; } $id1 = $_GET['id']; header('Content-type: image/jpeg'); $image = imagecreatefromjpeg(get_vine_thumbnail($id1)); imagejpeg($image);
使用時就是 get_vine_thumbnail.php?id=xxxx就可以了!
相關連結:
https://developers.google.com/youtube/v3/
http://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api
https://developers.google.com/youtube/2.0/developers_guide_php?csw=1