M-JPEG is now used by video-capture devices such as
digital cameras,
IP cameras, and
webcams, as well as by
non-linear video editing systems. It is natively supported by the
QuickTime Player, the
PlayStation console, and
web browsers such as
Safari,
Google Chrome,
Mozilla Firefox and
Microsoft Edge.
Video editing M-JPEG is frequently used in
non-linear video editing systems. Modern desktop CPUs are powerful enough to work with high-definition video, so no special hardware is required, and they in turn offer native random-access to any frame.
Game consoles The
PlayStation game console integrated M-JPEG like decompression hardware for in-game
FMV sequences, while the
PlayStation Portable handheld game console can play M-JPEG from the
Memory Stick Pro Duo under the .avi extension with a resolution of 480×272. Both can record clips in M-JPEG with its
Go!Cam camera.
Nintendo's
Wii game console, as well as
VTech's InnoTab, can play M-JPEG-encoded videos on
SD card using its
Photo Channel. The
SanDisk Sansa e200 and the
Zen V digital audio players play short M-JPEG videos. Recent firmware updates to the
Nintendo 3DS can now record and play "3D-AVI" M-JPEG-encoded files, which is the same format used in the
Fujifilm FinePix Real 3D series, from a SD card in 320×240 resolution so long as the video duration is 10 minutes or less.
Digital cameras Prior to the rise in
MPEG-4 encoding in consumer devices, a
progressive scan form of M-JPEG saw widespread use in the “movie” modes of digital still cameras, allowing video encoding and playback through the integrated JPEG compression hardware with only a software modification. The resultant quality is still inferior compared to a similar-sized MPEG, particularly as the sound (when included) was uncompressed
PCM and recorded at a low sample rate or low-compression, low processor-demand
ADPCM. To keep file sizes and transfer rates under control, frame sizes and rates, along with sound sampling rates, are kept relatively low with very high levels of compression for each individual frame. Resolutions of 160×120 or 320×240 are common sizes, typically at 10, 12 or 15 frames per second, with picture quality equivalent to a JPEG setting of “50” with mono ADPCM sound sampled at ~8 kHz. This results in a very basic, but serviceable video output at a similar storage cost to MPEG (~120 kB/s video rate, ~8 kB/s audio – or approx 1 Mbit/s at 320×240 resolution), but with minimal processing overheads. This video is typically stored in Microsoft's
AVI or Apple's
QuickTime Movie container files. These files are viewable natively on most operating systems, however sometimes an additional
codec must be installed. The
AMV video format, common on cheap "MP4" players, is a modified version of M-JPEG. In addition to portable players (which are mainly "consumers" of the video), many video-enabled digital cameras use M-JPEG for video-capture. For instance: • In August 2008, Nikon announced the
D90, the first D-SLR to record video. The format used is M-JPEG. The D90 uses three different motion JPEG formats: 320×216 pixels, 640×424 pixels and 1280×720 pixels. • In June 2009, Pentax announced that the then-upcoming
K-7 camera would use M-JPEG in resolutions 640×416, 1280×720, and 1536×1024. The data rate for the M-JPEG files created can be up to 74 Mbit/s. • In August 2016, Canon announced that the
5D Mark IV camera would record
4K video in M-JPEG, with a data rate of approximately 500 Mbit/s. using motion jpeg Many network-enabled cameras provide M-JPEG streams that network clients can connect to.
Mozilla and
Webkit-based browsers have native support for viewing these M-JPEG streams. Some network-enabled cameras provide their own M-JPEG interfaces as part of the normal feature set. For cameras that don't provide this feature natively, a server can be used to transcode the camera pictures into an M-JPEG stream and then provide that stream to other network clients.
Media players Apple announced on September 1, 2010 that their newest version of the Apple TV would support M-JPEG up to 35 Mbit/s, 1280×720 pixels, 30 frames per second, audio in μlaw, PCM stereo audio in file format. Certain media players such as the Netgear NeoTV 550 do not support the playback of M-JPEG.
Video streaming HTTP streaming separates each image into individual HTTP replies on a specified marker. HTTP streaming creates packets of a sequence of JPEG images that can be received by clients such as
QuickTime or
VLC. In response to a
GET request for a MJPEG file or stream, the server streams the sequence of JPEG frames over
HTTP. A special mime-type
content type multipart/x-mixed-replace;boundary= informs the client to expect several parts (frames) as an answer delimited by . This boundary name is expressly disclosed within the MIME-type declaration itself. The TCP connection is not closed as long as the client wants to receive new frames and the server wants to provide new frames. Two basic implementations of a M-JPEG streaming server are
cambozola and
MJPG-Streamer. The more robust
ffmpeg-server also provides M-JPEG streaming support. Native web browser support includes:
Safari,
Google Chrome,
Microsoft Edge and
Firefox. Other browsers, such as
Internet Explorer can display M-JPEG streams with the help of external plugins. Cambozola is an applet that can show M-JPEG streams in Java-enabled browsers. M-JPEG is also natively supported by PlayStation and QuickTime. Most commonly, M-JPEG is used in IP based security cameras. == Successors ==