2017-06-21 184 views
0

我下载ffmpeg并安装它作曲。当我尝试使用基本使用代码时,出现此错误。在bin文件夹中,我有ffmpeg,ffplayffprobe exe文件。另外,我为c:ffmpeg\bin设置了环境变量。在窗口上安装php ffmpeg

Fatal error: Uncaught exception
'Alchemy\BinaryDriver\Exception\ExecutableNotFoundException' with message 'Executable not found, proposed : c:\ffmpeg\bin\binffprobe.exe' in C:\xampp\htdocs\core\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\AbstractBinary.php:160 Stack trace: #0
C:\xampp\htdocs\core\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Driver\FFProbeDriver.php(48): Alchemy\BinaryDriver\AbstractBinary::load('c:\ffmpeg\bin\b...', NULL, Object(Alchemy\BinaryDriver\Configuration)) #1 C:\xampp\htdocs\core\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFProbe.php(207): FFMpeg\Driver\FFProbeDriver::create(Array, NULL) #2 C:\xampp\htdocs\core\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFMpeg.php(117): FFMpeg\FFProbe::create(Array, NULL, NULL) #3 C:\xampp\htdocs\core\demo2.php(9): FFMpeg\FFMpeg::create(Array) #4 {main} Next exception 'FFMpeg\Exception\ExecutableNotFoundException' with message 'Unable to load FFProbe' in C:\xampp\htdocs\core\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Driver\FFProbeDriver.php:50 Stack trace: #0 C: in C:\xampp\htdocs\core\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Driver\FFProbeDriver.php on line 50

这是我的php代码;

require_once 'vendor/autoload.php'; 
    $ffmpeg = \FFMpeg\FFMpeg::create([ 
'ffmpeg.binaries' => 'c:\ffmpeg\bin\binffmpeg.exe', 
'ffprobe.binaries' => 'c:\ffmpeg\bin\binffprobe.exe' 
    ]); 

    $video = $ffmpeg->open('video.mpg'); 
$video 
->filters() 
->resize(new FFMpeg\Coordinate\Dimension(320, 240)) 
->synchronize(); 
$video 
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10)) 
->save('frame.jpg'); 
$video 
->save(new FFMpeg\Format\Video\X264(), 'export-x264.mp4') 
->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv') 
->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');` 

回答

0

确保你给的二进制文件的正确路径,这个错误仅仅是因为脚本是不是能找到二进制文件,

所以也许如果M没有错你给了错误的exe文件名

只是改变这个

$ffmpeg = \FFMpeg\FFMpeg::create([ 
    'ffmpeg.binaries' => 'c:\ffmpeg\bin\binffmpeg.exe', 
    'ffprobe.binaries' => 'c:\ffmpeg\bin\binffprobe.exe' 
]); 

到这一个

$ffmpeg = \FFMpeg\FFMpeg::create([ 
    'ffmpeg.binaries' => 'c:\ffmpeg\bin\ffmpeg.exe', 
    'ffprobe.binaries' => 'c:\ffmpeg\bin\ffprobe.exe' 
]); 

你重复斌\ BIN两次,

c:\ffmpeg\bin\binffprobe.exe

好运,

这里只是一个示例代码将视频转换成MP3

require_once 'vendor/autoload.php'; 
$ffmpeg = \FFMpeg\FFMpeg::create([ 
    'ffmpeg.binaries' => 'ffmpeg\bin\ffmpeg.exe', 
    'ffprobe.binaries' => 'ffmpeg\bin\ffprobe.exe' 
]); 

$video = $ffmpeg->open('video.mp4'); 
//just in case you want to save thumbnail from video 
$video 
    ->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(300)) 
    ->save('frame.jpg'); 
//extract audio 
$video->save(new FFMpeg\Format\Audio\Mp3, 'audio.mp3');