2011-07-28 73 views
3

我正在使用ffmpeg转换我的网站上的音频和视频。 Ffmpeg正在转换为其他格式,如mp3,mp4等,但不能正确转换为ogg。虽然ffmpeg正在创建ogg文件,但新创建的ogg文件已损坏,并且尺寸比原始文件大得多。我正在使用下面的PHP代码来转换为ogg。Ffmpeg没有正确转换为ogg

exec("/usr/bin/ffmpeg -i ".$_FILES['thefile1']['tmp_name']." ./ogg/$file_name".".ogg"); 

回答

4

我打算假设您正在寻找ogg视频,而不是音频。如果你想要音频,只需删除vcodec的东西。

添加以下参数:

vcodec libtheora 
acodec libvorbis 

所以,你的命令将变成:

exec("/usr/bin/ffmpeg -i ".$_FILES['thefile1']['tmp_name']." -vcodec libtheora -acodec libvorbis ./ogg/$file_name".".ogg"); 

你必须确保你已经安装了libtheora和libvorbis。如果执行该命令并且没有安装它们,ffmpeg将会抛出一个错误。你可以检查使用

ffmpeg -codecs 

和搜索libtheora和libvorbis。

+0

非常感谢您的回复。由于您的回复,我的问题已经解决了一半。我已经使用了下面的代码。 exec(“/ usr/bin/ffmpeg -i”。$ _ FILES ['thefile1'] ['tmp_name']。“-vcodec libtheora -acodec libvorbis ./ogg/$file_name".".ogg”); 现在它将完美的音频文件转换为ogg,而不是视频文件。就视频文件而言,它不会将它们正确地转换为 既不是mp4也不是ogg。你可以请进一步指导? – Rizwan

+0

您是否收到任何错误消息?如果是这样,你能告诉我他们吗? – matzahboy

+0

没有给出错误信息并且文件已成功创建,但生成的ogg文件为0 kb,mp4文件尺寸也太小,不能播放。 – Rizwan