1

这可以使用 php + ffmpeg 吗?

ffmpeg-php 能够:

能够从电影文件中抓取帧并将它们作为可以使用 PHP 的内置图像函数操作的图像返回。这对于自动为电影文件创建缩略图非常有用。

我只是不想在这样做之前下载整个文件。所以假设我想在电影的 10% 处抓取一个帧:

首先让我们获取远程文件的大小:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_URL, $url); //specify the url
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$head = curl_exec($ch);

$size = curl_getinfo($ch,CURLINFO_CONTENT_LENGTH_DOWNLOAD);

然后使用 curl 仅下载 10% 的 .flv 或 .mov 文件就很容易了。

但是使用 ffmpeg-php 的 framegrab 技巧可能不起作用,因为文件可能已损坏?

还有其他想法吗?

4

1 回答 1

0

是的,我相信这会奏效。对于视频文件,只要您确实有文件的开头,就应该可以进行这样的处理。(例如,如果您只有中间的一个文件块,它可能无法正常工作。)

在命令行上,我使用 Curl 下载了 .FLV 文件的第一部分,然后使用 ffmpeg 抓取帧,它工作正常。在 PHP 中做同样的事情也应该有效。

于 2012-01-12T18:23:27.250 回答