PHP 使用FFMpeg压缩处理视频

该博客介绍了如何在PHP中利用FFmpeg获取视频信息,并进行压缩处理。通过shell_exec执行FFmpeg命令,获取视频的编码格式、分辨率、码率等信息,并根据条件调整视频帧率和分辨率,确保视频质量不超过指定限制。同时,处理视频的元数据,并提供在Linux宝塔面板上安装FFmpeg的步骤。

FFMpeg压缩处理视频

<?php

$xd_file = '原视频地址路径和名';
$file = dirname(dirname(dirname(__FILE__))) . '/' . $xd_file;
$file_data = pathinfo($file);

// PHP获取视频的所有信息
$info = shell_exec("ffprobe -v quiet -print_format json -show_format -show_streams " . $file);

//$info = shell_exec("ffmpeg -i " . $file . " 2>&1");echo'<pre>';var_dump($info);die;
//# 获取视频时长、开始时间、码率:
//if (preg_match("/Duration: (.*?), start: (.*?), bitrate: (\d*) kb\/s/", $info, $match)) {
//    $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: (.*?), (.*?\(.*?\)), (.*?)[, ]/", $info, $match)) {
//    $data['vcodec'] = $match[1]; // 视频编码格式
////    $data['vcodec'] = substr($match[1], 0, strrpos($match[1], " (")); // 视频编码格式
//    $data['vformat'] = $
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

withoutfear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值