PHPビデオファイル(.mov
、.mp4
)サムネイル画像のプレビューを生成しますか?
最初に_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年でした。 FFMpeg
またはPHP
の新しいバージョン。
最初に_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.'">';
_
説明:これはより新しくよりモダンなプロジェクトであり、FFMpeg
およびPHP
の最新バージョンで動作します。 proc_open()
PHP function)が必要であることに注意してください。
次の2つの方法があります。
人気のある ffmpeg のようなコマンドラインツールを使用しますが、ほとんどの場合、独自のサーバー(または非常に素晴らしいサーバー管理者/ホスティング会社)
「 screenshoot 」プラグインを使用して、 LongTail Video player これにより、手動のスクリーンショットを作成し、サーバー側のスクリプトに送信できます。