1

I have a video upload script in php where I exec the following command:

exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameIn.".mp4 ".$folder."/".$filenameOut.".flv 2>&1", $output);

And the result flv is correct.

But when I execute the same command with mp4 output

exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameIn.".mp4 ".$folder."/".$filenameOut.".mp4 2>&1", $output);

the output has 0 bytes.

I also tried

exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameIn.".mp4 -vcodec libx264 -crf 20 ".$folder."/".$filenameOut.".mp4");

but the output video still have 0 bytes.

I don't know why. Any help?

EDIT:

If I convert from mp4 to mkv, the mkv is fine. If I get that mkv and reconvert to mp4, the final mp4 is 0 bytes.

For example:

exec("/usr/bin/ffmpeg -i ".$folder."/".$filename." ".$folder."/".$filenameOut.".mkv 2>&1", $output);
exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameOut.".mkv ".$folder."/".$filename.".mp4 2>&1", $output);

In this case, first mp4 has 1210409 bytes, the resultant mkv has 816018 bytes, and the final mp4 has 0 bytes. The same thing with mp4 -> flv -> mp4.

2
  • 1
    don't post screenshots. copy and paste the text. of the output. – cas Nov 26 '15 at 21:49
  • Don't run it via PHP. Just run the ffmpeg command in cli. Once you get it working then integrate it in your PHP scripts. We can't give any answers without the complete console output from your ffmpeg commands. – llogan Dec 5 '15 at 0:39
1

When you see a problem with software you try to launch with php, take your command and launch it directly in a console/terminal and don't forget to replace all variables by the good information. Now watch what happening and if you can't fix the error just copy past the log and someone can help you

For ffmpeg I recommend removing this part 2>&1", $output to see what is happening in the console

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.