Laravel FFMPEG错误:使用Laravel队列进行编码失败。

5
我将使用Laravel 5中的"php-ffmpeg/php-ffmpeg": "~0.5"库。我使用此库来压缩和转换录制的视频。首先,我将解释一下这种情况。
当我从控制器执行以下代码时,它能够完美运行。
$ffmpeg = FFMpeg::create();
$video = $ffmpeg->open(public_path()."/videos/harsh.webm");
$video
    ->filters()
    ->resize(new \FFMpeg\Coordinate\Dimension(640, 480))
    ->synchronize();
$video
    ->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds(10))
    ->save(public_path().'/videos/converted/kaushik.jpg');
$format=new \FFMpeg\Format\Video\X264('libmp3lame', 'libx264'); 
$format-> setKiloBitrate(300);
$video->save($format,public_path().'videos/converted/kaushik.mp4');``

但是,当我将此代码放入队列作业时,它就会失败,并显示以下错误:
[FFMpeg\Exception\RuntimeException] 编码失败 [Alchemy\BinaryDriver\Exception\ExecutionFailureException] ffmpeg 无法执行命令 '/usr/bin/ffmpeg' '-y' '-i' '/opt/lampp/htdocs/candidate/public/videos/harsh.webm' '-async' '1' '-metadata:s:v:0 ' 'start_time=0' '-s' '640x480' '-vcodec' 'libx264' '-acodec' 'libmp3lame' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '-pass' '1' '-passlogfile' '/tmp/ffmpeg-passes57ece7d794da4wdw13/pass-57ece7d794e2a' 'videos/converted/kaushik.mp4'
我能够使用以下方法将视频转换为MWV和WEBM格式:
$video->save(new \FFMpeg\Format\Video\WMV(), 'export-wmv.wmv');
$video->save(new \FFMpeg\Format\Video\WebM(), 'export-webm.webm');

only mp4 fails if I use the

$format=new \FFMpeg\Format\Video\X264('libmp3lame', 'libx264');

会有什么问题?

抱歉,我在这个问题中使用了代码标记,我尝试了很多次但失败了,我是新手!


@diiN_ 感谢你的标记。 - Vaibhavraj S. Roham
与您的问题无关,但是没有理由声明那么多x264选项:这就是编码预设的作用。 - llogan
1个回答

6

问题已解决。

问题出在我存储转换后视频的目录上。我给了该目录写入权限,现在一切都运行得很好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接