Recherche avancée

Médias (0)

Mot : - Tags -/page unique

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (108)

Sur d’autres sites (15686)

  • mergeToFile returns null

    4 avril 2020, par Andrew Roberts

    I am trying to use fluent ffmpeg to merge a bunch of audio files into a single file, yet I keep recieving an error that the output is null/ doesn't exist.
My code :

    



         var ffmpeg = require("fluent-ffmpeg");
     var command = ffmpeg();
     for (var inputPath of filePaths) {
        command.addInput(inputPath);
        console.log("Added path:" + inputPath);
    }
    command
        .on('error', (err) => {
            console.log('An error occurred: ' + err.message);
        })
        .on('end', () => {
            console.log('Merging finished !');
        })
        .mergeToFile(path.join(os.tmpdir(), "result.mp3"), os.tmpdir());


    



    Error code :

    



    


    Read Error : Error : ENOENT : no such file or directory, open '/tmp/result.mp3'

    


    


  • php and ffmpeg from command line in windows - not working, nothing returns

    24 août 2015, par user3725395

    I’m trying to execute ffmpeg within a website and it never output’s a file, nothing return’s, I have tried it with parameters -version and that works fine.
    I can copy and paste the main command into dos and it also works fine.

    I’m stuck, I have tried many things including shell_exec but to no avail, nothing comes back other than array(0) int(0). help ?

    //$cmd = 'C:\ffmpeg.exe ffmpeg -version';
    $cmd = "C:\ffmpeg.exe -i C:\1.mp3 -i C:\2.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 C:\out.mp3";
    echo exec($cmd, $o, $v);
    var_dump($o);
    var_dump($v);
  • JavaCV - How to handle cases where FFmpegFrameFilter.pull() returns null

    20 juin 2018, par Gensoukyou1337

    Currently I have the basic workflow of pulling frames from one video using FFmpegFrameGrabber, filtering them using an FFmpegFrameFilter, and recording them in an FFmpegFrameRecorder, as follows :

               framesLen = vCap.getLengthInFrames();
               try {
                   Frame f;
                   for(int i = 0; i < framesLen; i++) {
                       f = vCap.grab();
                       if(f != null) {
                           vFilter.push(f);
                           Frame filtered;// = vFilter.pull();
                           vRec.setFrameNumber(i);
                           while((filtered = vFilter.pull()) != null) {
                               Log.i("ffmpeg_recorder", "processing frame "+i +" "+f+" "+filtered);
                               vRec.record(filtered);
                           }
                           i++;
                       }
                   }
               } catch (FFmpegFrameGrabber.Exception e) {
                   exception = e;
               } catch (FFmpegFrameRecorder.Exception e) {
                   exception = e;
               } catch (FFmpegFrameFilter.Exception e) {
                   exception = e;
               }

               try {
                   vCap.flush();
                   vCap.release();
                   vRec.stop();
                   vRec.release();
               } catch (FFmpegFrameGrabber.Exception e) {
                   exception = e;
               } catch (FFmpegFrameRecorder.Exception e) {
                   exception = e;
               }

               if (exception != null) {
                   Log.e("ffmpeg_exception", exception.getMessage()+"");
                   return null;
               } else {
                   return outFile+"";
               }

    My current problem is that sometimes FFmpegFrameFilter.pull() would return null in that loop, ending with vRec recording a null frame, causing the final video to get stuck for a few seconds in the same frame.

    What’s happening in the FFmpegFrameFilter when its pull() returns null ? Is it the case when I try to pull() when it hasn’t finished processing the current frame ? If that’s so, should I just put an empty while loop like this ?

    ...
    while((filtered = vFilter.pull()) == null) {/*block until it's NOT null*/}
    vRec.record(filtered);
    ...

    EDIT :

    OK, my proposed solution above doesn’t work - it just goes into an infinite loop. Though I really don’t want to skip those frames.