【发布时间】:2011-08-08 13:49:42
【问题描述】:
我想制作视频的缩略图并将视频转换为 flv 或 mp4。 我正在使用 windows7 64bit, wamp, yii 1.1.7
我想在文件上传时制作缩略图并将它们存储在缩略图目录中以供以后使用
任何帮助、建议或替代方案
【问题讨论】:
-
您已经尝试过哪些不起作用的方法?
标签: video ffmpeg wamp yii thumbnails
我想制作视频的缩略图并将视频转换为 flv 或 mp4。 我正在使用 windows7 64bit, wamp, yii 1.1.7
我想在文件上传时制作缩略图并将它们存储在缩略图目录中以供以后使用
任何帮助、建议或替代方案
【问题讨论】:
标签: video ffmpeg wamp yii thumbnails
我用 yii 和 LAMP 做了类似的事情。我使用 Yii uploadify 扩展来上传文件。上传完成后,我将文件移动到控制器中我想要的位置。 PHP 控制器执行一个 ffmpeg 进程来查找文件的持续时间。然后它使用 ffmpeg 命令从持续时间的中间生成缩略图。最后,我使用分段器和 ffmpeg 命令创建 ts 分段流以支持 iOS 流。所有这些都可以自动化。
【讨论】:
运行 ffmpeg 命令是最低要求:
public function execFFmpegCommand($command)
{
$sCommand = CEnvConfig::$FFmpegPath." ".$command;
$buffer = CCommon::runExternal($sCommand);
return $buffer;
}
public static function runExternal($cmd)
{
$cmd = "{$cmd} 2>&1";
exec($cmd, $buffer);
$buffer = implode("\r\n", $buffer);
return $buffer;
}
要从视频中获取静止图像(缩略图),您需要使用 FFMPlayer:
$sCommand = $videoFileURI." -ss ".$pointerTimeCode." -frames ".$frames." -vo jpeg:quality=100:optimize=0:smooth=0:noprogressive:nobaseline";
or
$sCommand = $videoFileURI." -ss ".$pointerTimeCode." -frames ".$frames." -vo png:z=0";
public function execMPlayerCommand($command)
{
$sCommand = CEnvConfig::$MPlayerPath." -nosound ".$command;
$buffer = CCommon::runExternal($sCommand);
return $buffer;
}
【讨论】: