将.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作为操作系统
答案 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") {
或转换声明。