2016-09-29 115 views
0

我正在使用"php-ffmpeg/php-ffmpeg": "~0.5"与Laravel 5.我正在使用该库来压缩和转换录制的视频。我将首先解释这种情况。Laravel FFMPEG错误编码使用Laravel队列失败

当我从控制器执行以下代码时,它的作用就像魅力。

$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的\异常\的RuntimeException]
编码失败[炼金\ BinaryDriver \异常\ 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'' 'code''1''-sc_threshold''40''-flags''+ lo op''-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 /通57ece7d794e2a' '视频/转换/ kaushik.mp4'``

我能够将视频转换中如果我使用

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

,会是什么问题MWV和WebM使用以下

$video->save(new \FFMpeg\Format\Video\WMV(), 'export-wmv.wmv'); 
$video->save(new \FFMpeg\Format\Video\WebM(), 'export-webm.webm'); 

只有MP4失败?

对不起,我在这个问题的代码标记,我尝试了很多,但表面上,我是新来的!

+0

@diiN_感谢您的标记 –

+0

与您的问题无关,但没有理由声明如此多的x264选项:这就是编码预设的用途。 – LordNeckbeard

回答

0

解决了这个问题。

问题是我存储转换视频的目录。我给了对目录的写权限,并且它工作得很好。