2015-09-02 14 views

Trả lời

13

YouTube lưu trữ nhiều loại hình thu nhỏ khác nhau trên máy chủ của mình cho các thiết bị khác nhau. Bạn có thể truy cập nó bằng cách sử dụng id video có số mỗi video trên YouTube. Bạn có thể hiển thị hình ảnh trên trang web của mình bằng cách sử dụng biến số $link giữ id của video và thay thế nó ở vị trí cho video_ID trong liên kết.

thumbnail chất lượng thấp:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/sddefault.jpg 

chất lượng Medium thumbnail:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/mqdefault.jpg 

chất lượng cao thumbnail:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/hqdefault.jpg 

thumbnail chất lượng tối đa:

http://img.youtube.com/vi/<YouTube_Video_ID_HERE>/mqdefault.jpg 

Ví dụ:

Nếu bạn muốn truy cập vào thumbnail của video sau:

https://www.youtube.com/watch?v=Q-GYwhqDo6o 

Video ID: Q-GYwhqDo6o

Vì vậy, đây là cách hiển thị video link thumbnail trông giống như:

http://img.youtube.com/vi/Q-GYwhqDo6o/mqdefault.jpg 

Hy vọng điều đó sẽ hữu ích. Thưởng thức mã hóa.

+0

Thanks a lot. Nó đã làm việc. – Mat

+0

Bạn được chào đón. –

-1

Google đã thay đổi API trên v.3 và các mã đó từ Python hoạt động chính xác! Bạn có thể sử dụng cho PHP.

def get_small_image_url(self): 
    return 'http://img.youtube.com/vi/%s/%s.jpg' % (self.video_id, random.randint(1, 3)) 

def get_hqdefault(self): 
    return 'http://i1.ytimg.com/vi/%s/hqdefault.jpg' % self.video_id 

def get_mqdefault(self): 
    return 'http://i1.ytimg.com/vi/%s/mqdefault.jpg' % self.video_id 

def get_sddefault(self): 
    return 'http://i1.ytimg.com/vi/%s/sddefault.jpg' % self.video_id 

def get_video_id(self, url): 
    link = urlparse.urlparse(url) 
    if link.hostname == 'youtu.be': 
     return link.path[1:] 
    if link.hostname in ('www.youtube.com', 'youtube.com'): 
     if link.path == '/watch': 
      state = urlparse.parse_qs(link.query) 
      return state['v'][0] 
     if link.path[:7] == '/embed/': 
      return link.path.split('/')[2] 
     if link.path[:3] == '/v/': 
      return link.path.split('/')[2] 
    return False 

def get_meta(self, video_id): 
    api_token = **'here your API_Token'** 
    url = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id=%s&key=%s' % (video_id, api_token) 
    response = json.load(urllib.urlopen(url)) 
    print response 
    context = { 
     'title': response['items'][0]['snippet']['localized']['title'], 
     'desc': response['items'][0]['snippet']['localized']['description'] 
    } 
    return context 

def save(self, force_insert=False, force_update=False, using=None, 
     update_fields=None): 
    video_id = self.get_video_id(self.url) 
    meta = self.get_meta(video_id) 
    self.video_id = video_id 
    self.title = meta['title'] 
    self.description = meta['desc'] 
    super(Videos, self).save(
     force_insert=force_insert, 
     force_update=force_update, 
     using=using, 
     update_fields=update_fields 
    ) 
1

Để có được hình ảnh chất lượng cao, bạn có thể sử dụng URL sau đó được lấy từ youtube API

$video_id = explode("?v=", $link); 
$video_id = $video_id[1]; 
$thumbnail="http://img.youtube.com/vi/".$video_id."/maxresdefault.jpg"; 
Các vấn đề liên quan