无法在laravel应用中加载FFProbe [英] Unable to load FFProbe in laravel app

查看:92
本文介绍了无法在laravel应用中加载FFProbe的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在服务器上上传带有表单的视频时遇到问题.在上传的那一刻,必须将视频的格式转换为mp4.在我的笔记本中,此转换工作正常,但是当我尝试在服务器中转换视频时,出现此错误:

i have a problem when i upload a video with a form in my server. In the moment of upload, the aplication, must to convert the format of the video to mp4. In my notebook, this convertion work fine but when i try to convert a video in the server, i receive this error:

ExecutableNotFoundException:无法加载FFProbe

ExecutableNotFoundException in FFProbeDriver.php line 50: Unable to load FFProbe

这是我的表格:

{!! Form::open(['route' =>'upload.store', 'method'=>'POST', 'files'=> true ]) !!}

<div class = "form-group" style ="display: none;">
    {!! Form::label('usuario_id', 'usuario_id:') !!}
    {!! Form::text('usuario_id', Auth::user()->id) !!}
</div>
<div class = "form-group" style ="display: none;">
    {!! Form::label('state', 'State:') !!}
    {!! Form::text('state', 0) !!}
</div>
<div class = "form-group">
    {!! Form::label('asignatura_id', 'Asignatura:') !!}
    {!! Form::select('asignatura_id', $subject) !!}
</div>
<div class = "form-group">
    {!! Form::label('name', 'Nombre:') !!}
    {!! Form::text('name', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa el nombre de la pelicula']) !!}
</div>
<div class = "form-group">
    {!! Form::label('language', 'Idioma:') !!}
    {!! Form::text('language', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa la descripcion']) !!}
</div><div class = "form-group">
    {!! Form::label('creation_date', 'Fecha Creación:') !!}
    {!! Form::text('creation_date', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa el nombre de la pelicula']) !!}
</div>
<div class = "form-group">
    {!! Form::label('description', 'Descripcion:') !!}
    {!! Form::text('description', null, ['class'=> 'form-control', 'placeholder' => 'Ingresa la descripcion']) !!}
</div>
<div class = "form-group">
    {!! Form::label('imageRef', 'Imagen:') !!}
    {!! Form::file('imageRef') !!}
</div>

<div class = "form-group">
    {!! Form::label('url', 'Video:') !!}
    {!! Form::file('url') !!}
</div>
    {!! Form::submit('Registrar',['class' =>'btn btn-primary']) !!}
    {!! Form::close() !!}

模型中的功能:

public function setUrlAttribute($url){

        $this->attributes['url'] = 'old/'.Carbon::now()->second.$url->getClientOriginalName();
        $name = Carbon::now()->second.$url->getClientOriginalName();
        \Storage::disk('local')->put($name, \File::get($url));

        $file = pathinfo($name,PATHINFO_FILENAME); 
        $extension = pathinfo($name,PATHINFO_EXTENSION);

        $ffmpeg = \FFMpeg\FFMpeg::create([
            'ffmpeg.binaries'  => '/usr/bin/ffmpeg.exe',
            'ffprobe.binaries' => '/usr/bin/ffprobe.exe',
            'timeout'          => 0, // The timeout for the underlying process
            'ffmpeg.threads'   => 12,   // The number of threads that FFMpeg should use

        ]);
        $video = $ffmpeg->open($url);
        $format = new FFMpeg\Format\Video\X264('libmp3lame', 'libx264');
        $format->on('progress', function ($video, $format, $percentage) {
            echo "$percentage % transcoded";
        });
        $format
        -> setKiloBitrate(1000)
        -> setAudioChannels(2)
        -> setAudioKiloBitrate(256);

        $video
        ->save($format, 'files/convert/'.$file.'.mp4');
        $this->attributes['url'] = $file.'.mp4';
    }

如果我在控制台中转换视频,则会收到以下消息:

if i convert the video in the console i receive this:

# ffmpeg -i 67portrait.MOV -vcodec libx264 new.mp4
FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.19. 0 /  1.19. 0
  libswscale     0.11. 0 /  0.11. 0
  libpostproc   51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '67portrait.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    date            : 2013-11-29T13:19:09+0100
    date-fra        : 2013-11-29T13:19:09+0100
  Duration: 00:00:02.08, start: 0.000000, bitrate: 926 kb/s
    Stream #0.0(und): Audio: aac, 44100 Hz, mono, s16, 60 kb/s
    Stream #0.1(und): Video: h264, yuv420p, 568x320, 863 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc
[libx264 @ 0x24bab70]broken ffmpeg default settings detected
[libx264 @ 0x24bab70]use an encoding preset (e.g. -vpre medium)
[libx264 @ 0x24bab70]preset usage: -vpre <speed> -vpre <profile>
[libx264 @ 0x24bab70]speed presets are listed in x264 --help
[libx264 @ 0x24bab70]profile is optional; x264 defaults to high
Output #0, mp4, to 'new.mp4':
    Stream #0.0(und): Video: libx264, yuv420p, 568x320, q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1(und): Audio: libfaac, 44100 Hz, mono, s16, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height

我已经尝试了很多方法来解决这个问题,但是钢铁还是发生了.

i have tried a lot of thinks to resolve this problem but steel happend.

推荐答案

我在Windows 10中遇到了同样的问题

I was getting the same problem in windows 10

PHP版本5.6.16和Framework LARAVEL 5.2

PHP version 5.6.16 and Framework LARAVEL 5.2

FFmpeg.ddl

FFmpeg.ddl

http://azzerti.free.fr/php_ffmpeg_win32.zip

Wampserver

wampserver - wamp/php/phpversion/ext

PHP.ini

extension=php_ffmpeg.dll 

希望这可以为您提供帮助

Hope this can help you

这篇关于无法在laravel应用中加载FFProbe的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆