ffmpeg黑屏,声音工作正常

时间:2011-03-22 19:57:58

标签: php ffmpeg flv video-encoding mp4

将.flv文件转换为.mp4时,我使用了以下命令:

ffmpeg -i y.mp4.flv -ar 22050 y.mp4

声音很好,但我没有图像(不在网络播放器中,而不是在下载到电脑时) 。当我从.mp4获取“preview.jpg”文件的某些屏幕时,FFmpeg工作正常。 我错过了某种编解码器吗? (我第一次在没有商业软件的情况下转换视频......)

此外,我想询问是否更有效地检测文件类型:

$video = file_get_contents("www.remotefile.com/1.mp4");
if (strpos($video, "flv") !== 0){// FLV, fLV etc
  file_put_contents($path."1.flv", $video);
  //further processing 
}

编辑:我使用Debian Lenny作为操作系统

1 个答案:

答案 0 :(得分:1)

您的黑屏问题只能通过查看ffmpeg命令的输出来解决。如果它无法检测到编解码器,它就会这么说。如果您使用Debian的ffmpeg,它可能会错过对某些格式的支持。

 Stream #0.1: Video: unknown   // or something like that

(您的网址错误。需要http://前缀)。通过读取HTTP response header Content-Type可以最好地检测视频类型。但是,当使用HTTP库而不是file_get_contents时,这会更容易。

如果您想依赖文件扩展名,请将其用于简单:

if (strrchr($url, ".") == ".flv") {

或转换声明。