PHPで動画のサムネイル(最初のフレーム)を取得する方法

PHPで動画の最初のフレームを取得するには、FFmpegライブラリを使用することができます。以下は、FFmpegを使用して動画の最初のフレームを取得するためのシンプルなPHPスクリプト例です:

<?php
$videoPath = 'path/to/your/video.mp4'; // 视频文件路径

// 使用 FFmpeg 获取视频第一帧的 base64 编码
$ffmpegPath = 'path/to/ffmpeg'; // FFmpeg 库路径
$cmd = "$ffmpegPath -i $videoPath -ss 00:00:01 -vframes 1 -f image2pipe -"; // 获取第一帧的命令
$imageData = shell_exec($cmd); // 执行命令,获取第一帧图像数据

// 将 base64 编码的图像数据显示出来
$imageData = base64_encode($imageData);
echo '<img src="data:image/jpeg;base64,' . $imageData . '">';
?>

上記の例では、まずビデオファイルとFFmpegライブラリのパスが指定されます。それから、FFmpegのコマンドラインツールを使用してビデオの最初のフレームの画像データを取得し、それをbase64エンコード形式でページに出力します。

FFmpegを使用する際は、FFmpegライブラリをインストールし、サーバーでシェルコマンドを実行する権限が必要です。さらに、セキュリティ上の理由から、ユーザーがアップロードした動画ファイルをチェックして検証することをお勧めします。悪意のあるコードの注入を防ぐためです。

bannerAds