ven0m Posted October 30, 2006 Share Posted October 30, 2006 Hey guys. Here's the thing, i'v decided to experiment a bit, and create a mini version of you tube, just for the sake of it, to understand how it works. Now, the basic idea, is for the script to convert video files into FLV files, and stream them. As far as i understood, the way to do that, is using FFMPEG and a command, which should be ran through CMD - ffmpeg -i file.avi file.flvThe question is - how do i get PHP script to execute it for me?As far as i understood, it's done with one of several functions - exec or system.Can anybody help me out please?I'v tried running the following script:[code]<?php $cmd = "ipconfig"; system($cmd,$return_value); ($return_value == 0) or die("returned an error: $cmd");?>[/code]But for some reason, it just wont run, causing the browser to stop at some point, while loading Quote Link to comment Share on other sites More sharing options...
effigy Posted October 30, 2006 Share Posted October 30, 2006 Without specifying an absolute path, the command may not be found. What's your OS? Try something universal such as "ls" on Unix or "dir" on Windows. Quote Link to comment Share on other sites More sharing options...
ven0m Posted October 30, 2006 Author Share Posted October 30, 2006 WINXPOk, i'v tried dir, and it worked. now i am trying to run the following[code]<?php $cmd1 = "cd F:\software\ffmpeg"; system($cmd1,$return_value1); ($return_value1 == 0) or die("returned an error: $cmd1"); $cmd2 = "F:"; system($cmd2,$return_value2); ($return_value2 == 0) or die("returned an error: $cmd2"); $cmd3 = "ffmpeg -i 002.mpg 005.flv"; system($cmd3,$return_value3); ($return_value3 == 0) or die("returned an error: $cmd3");?>[/code]It goes through the first/second parts and dies on the third. Is there a way to see what cmd returns? Quote Link to comment Share on other sites More sharing options...
effigy Posted October 30, 2006 Share Posted October 30, 2006 The second system does not see/inherit the changes of the first because it is executed in a different shell (in Unix any way). I'm not sure how Windows separates commands; in Unix it would be "cd /directory; command", which executes both commands within the same shell, and thus allows the cd to affect the command. Either do the same in Windows, or again, use full paths. Also, backslashes are special in strings--see the Windows examples in the documentation for system. Quote Link to comment Share on other sites More sharing options...
ven0m Posted October 30, 2006 Author Share Posted October 30, 2006 I am not a mighty dos pro, so my next question is - how can i run everything with one command in CMD? Quote Link to comment Share on other sites More sharing options...
mjlogan Posted October 30, 2006 Share Posted October 30, 2006 Use the single command line to run a batch file. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.