Motion JPEG
Motion JPEG ( MJPEG ) is a video codec in which each individual image is compressed separately as a JPEG image .
overview
In contrast to the videos compressed with MPEG, the videos compressed with MJPEG have a quality that is independent of the movement of the image . This standard is often used on older digital cameras . Due to the individual compression of all individual images, it is possible with this format to cut a video clip frame-precisely without the need to recode, which is generally only possible with keyframes with MPEG .
Compatibility and file formats
There are numerous variants of the format, some of which are not compatible with each other.
Apple has defined two types of coding for the Quicktime format: MJPEG-A and MJPEG-B. The second variant is no longer compatible with the JPEG File Interchange Format - individual images can no longer simply be converted from the video stream into a JPEG image without changing the information in the header data area of the file.
Compression rates, quality and usage
The compression rate is 1: 5 to 1:13 between uncompressed formats such as RGB / 8 (1: 1) or YCbCr / 8 (1: 1 - 1: 3) and MPEG- 2 compression (approx. 1:25 to 1: 100). With high quality, this corresponds to around 30 Mbit / s for PAL video, and around 150 Mbit / s with Full HD.
In the (semi-) professional studio area, MJPEG is still sometimes used as an intermediate format for post-production (editing). Many Internet / IP cameras also use this format.
With newer cameras (from around 2010) the newer codec H.264 is usually used instead of MJPEG .
application
server
MJPEG is used in network cameras . The stream is often sent via the HTTP protocol. The special MIME type multipart / x-mixed-replace; boundary =… is used so that the client (usually a web browser) can display the data correctly . This is followed by a freely selectable string to separate the individual images according to the MIME type boundary = . This is followed by the individual JPEG-compressed images, separated by the string defined in the MIME type. Example implementations can be found in Cambozola and MJPEG-Streamer. Streaming via the RTP protocol (IETF RFC 2435 ) has become the standard for surveillance cameras .
Clients
Frequently used clients for displaying MJPEG streams are common web browsers such as Firefox . Internet Explorer does not currently support MJPEG streams. Solutions such as Java applets exist for this browser. Network-compatible multimedia players such as VLC and MPlayer , as well as any software that uses the FFmpeg / libav libraries, are also suitable for displaying an MJPEG stream. In addition, the game consoles Wii from Nintendo and PlayStation 3 and Playstation Portable from Sony , as well as the Safari browser of the iPhone from Apple, can play films in MJPEG format ex works.
Web links
- sourceforge.net - MJPEG tools to record and edit MJPEG on Linux
Individual evidence
- ↑ cambozola ( Memento of the original from March 31, 2009 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. : Java MJPEG client and M GIF server
- ↑ MJPG streamer : Simple MJPEG streaming server
- ↑ ONVIF Streaming Specification (PDF) In: onvif.org . June 2011. Accessed December 23, 2015.