让我先认识一下,如果这是重新发布/类似帖子,我尽我所能搜索特定的解决方案给我在这里已经创建的帖子内,在谷歌上,但不能。ffmpeg/PHP - 将任何视频格式转换为ogg的问题 - 歪歪视频/无音频 - win64
我在win64系统上的本地主机上使用ffmpeg来创建/测试视频转换脚本,然后将它们上传到服务器。
但是,无论何时我尝试从任何其他格式转换为.ogg,我都能够成功转换为/从mp4/flv/wmv/mov发出问题。
首先我尝试这样做:
exec($ffmpegPath." -i ".$srcFile." ".$destFile);
,但最终没有与视频/声音文件损坏。然后我做了一些读取和发现了一些职位,说是转换成.OGG时,必须明确启用libvorbis/libtheora,所以我想这:
$aCodec = ' -acodec libvorbis';
$vCodec = ' -vcodec libtheora';
exec($ffmpegPath." -i ".$srcFile.$aCodec.$vCodec." ".$destFile);
这一次,我得到了一个有效的.ogg文件,有声但是,视频输出非常波动。在希望,试图找到这个问题,我开始做编辑给exec行,结束了这一点:
$ffmpegObj = new ffmpeg_movie($srcFile);
$srcVB = intval($ffmpegObj->getVideoBitRate());
$vCodec = ' -vcodec libtheora';
exec($ffmpegPath." -i ".$srcFile.$vCodec." -vb ".$srcVB." ".$destFile);
,输出质量好,但没有声.OGG视频。
在需要安装更多软件(ffmpeg2theora)等之前,还有什么可能是这个问题的想法?
此外,如果它有帮助,我回应ffmpeg的输出,并使用上述方法#2并显示许多错误。
100 buffers queued in output stream 0:1, something may be wrong.
[ogg @ 00000000024bf780] st:0 PTS: 6743 DTS: 6743 < 7745 invalid, clipping
[ogg @ 00000000024bf780] st:0 PTS: 6871 DTS: 6871 < 7746 invalid, clipping
[ogg @ 00000000024bf780] st:0 PTS: 6999 DTS: 6999 < 7747 invalid, clipping
[ogg @ 00000000024bf780] st:0 PTS: 7127 DTS: 7127 < 7748 invalid, clipping
[ogg @ 00000000024bf780] st:0 PTS: 7255 DTS: 7255 < 7749 invalid, clipping
[ogg @ 00000000024bf780] st:0 PTS: 7383 DTS: 7383 < 7750 invalid, clipping
似乎libvorbis和libtheora在一起玩得不好吗?
最后,我改变了ffmpeg.exe的构建几次,仍然收到相同的问题。
在此先感谢。
编辑:作为一种可能的解决方法,是否有一种方法,我可以简单地编码视频/音频分开,然后一拍即合?这是否会导致音频/视频同步问题?