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 : 비디오 관련 초강력 모듈이지만 설정이 복잡.

- 이상입니다.

댓글

최근에 업데이트된 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의 업그레이드 후 관리자 설정화면에서 나오는 젠드 관련 경고가 사라집니다.

RSS로 받은 유튜브

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

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

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

익명님. 너무 어렵게

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

관련 모듈이 너무

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