php-ffmpeg运用 合并视频,转码视频
2024-01-09 15:26:10
下载
添加环境变量
合并视频
public function test_that_true_is_true(): void
{
ini_set('memory_limit',-1); //没有内存限制
set_time_limit(0);//不限制执行时间
//ffmpeg配置
$path = [
'ffmpeg.binaries' => 'D:\soft\ffmpeg\bin/ffmpeg.exe',
'ffprobe.binaries' => 'D:\soft\ffmpeg\bin/ffprobe.exe',
'timeout' => 3600,//基础进程的超时
'ffmpeg.threads' => 12//FFMpeg应使用的线程数
];
$video1Path = 'C:\Users\DELL\Desktop\我的工作目录\猪獾\视频/1out.mp4';
$video2Path = 'C:\Users\DELL\Desktop\我的工作目录\猪獾\视频/2out.mp4';
$outputPath = 'C:\Users\DELL\Desktop\我的工作目录\猪獾\视频/result.mp4';
// 创建FFMpeg对象
$ffmpeg = FFMpeg::create($path);
// 打开第一个视频文件
$video1 = $ffmpeg->open($video1Path);
// 打开第二个视频文件
// $video2 = $ffmpeg->open($video2Path);
// 合并视频
$video1->concat([$video2Path,$video2Path])
->saveFromSameCodecs($outputPath, TRUE);
// $video1->save(new X264(),$outputPath);
$this->assertTrue(true);
}
转码
/**
* 转码
* @return void
*/
public function testFormat(){
$path = [
'ffmpeg.binaries' => 'D:\soft\ffmpeg\bin/ffmpeg.exe',
'ffprobe.binaries' => 'D:\soft\ffmpeg\bin/ffprobe.exe',
'timeout' => 3600,//基础进程的超时
'ffmpeg.threads' => 12//FFMpeg应使用的线程数
];
$video1Path = 'C:\Users\DELL\Desktop\我的工作目录\猪獾\视频/1.mp4';
$video2Path = 'C:\Users\DELL\Desktop\我的工作目录\猪獾\视频/2.mp4';
$outputPath = 'C:\Users\DELL\Desktop\我的工作目录\猪獾\视频/result.mp4';
// 创建FFMpeg对象
$ffmpeg = FFMpeg::create($path);
// 输入视频文件路径
$inputVideo = $ffmpeg->open($video2Path);
// 转码并设置输出路径和格式
$outputVideo = 'C:\Users\DELL\Desktop\我的工作目录\猪獾\视频/2out.mp4';
$inputVideo->save(new X264(), $outputVideo);
}
文章来源:https://blog.csdn.net/qq_22823581/article/details/135390593
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!