我正在创建一个视频广播网站,我需要知道如何从视频中创建缩略图。请帮忙。任何建议或参考将不胜感激
问问题
5553 次
4 回答
3
这是从视频中间抓取一帧的片段。这是我周围的旧代码,所以我确信它可以被简化。请务必调整第 1 行中的 ffmpeg 路径以匹配您的安装位置。
$output = shell_exec("/usr/local/bin/ffmpeg -i {$path}");
preg_match('/Duration: ([0-9]{2}):([0-9]{2}):([^ ,])+/', $output, $matches);
$time = str_replace("Duration: ", "", $matches[0]);
$time_breakdown = explode(":", $time);
$total_seconds = round(($time_breakdown[0]*60*60) + ($time_breakdown[1]*60) + $time_breakdown[2]);
shell_exec("/usr/local/bin/ffmpeg -y -i {$input_filepath} -f mjpeg -vframes 1 -ss " . ($total_seconds / 2) . " -s {$w}x{$h} {$output_filepath}";
于 2009-09-24T05:08:41.270 回答
1
我知道这个问题很老了。但是当我在寻找类似的解决方案时遇到了它。这是我的发现。我希望它可以帮助别人。
html5 + JS。这是我关于该主题的演示/幻灯片。
HTML 到 Canvas 库没有走这条路,但也许它会起作用。
于 2012-04-07T16:14:01.213 回答
0
我使用了 ffmpeg,使用 exec() 启动任务,并在命令中附加一个 & 符号,以便 php 脚本可以继续。如果我想让 ffmpeg 先完成,我没有 & 符号。
来自常见问题解答:“如何将电影编码为单张图片?” http://ffmpeg.org/faq.html#SEC15
ffmpeg -i movie.mpg movie%d.jpg
这会生成许多图像。
来自文档:“视频和音频文件格式转换” http://ffmpeg.org/ffmpeg-doc.html#SEC5
ffmpeg -i foo.avi -r 1 -s WxH -f image2 -vframes 1 foo.jpeg
将 W & H 替换为宽度/高度(请参阅http://ffmpeg.org/ffmpeg-doc.html#SEC9),将 vframes 替换为所需的帧数,如果您正在制作多个图像,则将 %d 添加到文件名中以获取序列号. 要抓取视频中的某个点,请使用 -ss(请参阅http://ffmpeg.org/ffmpeg-doc.html#SEC8)
于 2009-09-24T05:13:29.373 回答