我知道我可以在 SO 上找到有关此问题的其他答案,但我想从真正了解 MPEG-1/MPEG-2(或 MP3,显然)的人那里得到澄清。
MPEG-1/2 帧的开始是从字节边界开始的 12 个设置位,因此 bytes ff
f*
,其中*
是任何半字节。这 12 位称为同步字。这是在任何 MPEG-1/2 流中查找帧开始的有用特性。
我的第一个问题是:形式上,是否可以在 MPEG-1/2 帧的有效负载中,在其标头之外找到错误的同步字?
如果是这样,这是我的第二个问题:为什么同步词机制甚至存在呢?如果在读取时不能确定是否找到了新帧fff
,那么这个同步字的目的是什么?
请不要在您的回答中考虑 ID3;我已经知道可以在 ID3v2 有效负载中找到的同步词,但这是有据可查的。