YouTube 동영상을 최신글 썸네일 형태로 출력하기

YouTube 동영상을 최신글 썸네일 형태로 출력하기.

유튜브 동영상을 URL만 입력하면 컨텐츠로 작성 가능한 모듈은, 여러가지가 있지만 그 중에서도 emfield 가 제일 좋았었다.

* 추가 : 2010년 중반에 이 모듈이 대폭적으로 변경되면서, 유튜브 등의 3rd Party 모듈이 별도 분리됐다.
* 추가 : 2012년 1월 기준, 작년부터 본 모듈은 PHP 버전에 지나치게 민감해져 오작동이 발생하는 경우가 늘어났다. PHP 5.1 보다는 5.2에서 사용하기를 권한다.

emfield (Embedded Media Field의 약자)를 이용한 예는 http://4kg.net 사이트에 있다.

설정법을 간단하게 기록해 둔다.

* 주의 : 아래 설명은 이전 버전의 설명이 포함돼 있다. 참고용으로만... 헛갈릴 수 있다.

1. emfield 모듈을 다운로드/설치/활성화한다.
http://drupal.org/project/emfield

관리 > 사이트 구성 > 모듈 화면에서 활성화해야 할 모듈로는,
Embedded Media Field 모듈과
Embedded Media Thumbnail 과 Embedded Video Field 모듈이 있다.
이 셋 다 CCK(Content Construction Kit) 분류의 세부 항목으로 포함돼 있다.

* 수정 : 2010년 중반부터는 각각의 3rd Party 모듈을 별도 설치/활성화해야 한다.

2. 관리 페이지 admin/content/emfield 에 있는,
YouTube configuration 항목을 적절히 메꾼다.

이를 위해서는 YouTube API 관련해서 유튜브에 아이디가 있어야 한다.
그리고 유튜브 아이디를 이미 가지고 있는 사람은,
http://www.youtube.com/my_profile_dev 에서 바로 API Key를 만들 수 있다.

참고로, YouTube API Key:에는 위 주소에 보이는 Developer ID를 입력하면 되고
YouTube API Secret:에는 위 주소에 보이는 Secret: 항목을 복사해서 넣으면 된다.

* 수정 : 유튜브 계정이 없어도 썸네일 등의 생성이 가능하다.

3. 관리 > 컨텐츠 관리 > 컨텐츠 타입 > 새로운 컨텐츠 타입을 추가하되,
이름은 "YouTube Video"로 컨텐츠 타입명은 "youtube_video" 로 설정/저장한다.

4. 저장한 "YouTube Video" 컨텐츠 타입의 옆에 있는 "편집" 링크를 눌러
"YouTube Video" 컨텐츠 타입에 있는 Field 추가 탭으로 가서,
유튜브 동영상 관련 항목을 선택/저장한다.

이때 Create new field의 이름에는 적절한 이름(예: 동영상 혹은 유튜브 비디오 등)을 넣고,
Field type: 에는 Embedded Video - 3rd Party Video 를 선택한다.

저장한 후에는, Providers Supported 항목이 보이는데 이 곳에서는 YouTube를 체크한다.
또한 Embedded Custom Thumbnails 에서는 Allow custom thumbnails for this field
항목을 반드시 체크하기 바란다! ***중요***

제일 아래 쪽에 있는 Data settings 항목의 "필수"도 체크하기 바란다.
동영상 주소를 입력하지 않으면 썸네일이든 동영상이든 나타날 리가 없다.

중간중간에 보이는 Thumbnail Image Directory 는 기록하지 않아도 무방하다.

5. 새로운 컨텐츠 만들기에서 "YouTube Video" 타입을 선택하되,
원하는 유튜브 동영상의 URL을 입력/저장한다.
이때, 썸네일 이미지를 올리는 파일 입력란은 무시해도 저절로 Thumbnail Image가 추출된다!

6. 관리 > 사이트 구성 > Views 에서 뷰를 하나 생성(Add)하되,
Page 보다는 Block 형태로 하기 위해 Provide Block 를 체크한다.
뷰 타입은 Bonus : Grid View가 좋겠다(이는 views_bonus 모듈을 설치/활성화해야 한다).
필드 항목에는 Node 제목과 Embeded Video를 선택/추가한다. *** 중요 ***
또한 Embeded Video의 세부 옵션에서 Thumbnail 이미지를 선택한다.
(2009년 3월 추가. 중요! 드루팔 6.x에서의 Views 2는
필드 항목에 Embeded Video 라고 나오지 않는다. 해당 3rd Party
이름이 나온다. 예를 들어 field_field_동영상서비스명_video_url 와
같은 항목이 보이는데 이를 선택하면 썸네일 이미지도 출력하는 메뉴가 있다)

참고로, 임베이드 비디오 항목이 Views의 Field에 나오는 이유는 emfield 모듈을 설치/활성화했기 때문이다.

마지막으로 Views 에서의 필터로는 is one of "YouTube Video" 를 선택한다.

7. 뷰를 저장한 후에 관리 > 사이트 구성 > 블럭 화면에서
위에서 정의한 썸네일 관련 Views를 블럭으로 호출해 보면,
유튜브 동영상의 썸네일 이미지가 잘 보이고,
다시 이를 클릭하면 드루팔 노드 형태로 플레이 가능한 동영상이 나타난다.

참고) 위와 비슷한 기능을 가진 모듈들 소개(그러나 추천은 아직)
* video_cck 모듈 : 썸네일 추출이 시원찮았다.
* video : 비디오 관련 핵심 모듈이지만 썸네일이 잘 안됨.
* googtube : 역시나 썸네일 추출이 시원찮았다.
* flashvideo : 비디오 관련 초강력 모듈이지만 설정이 복잡.

- 이상입니다.

Your rating: None 평균 : 5 (4 votes)

댓글

관련 모듈이 너무

관련 모듈이 너무 많아서 선별하느라 고생했습니다...

익명님. 너무 어렵게

익명님. 너무 어렵게 부정적으로 보지 않으셨으면 합니다.
Embedded Media Field는 여러 동영상 사이트를 지원하지만,
지원하지 않는 사이트도 화면에만 보인다면 Custom URL 형태를 이용해서 손쉽게
노드로 만들 수 있는 기능을 지원합니다. 공부가 필요한 것이 흠이기는 합니다만 자유도가 높습니다.
아래 주소에 emfield 관련 공식 매뉴얼이 있습니다. 영문이지만 내용이 길지 않습니다.
http://drupal.org/node/184346

RSS로 받은 유튜브

RSS로 받은 유튜브 동영상을 바로 임베이드 형태로 본문에 넣으려면,
다음과 같은 2가지 정도의 방법이 있다.

1. http://drupal.org/project/googtube 모듈을 이용하는 방법.

2. 또는 emfield와 feedapi mapping 을 이용하는 방법이 있다.
이 방법을 더 권장한다.

최근에 업데이트된 emfield 에서는 각각의 3rd

최근에 업데이트된 emfield 에서는 각각의 3rd Party 동영상 설정을 직접 하지 않게 됐습니다.

예를 들어 유튜브 동영상을 입수하려면, http://drupal.org/project/media_youtube 같은 모듈을 별도로 설치/활성화해야 합니다.

이때 젠드 모듈도 필요로 하는 것 같아 메모해 둡니다.

1. http://framework.zend.com/download/gdata
에서 최신판 젠드 모듈을 다운로드 합니다.

2. 드루팔 sites/all/libraries 폴더에 1의 압축 해제 폴더 중 library/Zend를 업로드 합니다. 결과적으로 sites/all/libraries/Zend 폴더로 업로드 됩니다.

이렇게 하면 emfield의 업그레이드 후 관리자 설정화면에서 나오는 젠드 관련 경고가 사라집니다.