https://xe1.xpressengine.com/tip/19939773
이 팁 보고 Youtube 썸네일 되게 하려고 하는데 죽어도 안 되네요.
혹시 되시는 분들 방법 공유 가능한가요.
아래 코드는
function getThumbnail 에 추가해본 소스입니다.
----소스---
if(!$source_file)
{
$content = $this->get('content');
$target_src = null;
# try to get all Cases
if (preg_match('~(?:youtube\.com/(?:user/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})~i', $content, $match)) {
$youtubeid = $match[1];
}
# try to get some other channel codes, and fallback extractor
elseif(preg_match('~http://www.youtube.com/v/([A-Za-z0-9\-_]+).+?|embed\/([0-9A-Za-z-_]{11})|watch\?v\=([0-9A-Za-z-_]{11})|#.*/([0-9A-Za-z-_]{11})~si', $content, $match)) {
for ($i=1; $i<=4; $i++) {
if (strlen($match[$i])==11) {
$youtubeid = $match[$i];
}
}
}
else {
$youtubeid = "";
}
if ($youtubeid != "") {
$target_src = "http://img.youtube.com/vi/".$youtubeid."/0.jpg";
$tmp_file = sprintf('./files/cache/tmp/%d', md5(rand(111111,999999).$this->document_srl));
if(!is_dir('./files/cache/tmp')) FileHandler::makeDir('./files/cache/tmp');
FileHandler::getRemoteFile($target_src, $tmp_file);
if(file_exists($tmp_file))
{
$source_file = $tmp_file;
$is_tmp_file = true;
}
}
}
-------
$youtubeid 까지 잘 추출된다는 것은
따로 test.php 까지 만들어봐서 확인을 했는데요.
제 머릿속에서는 저게 분명 작동을 해야하는데 죽어도 썸네일을 안 만들어주네요...
ㅠㅠ
1.8.15 어떻게 동영상 썸네일 만들고 계신가요.
현재 동영상 썸네일 가능케해주는 애드온/컴포넌트 두 개 있습니다.
xpressengine.com 동영상 썸네일 애드온 (게시판 요약/썸네일 추가 후 작동 됨)
에디터 컴포넌트중에 LINA님이 만들어두신 (타운에도 적용되어있어요) 추가 컴포넌트 있는데요
사용하기 편리한 것은 (영상크기 바꾸거나, 영상주소만 넣어서 영상추출하는 기능이있기에)
후자네요. 하지만 전자는 지원하는 영상사이트가 몇 가지 더 많았던 것 같습니다.
결국 베스트는 후자의 컴포넌트가 기능면에서 좀 더 좋아지면 좋겠는데..
이미 완성된 애드온을 개선해주실 분이 있을지 몰라서..