【问题标题】:Creating a thumbnail image from video by ffmpeg通过 ffmpeg 从视频创建缩略图
【发布时间】:2013-12-20 18:28:27
【问题描述】:
$video_name    = $_FILES['video_file']['name'];

$video_tmp_name    = $_FILES['video_file']['tmp_name'];

$video_size    = $_FILES['video_file']['size'];
// where ffmpeg is located  
$ffmpeg = 'C:\\ffmpeg\bin\\ffmepg';  
//video dir  
$video = $video_tmp_name;  
//where to save the image  
$image = 'video/image.jpg';  
//time to take screenshot at  
$interval = 5;  
//screenshot size  
$size = '640x480';  
//ffmpeg command  
echo $cmd = $ffmpeg ."-i". $video ." -an -ss".$interval."  -s ".$size . "-vcodec mjpeg ".$image ." 2>&1";               
shell_exec($cmd);

我写下这段代码。但它不会从视频中创建任何缩略图。我不明白这段代码有什么问题。

【问题讨论】:

  • 总是很紧急...您应该包含完整的 ffmpeg 控制台输出,以便我们了解为什么它可能不会产生任何输出图像。

标签: php ffmpeg thumbnails


【解决方案1】:

您的代码可能是特定于 Linux 的(“2>&!”)部分。

在 Windows 上,我成功使用了这个选项:

 ffmpeg -y -i klip.flv -f mjpeg -ss 10 -vframes 1 160x120 thumb.jpg

【讨论】:

  • 感谢您的建议。我也使用了你的代码。但它仍然没有创建。
  • 检查 Linux/Vagrant 框。不幸的是,Windows 上的 PHP 不能很好地执行进程。 :(
【解决方案2】:

这是用于视频缩略图的 c# 代码 sn-p。

fullVideoPath=@"C:\Users\Madan\Desktop\wpflib\10.wmv"
thumbnailPath=@ "C:\Users\Madan\Desktop\wpflib\Thumbnail\10.jpg"
ffmpeg = new Process();
ffmpeg.StartInfo.Arguments = " -i " + "\"" + fullVideoPath+ "\"" + " -ss 00:00:02 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 200x200 " + "\"" + thumbnailPath+ "\"";                
ffmpeg.StartInfo.FileName = ffmepgPath;
ffmpeg.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
var status = ffmpeg.Start();

使用它可能会对你有所帮助。我已经使用以下扩展对其进行了测试

{ ".wmv", ".avi", ".mpg", ".mpeg", ".mp4", ".mkv", ".flv", ".mov", ".vob", ".3gp" }

【讨论】:

    猜你喜欢
    • 2015-01-24
    • 2011-04-24
    • 2017-12-27
    • 2012-02-24
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 2016-12-09
    相关资源
    最近更新 更多