What is a Motion JPEG (MJPEG or M-JPEG)?

Motion JPEG (MJPEG or M-JPEG) is a video compression format in which each video frame or interlaced field of a digital video stream (including video and metadata such as subtitles and subtitles) is separately compressed as a jpeg image. Originally developed for multimedia PC applications, MJPEG is now used by video capture devices such as digital cameras, IP cameras, web cameras, and by non-linear video editing systems. It is compatible with QuickTime Player, the PlayStation console, and browsers such as Safari, Google Chrome, and Mozilla Firefox. MJPEG was first used by QuickTime Player in the mid-1990s.

MJPEG is an intra-frame compression scheme only. Because frames are compressed independently of one another, MJPEG imposes lower processing and memory requirements on hardware devices. As such, the image quality of MJPEG is directly a function of the spatial complexity of each video frame. Frames with large smooth transitions or monotonous surfaces compress well and are more likely to retain their original detail with few visible compression artifacts. Frames that exhibit complex textures, fine curves, and lines are prone to exhibiting DCT artifacts, such as ringing, smearing, and macroblocking. This gives MJPEG an advantage over interframe compression schemes, which do not accommodate fast interframe movement and require more hardware to meet the memory demands of interframe compression.

MJPEG is frequently used in non-linear video editing systems. Desktop CPUs are powerful enough to handle high-definition video, so no special hardware is required, while still offering native random access to a frame. MJPEG support is also widespread in video capture and editing equipment, allowing easy file sharing for uses such as archiving and transcription.

Before the recent rise of MPEG-4 encoding in consumer devices, a progressive scan form of MJPEG was in widespread use in the film modes of digital still cameras, allowing video encoding and playback over the Integrated JPEG compression hardware with only software modification. The AMV video format is a modified version of MJPEG.

Many network-enabled cameras provide MJPEG streams that clients on the network can connect to. Mozilla and Webkit based browsers have native support for viewing MJPEG streams. Some network-enabled cameras provide their own MJPEG interfaces as part of the normal feature set. For cameras that do not provide this feature natively, a server can be used to transcode the camera’s images into an MJPEG stream and then provide that stream to other clients on the network.

The MJPEG standard grew out of a market adoption process rather than a standards body, and thus enjoys broad customer support. Most major web browsers and video players provide native support, and plugins are available for the rest.

Leave a Reply

Your email address will not be published. Required fields are marked *