5

I am using "php-ffmpeg/php-ffmpeg": "~0.5" with Laravel 5. I am using this library for compression and conversion of recorded videos. I will explain the scenario first.

When I execute following code from controller it works like charm.

$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');``

But when I put this code in a queue job then it fails with following error

[FFMpeg\Exception\RuntimeException]
Encoding failed [Alchemy\BinaryDriver\Exception\ExecutionFailureException]
ffmpeg failed to execute command '/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' ``

I am able to convert video in MWV and WEBM using following

$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');

What would be the issue?

Sorry for my code markup in this question, I tried lot but faild, I am new to it!

2
  • @diiN_ Thanks for markup Commented Sep 29, 2016 at 10:28
  • Unrelated to your issue, but there is no reason to declare so many x264 options: that's what the encoding presets are for. Commented Oct 3, 2016 at 15:09

1 Answer 1

6

Solved the problem.

The problem was the directory where I was storing the converted video. I gave the write access to directory and It works very well.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.