gpt4 book ai didi

ffmpeg - 计算 MPEG 帧长度(毫秒)

转载 作者:行者123 更新时间:2023-12-02 08:35:27 26 4
gpt4 key购买 nike

我在互联网上寻找有关计算帧长度的信息,但这很困难...我能够成功计算 MPEG-4、AAC 的帧长度(以毫秒为单位),使用:

frameLengthMs = mSamplingRate/1000

这是可行的,因为 AAC 上每帧有一个样本。对于 MPEG-1 或 MPEG-2 我很困惑。每帧有 1152 个样本,好吧,那我该怎么办呢? :P

框架示例:

MPEGDecoder(23069): mSamplesPerFrame: 1152
MPEGDecoder(23069): mBitrateIndex: 7
MPEGDecoder(23069): mFrameLength: 314
MPEGDecoder(23069): mSamplingRate: 44100
MPEGDecoder(23069): mMpegAudioVersion 3
MPEGDecoder(23069): mLayerDesc 1
MPEGDecoder(23069): mProtectionBit 1
MPEGDecoder(23069): mBitrateIndex 7
MPEGDecoder(23069): mSamplingRateFreqIndex 0
MPEGDecoder(23069): mPaddingBit 1
MPEGDecoder(23069): mPrivateBit 0
MPEGDecoder(23069): mChannelMode 1
MPEGDecoder(23069): mModeExtension 2
MPEGDecoder(23069): mCopyright 0
MPEGDecoder(23069): mOriginal 1
MPEGDecoder(23069): mEmphasis 0
MPEGDecoder(23069): mBitrate: 96kbps

最佳答案

MPEG 音频帧的持续时间是采样率和每帧样本数的函数。公式为:

frameTimeMs = (1000/SamplingRate) * SamplesPerFrame

在你的情况下,这将是

frameTimeMs = (1000/44100) * 1152

每帧产生约 26 毫秒。对于不同的采样率,您将获得不同的持续时间。关键是 MPEG 音频始终表示每帧固定数量的样本,但每个样本的持续时间取决于采样率。

关于ffmpeg - 计算 MPEG 帧长度(毫秒),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com