通过调用FFmpeg命令使用PHP获取视频信息

 


 

首先下载FFmpeg:FFmpeg官网下载

 

Windows安装:解压缩并将bin目录加入环境变量。

Linux安装:

依次执行以下命令解压缩:

xz -d 你下载的包名.tar.xz
tar -xvf 你下载的包名.tar

完成解压后在/usr/bin下创建软链接以全局调用:

cd /usr/bin
ln -s /你的路径/ffmpeg ffmpeg
ln -s /你的路径/ffprobe ffprobe

 


 

使用PHP获取视频信息:

 

通过system()等函数执行FFmpeg命令 “ffmpeg -i”,例如:

$videoInfo = shell_exec("ffmpeg -i video.mp4 2>&1");

执行这条命令后$videoInfo中存储的就是指定视频的详细信息,内容如下:

 

我们所需的视频信息就在这一大串字符串中,然后只要用正则提取所需内容就好了。

 

获取视频时长、开始时间、码率:

preg_match("/Duration: (.*?), start: (.*?), bitrate: (\d*) kb\/s/", $info, $match);
var_dump($match);

 

获取视频编码、格式、分辨率:

preg_match("/Video: (.*?), (.*?), (.*?)[,\s]/", $info, $match);
var_dump($match);

 

获取视频内音频编码、采样率:

preg_match("/Audio: (.*), (.*) Hz/", $info, $match);
var_dump($match);

 

三个var_dump的结果形如:

posted @ 2019-12-14 13:29  何效名  阅读(1663)  评论(0编辑  收藏  举报