我正在开发一个人们可以提交视频链接的网站。然后我就嵌入它。但是,我想获取视频的缩略图而不将视频保存在我的服务器中。这样当我列出视频时,我可以使用缩略图而不是嵌入所有视频。
我的服务使用 PHP。假设视频为 SWF 格式。
或标签中是否有任何内容可以让我“抓取”缩略图?或者在PHP中,有什么我可以远程获取远程视频的缩略图(或帧)吗?
任何想法?
您可以使用“ffmpeg”。通过使用PHP来调用它。
shell_exec ("ffmpeg -i \"$FILENAME.flv\" -ss 00:00:04 -f image2 \"$FILENAME.jpg\"");
很遗憾,我还没有测试过,所以先尝试一下。
EDIT: 只是为了好玩,我把它变成了一个函数。这里是:
<?php
function GetThumbnailFileName($FileName, $ScreenShortSecond = 10) {
$VDOLastModifiedDate = filemtime($FileName);
$Thumbnail_FileName = sprintf("%s-(%s::%02d).jpg", $FileName, $VDOLastModifiedDate, $ScreenShortSecond);
if (!file_exists($Thumbnail_FileName)) {
$FFMPEG_Command = sprintf(
"ffmpeg -i \"%s\" -y -ss \"00:00:%02d\" -f image2 \"%s\" > /dev/null 2>&1",
$FileName, 0 + $ScreenShortSecond, $Thumbnail_FileName
);
system($FFMPEG_Command);
}
if (!file_exists($Thumbnail_FileName))
return null;
return $Thumbnail_FileName;
}
$FileName = "Test.flv";
$Thumbnail = GetThumbnailFileName($FileName);
if ($Thumbnail != null)
echo "Thumbnail file is: \"$Thumbnail\"\n";
else echo "Fail creating a Thumbnail of \"$FileName\".";
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)