通过调用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的结果形如:

猜你喜欢

转载自www.cnblogs.com/XiaoMingBlingBling/p/12038915.html