【问题标题】:MP4 to OGG conversion does not include soundMP4 到 OGG 的转换不包括声音
【发布时间】:2015-07-15 11:34:38
【问题描述】:

我找到了这个question,我能够成功地将我的视频转换为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); 

我做错了什么?

【问题讨论】:

  • 你能展示你为 exec 准备的命令是什么吗?
  • 我不确定我知道你要什么。
  • @mim 请求echo $ffmpegPath." -i ".$video.$vCodec." -vb ".$srcVB." -ab ".$srcAB." ".$ogg_video; 的输出。目前我们只能看到很多变量,并不清楚实际运行的是什么命令。请将其输出编辑到您的问题中,谢谢!
  • 这是一个输出示例:ffmpeg -i video.mp4 -vcodec libtheora -vb xxxxx -ab xxxxx video.ogg

标签: php ffmpeg ffmpeg-php


【解决方案1】:

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

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

【讨论】:

  • 谢谢!你能给我一个我应该怎么做的例子吗?我希望转换后的视频质量尽可能高。
猜你喜欢
  • 2020-11-15
  • 1970-01-01
  • 1970-01-01
  • 2014-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多