PHP利用ffmpeg获取音频、视频的详细信息

2024-03-01 0 740
目录
  • 一、目的
  • 二、下载并安装ffmpeg
  • 三、PHP代码
  • 四、运行结果

一、目的

使用PHP利用ffmpeg获取音频、视频的详细信息,音视频总时长、码率、视频分辨率、音频编码、音频采样频率、实际播放时间、文件大小。

二、下载并安装ffmpeg

1、下载地址:https://www.ffmpeg.org/

2、解压放到项目下,文件夹下有三个exe

PHP利用ffmpeg获取音频、视频的详细信息

三、PHP代码

说明:ffmpeg 更换成自己实际存放地址;

getVideoInfo()方法有三个判断,分别是获取音视频基本信息(音视频时长、音视频秒数、开始时间、码率等),视频信息(视频编码、视频格式、视频分辨率、视频尺寸),音频信息(音频编码、音频采样频率)、音视频文件大小

/**
* 获取音视频基本信息
*/
public function getVideoInfo($file)
{
$command = sprintf(\’E:/phpstudy_pro/WWW/test/public/ffmpeg/bin/ffmpeg -i \”%s\” 2>&1\’, $file); //你的ffmpeg路径

ob_start();
passthru($command);
$info = ob_get_contents();
ob_end_clean();

$data = array();
if (preg_match(\”/Duration: (.*?), start: (.*?), bitrate: (\\d*) kb\\/s/\”, $info, $match)) {
$data[\’duration\’] = $match[1]; //播放时间
$arr_duration = explode(\’:\’, $match[1]);
$data[\’seconds\’] = $arr_duration[0] * 3600 + $arr_duration[1] * 60 + $arr_duration[2]; //转换播放时间为秒数
$data[\’start\’] = $match[2]; //开始时间
$data[\’bitrate\’] = $match[3]; //码率(kb)
}
if (preg_match(\”/Video: (.*?), (.*?), (.*?)[,\\s]/\”, $info, $match)) {
$data[\’vcodec\’] = $match[1]; //视频编码格式
$data[\’vformat\’] = $match[2]; //视频格式
$data[\’resolution\’] = $match[3]; //视频分辨率
$arr_resolution = explode(\’x\’, $match[3]);
$data[\’width\’] = $arr_resolution[0];
$data[\’height\’] = $arr_resolution[1];
}
if (preg_match(\”/Audio: (\\w*), (\\d*) Hz/\”, $info, $match)) {
$data[\’acodec\’] = $match[1]; //音频编码
$data[\’asamplerate\’] = $match[2]; //音频采样频率
}
if (isset($data[\’seconds\’]) && isset($data[\’start\’])) {
$data[\’play_time\’] = $data[\’seconds\’] + $data[\’start\’]; //实际播放时间
}
$data[\’size\’] = filesize($file); //文件大小
return $data;
}

/**
* 调用
*/
public function video()
{
// 定义视频路径
$videoPath = \’E:/phpstudy_pro/WWW/test/public/uploads/8秒.mp4\’;
$video_info = $this->getVideoInfo($videoPath);
echo \'<pre>\’;
print_r($video_info);
}

四、运行结果

PHP利用ffmpeg获取音频、视频的详细信息

以上就是PHP利用ffmpeg获取音频、视频的详细信息的详细内容,更多关于PHP ffmpeg获取音频信息的资料请关注悠久资源网其它相关文章!

您可能感兴趣的文章:

  • php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息
  • php如何利用ffmpeg获取视频第一帧为缩略图
  • PHP结合Ffmpeg快速搭建流媒体服务的实践记录
  • PHP调用ffmpeg对视频截图并拼接脚本
  • PHP基于ffmpeg实现转换视频,截图及生成缩略图的方法

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 PHP PHP利用ffmpeg获取音频、视频的详细信息 https://www.u-9.cn/biancheng/php/181759.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务