php - 从视频文件生成预览图像?

标签 php video thumbnails php4

有没有办法在 PHP 中给定一个视频文件(.mov.mp4)来生成缩略图预览?

最佳答案

解决方案 #1(较旧)(不推荐)

首先安装ffmpeg-php项目(http://ffmpeg-php.sourceforge.net/)

然后你可以使用这个简单的代码:

<?php
$frame = 10;
$movie = 'test.mp4';
$thumbnail = 'thumbnail.png';

$mov = new ffmpeg_movie($movie);
$frame = $mov->getFrame($frame);
if ($frame) {
    $gd_image = $frame->toGDImage();
    if ($gd_image) {
        imagepng($gd_image, $thumbnail);
        imagedestroy($gd_image);
        echo '<img src="'.$thumbnail.'">';
    }
}
?>

描述:这个项目使用二进制扩展名 .so 文件,它很旧,最后更新是 2008 年。所以,可能不适用于较新版本的 FFMpegPHP


解决方案 #2(2018 年更新)(推荐)

首先安装PHP-FFMpeg项目(https://github.com/PHP-FFMpeg/PHP-FFMpeg)
(只需运行安装:composer require php-ffmpeg/php-ffmpeg)

然后你可以使用这个简单的代码:

<?php
require 'vendor/autoload.php';

$sec = 10;
$movie = 'test.mp4';
$thumbnail = 'thumbnail.png';

$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open($movie);
$frame = $video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds($sec));
$frame->save($thumbnail);
echo '<img src="'.$thumbnail.'">';

描述:这是一个更新、更现代的项目,适用于最新版本的 FFMpegPHP。请注意,proc_open() PHP 函数需要它。

关于php - 从视频文件生成预览图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2043007/

相关文章:

swift - 快速在 UICollectionView 上添加 Youtube 缩略图

php - date_default_timezone_set 不起作用,为什么?

php - 如何检查 php 中单个 mysql 字段是否为空

FireFox Video 发出警告,但视频确实有效?

android - Chrome数据压缩和文件上传

CSS 下拉菜单 - 如何添加缩略图

javascript - 使用 ajax 和 jquery serialize() 的 POST 请求丢失值

php - 将数据传送到移动设备的最轻/最快的方式是什么?

html - 如何在页面中嵌入 YouTube 视频并防止 URL 窃取

Android:如何获取应用程序私有(private)文件的视频缩略图?