MP4到OGG的转换不包括声音


MP4 to OGG conversion does not include sound

我发现了这个问题,我能够成功地将我的视频转换为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); 

我做错了什么?

命令行中没有包含$aCodec !因此,生成的文件最终可能包含一个编解码器不合适的音频流。

作为题外话,将音频和视频比特率从输入文件复制到输出文件通常没有意义。特别是,对于轻度压缩或未压缩的音频/视频输入(例如,运动JPEG, PCM音频等),它会选择不适当的高比特率。因为你要在视频上强制使用一组新的编解码器,所以可能更适合为音频强制使用单一标准比特率,并根据视频的分辨率强制使用可变比特率。