2016-05-19 1 views
1

dans le même processus PHP J'essaie d'ouvrir un fichier qui a été manipulé et enregistré, puis j'essaie de l'ouvrir avec un nouveau FFMpeg \ Vidéo. Par exemple, dans le même processus:Essayer d'ouvrir le fichier avec PHP-FFMpeg après qu'il a été codé une fois

Open -> original.MOV 
    Manipulate & save to -> new.mp4 
    Open -> new.mp4 

Cependant quand je suis en train d'ouvrir le fichier manipulé je reçois cette exception InvalidArgumentException:

InvalidArgumentException: Unable to detect file format, only audio and video supported 

Il est jeté par FFmpeg :: open() après il ne pouvait pas détecter qu'il s'agit d'un flux vidéo ou audio.

FFMPEG :: open()

public function open($pathfile) 
{ 
    if (null === $streams = $this->ffprobe->streams($pathfile)) { 
     throw new RuntimeException(sprintf('Unable to probe "%s".', $pathfile)); 
    } 

    if (0 < count($streams->videos())) { 
     return new Video($pathfile, $this->driver, $this->ffprobe); 
    } elseif (0 < count($streams->audios())) { 
     return new Audio($pathfile, $this->driver, $this->ffprobe); 
    } 

    throw new InvalidArgumentException('Unable to detect file format, only audio and video supported'); 
} 

Les filtres I appliqués à la vidéo sont muets audio et SpeedUp (SETPTS).

Alors je me demande pourquoi FFMpeg ne le reconnaît pas comme une vidéo?

+0

Quelle commande ffmpeg a été appliquée au MOV? – Mulvya

+0

Fondamentalement, si je devais le convertir en ffmpeg ce serait probablement: ffmpeg -i tests/clips/originaux/clip1.MOV -vf 'setpts = (1/5) * PTS' -an tests/clips/video_1.mp4 – Rami

+0

Cela semble bon. Vous devez lire l'erreur signalée par FFmpeg, envoyée à stderr. – Mulvya

Répondre

0

Apparemment, j'essayais d'ouvrir un fichier vidéo qui était corrompu ou incomplet. Quoi qu'il en soit, le problème n'était pas avec le code ou dieu forbid - php-ffmpeg.