【PHP】PHP利用ffmreg获取音频、视频的详细信息

目录

一、目的

二、下载并安装ffmreg

三、PHP代码

四、运行结果


一、目的

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

二、下载并安装ffmreg

1、下载地址:https://download.csdn.net/download/qq_25285531/88750220

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

三、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);
}

四、运行结果

相关推荐

  1. FFmpeg基础知识详解音频视频处理强大工具

    2024-01-17 11:50:06       15 阅读
  2. ffmpeg合并视频音频

    2024-01-17 11:50:06       43 阅读
  3. FFMpeg 获取音频音量、提高音量

    2024-01-17 11:50:06       18 阅读
  4. ffmpeg视频,音频,图片支持格式转换

    2024-01-17 11:50:06       7 阅读
  5. [ffmpeg] 获取编译配置信息

    2024-01-17 11:50:06       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-17 11:50:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-17 11:50:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-17 11:50:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-17 11:50:06       20 阅读

热门阅读

  1. JWT详解

    2024-01-17 11:50:06       31 阅读
  2. nginx配置中关于try_file的一些问题

    2024-01-17 11:50:06       30 阅读
  3. python-pip命令学习-改为国内镜像源

    2024-01-17 11:50:06       31 阅读
  4. Hive架构设计

    2024-01-17 11:50:06       32 阅读
  5. Hive调优一文打尽

    2024-01-17 11:50:06       31 阅读
  6. Hive条件函数详细讲解

    2024-01-17 11:50:06       31 阅读
  7. Hive日期函数详细讲解

    2024-01-17 11:50:06       26 阅读
  8. hive除数取整

    2024-01-17 11:50:06       34 阅读
  9. 日常美食DIY教程之三,鱼香杏鲍菇的食材与做法

    2024-01-17 11:50:06       27 阅读
  10. RabbitMQ如何保证消息不丢失?

    2024-01-17 11:50:06       35 阅读
  11. 2023科技风暴:AI璀璨之旅与算法备案护航

    2024-01-17 11:50:06       34 阅读
  12. PHP 数据类型面试题

    2024-01-17 11:50:06       31 阅读