今天又个需求是,php中需要使用获取视频的截图来充当封面,因为我自己的使用的是php7.2版本,系统为win10系统,在网上找的一大堆,基本都已经过时了,只适配php较低的版本。基本上网上都是说要去下载一些dll库文件:
pthreadGC2.dll
php_ffmpeg.dll
avutil-49.dll
avformat-51.dll
avcodec-51.dll
可惜的是,给的链接都是已经失效的,进官网,下载的又找不到这些dll的文件,我们到官网下载的bin路径下只有这些文件:
由于官网没有很详细的说明,我去搜索了一番都没有找到window下的用法,终于,经过一番搜索资料,发现,其实有两种方式可以使用ffmpeg,以前旧的方式是使用动态库的形势,现在PHP-FFMpeg已经可以支持寻找系统path环境下的ffmpeg程序了,所以只需要将官网下载的ffmpeg.exe和ffplay.exe、ffprobe.exe放到指定文件夹中,并在系统环境变量path中添加文件夹路径,在使用PHP-FFMpeg的时候就可以自动去寻找了。
-
简单介绍下PHP-FFMpeg的使用,已thinkphp框架使用为例:
1.首先,在vender文件夹下,使用composer命令拉取代码:composer require php-ffmpeg/php-ffmpeg
2.然后就可以使用,如下:
$ffmpeg = FFMpeg\FFMpeg::create(); //实例化ffmpeg $ffmpeg->open('video.mpeg');//打开一个本地的视频文件 $frame = $video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(42));//截取视频中第几秒的截图 $frame->save('image.jpg');//保存截图