1

我发现了这个问题,我能够成功地将我的视频转换为 OGG,但它不包括声音。

这是代码:

//SET FFMPEG PATH
$ffmpegPath = 'ffmpeg';
//CREATE CLASS INSTANCE
$ffmpegObj = new ffmpeg_movie($video);
//GET AUDIO BITRATE FROM SOURCE FILE
$srcAB = intval($ffmpegObj->getAudioBitRate());
//GET VIDEO BITRATE FROM SOURCE FILE
$srcVB = intval($ffmpegObj->getVideoBitRate());                
//SET THE AUDIO CODEC TO LIBVORBIS
$aCodec = ' -acodec libvorbis';
//SET THE VIDEO CODEC TO LIBTHEORA
$vCodec = ' -vcodec libtheora';
//EXECUTE THE CONVERSION
exec($ffmpegPath." -i ".$video.$vCodec." -vb ".$srcVB." -ab ".$srcAB." ".$ogg_video); 

我究竟做错了什么?

4

1 回答 1

1

您不包括$aCodec在任何地方的命令行中!结果,生成的文件可能最终包含带有不适当编解码器的音频流。

顺便说一句,将音频和视频比特率从输入文件复制到输出通常没有意义。特别是,它会为轻度压缩或未压缩的音频/视频输入(例如,运动 JPEG、PCM 音频等)选择不适当的高比特率。由于您在视频上强制使用一组新的编解码器,因此强制音频使用单一标准比特率和基于视频分辨率的可变比特率可能更合适。

于 2015-07-15T03:34:38.870 回答