在同一个PHP进程中我正在尝试打开一个被操作和保存的文件,然后我尝试用新的FFMpeg \ Video打开它。例如,在同一过程中:
Open -> original.MOV
Manipulate & save to -> new.mp4
Open -> new.mp4
但是当我尝试打开被操作的文件时,我得到了这个InvalidArgumentException异常:
InvalidArgumentException: Unable to detect file format, only audio and video supported
在FFMpeg :: open()无法检测到它是视频或音频流之后,它被抛出。
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'); }
我应用于视频的滤镜是音频静音和加速(设定)。
所以我想知道,为什么FFMpeg不会将其识别为视频?
答案 0 :(得分:0)
显然我正在尝试打开已损坏或不完整的视频文件。无论如何,问题不在于代码或上帝禁止 - php-ffmpeg。