Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php ffmpeg中提高ffmpeg添加水印的速度?_Php_Ffmpeg_Ffmpeg Php - Fatal编程技术网

如何在php ffmpeg中提高ffmpeg添加水印的速度?

如何在php ffmpeg中提高ffmpeg添加水印的速度?,php,ffmpeg,ffmpeg-php,Php,Ffmpeg,Ffmpeg Php,我正在尝试在视频中添加水印,持续时间为15-35秒,大小为8-10 MB。该过程花费的时间超过预期,从30-40秒不等。这是我的密码: $ffmpeg=ffmpeg\ffmpeg::创建(数组)( 'ffmpeg.binaries'=>ffmpeg_lib, 'ffprobe.binaries'=>ffprobe_lib, 'timeout'=>3600,//基础进程的超时 'ffmpeg.threads'=>12,//ffmpeg应该使用的线程数 ),空); $ffmpeg_string=f

我正在尝试在视频中添加水印,持续时间为15-35秒,大小为8-10 MB。该过程花费的时间超过预期,从30-40秒不等。这是我的密码:

$ffmpeg=ffmpeg\ffmpeg::创建(数组)(
'ffmpeg.binaries'=>ffmpeg_lib,
'ffprobe.binaries'=>ffprobe_lib,
'timeout'=>3600,//基础进程的超时
'ffmpeg.threads'=>12,//ffmpeg应该使用的线程数
),空);
$ffmpeg_string=ffprobe_lib;
$tempFile=rand().time();
$outputFile='tmp/'.$tempFile'.mp4';
$video=$ffmpeg->open($videoURL);
$watermarkPath=水印路径;
$video
->过滤器()
->水印($watermarkPath,数组)(
'位置'=>'绝对',
'x'=>20,
'y'=>10,
));
$text=“@”。$username;
$command=“text=”$text”:fontcolor=white:fontfile=OpenSans-Bold.ttf:fontsize=18:x=20:y=70:“;
$format=new FFMpeg\format\Video\X264();
$format->setAudioCodec(“aac”);
尝试
{
$video->filters()->custom(“drawtext=$command”);
$video->save($format,$outputFile);
$array_out=array();
$array_out[]=
排列(
“下载url”=>检查视频url($outputFile)
);
$output=array(“code”=>“200”,“msg”=>$array\u out);
print_r(json_encode($output,true));

}
如果输入音频已经是AAC,则不重新编码音频。使用更快的。但是,我不知道如何使用ffmpeg php包装器来实现这一点。由于音频已经是acc格式,所以我完成了流复制部分。在ffmpeg php文档中找不到有关预设部分的信息。