MJ2
video/mj2
Magic Bytes
Offset: 0
00 00 00 0C 6A 50 20 20 0D 0A 87 0A
Motion JPEG 2000 (MJ2) is a video file format defined in Part 3 of the ISO/IEC 15444 standard by the Joint Photographic Experts Group. It serves as a container for sequences of JPEG 2000 images, supporting both lossless and lossy compression for medical imaging, digital cinema, and professional surveillance. While largely considered a legacy format compared to modern inter-frame codecs, it remains relevant in archival environments requiring high-quality independent frame access.
Validation Code
How to validate .mj2 files in Python
Python
def is_mj2(file_path: str) -> bool:
"""Check if file is a valid MJ2 by magic bytes."""
signature = bytes([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])
with open(file_path, "rb") as f:
return f.read(12) == signature
How to validate .mj2 files in Node.js
Node.js
function isMJ2(buffer: Buffer): boolean {
const signature = Buffer.from([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A]);
return buffer.subarray(0, 12).equals(signature);
}
Go
func IsMJ2(data []byte) bool {
signature := []byte{0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A}
if len(data) < 12 {
return false
}
return bytes.Equal(data[:12], signature)
}
API Endpoint
GET
/api/v1/mj2
curl https://filesignature.org/api/v1/mj2