4 Stimmen

Berechnen Sie die MPEG-Rahmenlänge (ms)

Ich suche im Internet nach Informationen zur Berechnung der Rahmenlänge und es war schwierig ... Es ist mir gelungen, die Rahmenlänge in ms von MPEG-4, AAC, erfolgreich zu berechnen, indem ich verwendet habe:

frameLengthMs = mSamplingRate/1000

Dies funktioniert, da bei AAC ein Sample pro Frame vorhanden ist. Bei MPEG-1 oder MPEG-2 bin ich verwirrt. Es gibt 1152 Samples pro Frame, also was mache ich damit? :P

Rahmen-Sample:

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

13voto

Scott Punkte 756

Die Dauer eines MPEG-Audioframes ist eine Funktion der Abtastrate und der Anzahl der Samples pro Frame. Die Formel lautet:

frameTimeMs = (1000/Abtastrate) * SamplesProFrame

In Ihrem Fall wäre dies

frameTimeMs = (1000/44100) * 1152

Was etwa 26 ms pro Frame ergibt. Für eine andere Abtastrate erhalten Sie eine andere Dauer. Der Schlüssel liegt darin, dass MPEG-Audio immer eine feste Anzahl von Samples pro Frame repräsentiert, aber die Zeitdauer jedes Samples von der Abtastrate abhängt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X