Jon*_*ona 4 mpeg ffmpeg mpeg-2
我正在互联网上寻找有关计算帧长度的信息并且很难......我能够成功地计算MPEG-4,AAC的帧长度,使用:
frameLengthMs = mSamplingRate/1000
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为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
Run Code Online (Sandbox Code Playgroud)
Sco*_*ott 13
MPEG音频帧的持续时间是采样率和每帧采样数的函数.公式是:
frameTimeMs = (1000/SamplingRate) * SamplesPerFrame
Run Code Online (Sandbox Code Playgroud)
在你的情况下,这将是
frameTimeMs = (1000/44100) * 1152
Run Code Online (Sandbox Code Playgroud)
每帧产生~26ms.对于不同的采样率,您将获得不同的持续时间.关键是MPEG音频始终代表每帧固定数量的样本,但每个样本的持续时间取决于采样率.
| 归档时间: |
|
| 查看次数: |
8065 次 |
| 最近记录: |