作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ffmpeg(使用版本2.8.1)输出的任何包含高于48000(例如88200或96000)采样率的wav文件的格式代码似乎将具有WAV_FORMAT_EXTENSIBLE格式而不是WAV_FORMAT_PCM格式。即使它是一个 16 位深度的 2 channel 源,或者这些设置是通过 -ac 2 -acodec pcm_s16le
强制设置的。 .
为什么ffmpeg会这样做?无论采样率如何,是否有任何命令行选项可以强制将 WAV_FORMAT_PCM 写入格式?重采样太慢了。如果没有可用的命令行选项,我可以从哪里开始查看源代码?
最佳答案
我找不到任何引用原因,也许这并不常见。 MSDN页面只提到了多 channel 和高分辨率。
相关代码在libavformat/riffenc.c :
waveformatextensible = (enc->channels > 2 && enc->channel_layout) ||
enc->sample_rate > 48000 ||
enc->codec_id == AV_CODEC_ID_EAC3 ||
av_get_bits_per_sample(enc->codec_id) > 16;
关于ffmpeg - 强制 ffmpeg 输出 WAV_FORMAT_PCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33425970/
ffmpeg(使用版本2.8.1)输出的任何包含高于48000(例如88200或96000)采样率的wav文件的格式代码似乎将具有WAV_FORMAT_EXTENSIBLE格式而不是WAV_FORMA
我是一名优秀的程序员,十分优秀!