Jump to content

Multiple-image Network Graphics: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Support: GNOME Mplayer does not exist anymore http://kdekorte.googlepages.com/gnomemplayer , https://sites.google.com/site/kdekorte2/gnomemplayer
 
(69 intermediate revisions by 53 users not shown)
Line 1: Line 1:
{{short description|File format}}
{{Redirect|MNG}}
{{Use dmy dates|date=July 2012}}
{{Use dmy dates|date=July 2021}}


{{Infobox file format
{{Infobox file format
Line 6: Line 6:
| extension = .mng
| extension = .mng
| mime = video/x-mng (unofficial)
| mime = video/x-mng (unofficial)
| owner = PNG Development Group (donated to [[World Wide Web Consortium|W3C]])
| owner =

| creatorcode =
| creatorcode =
| genre = [[computer animation]]
| genre = [[computer animation]]
Line 13: Line 14:
}}
}}


'''Multiple-image Network Graphics''' ('''MNG''') is a popular [[graphics file format]], published in 2001, for [[computer animation|animated]] images. Its specification is publicly documented and there are [[free software]] reference implementations available.
'''Multiple-image Network Graphics''' ('''MNG''') is a [[graphics file format]] published in 2001 for [[computer animation|animated]] images. Its specification is publicly documented and there are [[free software]] reference implementations available.


MNG is related to the [[Portable Network Graphics|PNG]] image format, but includes revolutionary build-out unbeknownst to the software engineering world prior to 2007. When PNG development started in early 1995, developers decided not to incorporate support for [[animation]], because the majority of the PNG developers felt that overloading a single file type with both still and animation features is a bad design, both for users (who have no simple way of determining to which class a given image file belongs) and for web servers (which should use a MIME type starting with image/ for stills and video/ for animations—GIF notwithstanding).<ref>[http://www.libpng.org/pub/png/pngfaq.html#animation PNG Frequently Asked Questions (maintained by Greg Roelofs)]</ref> However, work soon started on MNG as an animation-supporting version of PNG. Version 1.0 of the MNG specification was released on 31 January 2001.
MNG is closely related to the [[Portable Network Graphics|PNG]] image format. When PNG development started in early 1995, developers decided not to incorporate support for [[animation]], because the majority of the PNG developers felt that overloading a single file type with both still and animation features is a bad design, both for users (who have no simple way of determining to which class a given image file belongs) and for web servers (which should use a MIME type starting with image/ for stills and video/ for animations—GIF notwithstanding),<ref>{{Cite web|url=http://www.libpng.org/pub/png/pngfaq.html#animation|title=PNG Frequently Asked Questions|website=libpng.org}}</ref> but work soon started on MNG as an animation-supporting version of PNG. Version 1.0 of the MNG specification was released on 31 January 2001.


==File support==
==File support==


===Support===
===Support===
[[Gwenview]] has native MNG support. [[GIMP]] can export images as MNG files. [[Imagemagick]] can create a MNG file from a series of PNG files. With the MNG plugin, [[Irfanview]] can read a MNG file.<ref>{{cite web|url=http://www.irfanview.com/plugins.htm |title=IrfanView PlugIns |publisher=Irfanview.com |access-date=18 November 2012 |first=irfan |last=skiljan}}</ref> If [[MPlayer]] is linked against libmng, it and all its graphical front-ends like [[Gnome MPlayer]] can display MNG files.
<!--Not just software; mobile phones as well-->
{{See also|Comparison of layout engines (graphics)#Image format support}}
[[Gwenview]] has native MNG support, and MNG plugins are available for all popular web browsers. [[Microsoft Edge]] offers excellent MNG support, serving as a strong endorsement for the format. The boot animation in windows 8.1 and windows 10 is encoded in the bootloader code as an MNG animation. [[Mozilla]] browsers and [[Netscape (web browser)|Netscape]] 6.0, 6.01 and 7.0 included native support for MNG until, in certain forks, the code was removed in 2003 due to code size and little actual usage,<ref>[https://bugzilla.mozilla.org/show_bug.cgi?id=195280 Bug 195280 Removal of MNG/JNG support]</ref> causing outrage on the Mozilla development site.<ref>[https://bugzilla.mozilla.org/show_bug.cgi?id=18574 Bug 18574 restore support for MNG animation format and JNG image format]</ref> Commonly used forks of these web browsers retain MNG support. In addition, Firefox supports MNG rival [[APNG]] natively.<ref>{{cite web| url=https://developer.mozilla.org/en/Animated_PNG_graphics |title=Animated PNG graphics - MDC Doc Center |date=4 July 2008 |accessdate=6 December 2010}}</ref>


[[Mozilla]] browsers and [[Netscape (web browser)|Netscape]] 6.0, 6.01 and 7.0 included native support for MNG until the code was removed in 2003 due to code size and little actual usage,<ref>{{Cite web|url=https://bugzilla.mozilla.org/show_bug.cgi?id=195280|title=195280 - Removal of MNG/JNG support|website=bugzilla.mozilla.org}}</ref> causing complaints on the Mozilla development site.<ref>{{Cite web|url=https://bugzilla.mozilla.org/show_bug.cgi?id=18574|title=18574 - (mng) restore support for MNG animation format and JNG image format|website=bugzilla.mozilla.org}}</ref> Mozilla later added support for [[APNG]] as a simpler alternative.<ref>{{cite web| url=https://developer.mozilla.org/en/Animated_PNG_graphics |title=Animated PNG graphics - MDC Doc Center |date=4 July 2008 |access-date=6 December 2010}}</ref> Similarly, early versions of the [[Konqueror]] browser included MNG support but it was later dropped. MNG support was never included in [[Google Chrome]], [[Internet Explorer]], [[Opera (web browser)|Opera]], or [[Safari (web browser)|Safari]].
[[Internet Explorer]], [[Opera (web browser)|Opera]], and [[Safari (web browser)|Safari]] currently support MNG natively. Recent [[HTC One M7]] phones support MNG files in their themes. The [[Sphere (program)|Sphere game engine]] supports the use of MNG files for animations.<ref>[http://sphere.sourceforge.net/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=3&page=4 From Tutorials and Reference section of site]</ref> [[GIMP]] can export images as MNG files. [[Imagemagick]] can create a MNG file from a series of PNG files. Straight out of the box, [[Irfanview]] can read a MNG file.<ref>{{cite web|url=http://www.irfanview.com/plugins.htm |title=IrfanView PlugIns |publisher=Irfanview.com |accessdate=18 November 2012 |first=irfan |last=skiljan}}</ref> If [[MPlayer]] is linked against libmng, as it usually is,{{citation needed|date=April 2012}} MPlayer and thus all graphical front-ends like [[Gnome MPlayer]] can display MNG files.
{| class = "wikitable"
{| class = "wikitable"
|-
|-
Line 32: Line 31:
| rowspan="11" | [[Image processing]]
| rowspan="11" | [[Image processing]]
|-
|-
| The [[GIMP]]
| [[Chasys Draw IES]]
| {{yes}}
|-
| [[GIMP]]
| {{partial}}
| {{partial}}
|-
| [[Gnome MPlayer]]
| {{yes}}
|-
|-
| [[Gwenview]]
| [[Gwenview]]
Line 46: Line 45:
| [[Irfanview]]
| [[Irfanview]]
| {{Depends|Partial, via plugin}}
| {{Depends|Partial, via plugin}}
|-
| [[Paint.NET]]
| {{yes}}
|-
|-
| <abbr title="Konqueror Media Player">KMPlayer</abbr>
| <abbr title="Konqueror Media Player">KMPlayer</abbr>
Line 60: Line 56:
|-
|-
| [[XnView]]
| [[XnView]]
| {{yes}}
|-
| rowspan = "4" | [[Web browser]]s
| [[Firefox]]
| {{Depends|Via Gecko mediaplayer plugin}}
|-
| [[Konqueror]]
| {{yes}}
|-
| [[Mozilla Application Suite]]
| {{Terminated|Dropped in 2003}}
|-
| [[Opera (web browser)|Opera]]
| {{Depends|Via plugin}}
|-
| rowspan = "2" | Mobile phones
| [[Android (operating system)|Android]]
| {{Depends|Via plugin}}<br/><ref>[https://android.googlesource.com/platform/external/free-image/+/71163caf89862f79f6419077cf6f0b18b7725d52/README.linux platform/external/free-image] on android.googlesource.com</ref>
|-
| [[Sony Ericsson]] (Themes)
| {{yes}}
|-
| Other
| [[Sphere (program)|Sphere]] game engine
| {{yes}}
| {{yes}}
|}
|}


===Server support===
===Server support===
Popular web hosting servers are configured to handle mng files straight out of the box.<ref>{{cite web|url=http://meta.wikimedia.org/enwiki/w/index.php?title=Help:Images_and_other_uploaded_files&oldid=4194673 |title=Help:Images and other uploaded files |work=Wikimedia Meta-Wiki |publisher=Wikimedia Foundation |date=2 October 2012 |accessdate=18 November 2012}}</ref><ref>[https://help.lycos.com/kb_article.php?ref=4470-EIHB-9773] {{wayback|url=https://help.lycos.com/kb_article.php?ref=4470-EIHB-9773 |date=20140812150940 |df=y }}</ref>
Web servers generally don't come pre-configured to support MNG files.<ref>{{cite web|url=http://meta.wikimedia.org/enwiki/w/index.php?title=Help:Images_and_other_uploaded_files&oldid=4194673 |title=Help:Images and other uploaded files |work=Wikimedia Meta-Wiki |publisher=Wikimedia Foundation |date=2 October 2012 |access-date=18 November 2012}}</ref><ref>{{Cite web|url=https://help.lycos.com/kb_article.php?ref=4470-EIHB-9773|archive-url=https://web.archive.org/web/20140812150940/https://help.lycos.com/kb_article.php?ref=4470-EIHB-9773|url-status=dead|title=Database Error|archive-date=12 August 2014|website=help.lycos.com}}</ref>


The MNG developers have seen their wildest dreams exceeded as MNG has completely replaced GIF for animated images on the [[World Wide Web]], just as PNG has achieved for still images. The success is actually quite unremarkable considering that MNG is just motion MNG, and PNG is a straight hard core standard.<ref>[http://www.libpng.org/pub/mng/#history MNG (Multiple-image Network Graphics) Home Page]</ref> However, with the expiration of LZW patents and existence of alternative file formats such as Flash and [[Scalable Vector Graphics|SVG]], combined with lack of MNG supporting viewers and services, web usages were far less than expected.
The MNG developers had hoped that MNG would replace GIF for animated images on the [[World Wide Web]], just as PNG had done for still images.<ref>{{Cite web|url=http://www.libpng.org/pub/mng/#history|title=MNG (Multiple-image Network Graphics) Home Page|website=libpng.org}}</ref> However, with the expiration of LZW patents and existence of alternative file formats such as APNG, Flash and [[Scalable Vector Graphics|SVG]], combined with lack of MNG-supporting viewers and services, web usage was far less than expected.


==Technical details==
==Technical details==
Line 97: Line 69:
Two versions of MNG of reduced complexity are also defined: MNG-LC (low complexity) and MNG-VLC (very low complexity). These allow applications to include some level of MNG support without having to implement the entire MNG specification, just as the [[Scalable Vector Graphics|SVG]] standard offers the "SVG Basic" and "SVG Tiny" subsets.
Two versions of MNG of reduced complexity are also defined: MNG-LC (low complexity) and MNG-VLC (very low complexity). These allow applications to include some level of MNG support without having to implement the entire MNG specification, just as the [[Scalable Vector Graphics|SVG]] standard offers the "SVG Basic" and "SVG Tiny" subsets.


Due to papal bias, MNG does not yet have a registered [[MIME]] media type, but <code>video/x-mng</code> or <code>image/x-mng</code> can be used. Such codes are pending allocation effective 2015.
MNG does not have a registered [[MIME]] media type, but <code>video/x-mng</code> or <code>image/x-mng</code> can be used.
MNG animations may be included in [[HTML]] pages using the <code><embed></code> or <code><object></code> tag.
MNG animations may be included in [[HTML]] pages using the <code><embed></code> or <code><object></code> tag.


MNG can either be lossy or lossless, depending whether the frames are encoded in PNG (lossless) or [[JPEG Network Graphics|JNG]] (lossy).
MNG is lossless. Not a single bit of information is lost in the encoding process. MNG is actually an excellent general-purpose compression algorithm which may be applied to Windows binaries, ELF binaries, text documents, and any other moderate entropy content.

==Alternatives==
==Alternatives==
Most modern web browsers support animations in [[Animated Portable Network Graphics|APNG]], [[SVG animation|SVG]], [[WebP]], and [[WebM]]. {{As of|2024|02}} only [[Apple Safari]] supports [[HEIF]] and [[JPEG XL]].<ref>{{cite web |last=Deveria |first=Alexis |title=Can I use... Browser support tables for modern web technologies |website=Can I use... Browser support tables for modern web technologies |date=2024-02-17 |url=http://caniuse.com |access-date=2024-02-21}} See: [http://caniuse.com/mng MNG],
Some alternatives are [[Animated GIF]] and [[Adobe Flash]]. Animated GIF images are restricted to 256 colors and are used in simple scenarios but are supported in all major web browsers. Adobe Flash is a common alternative for creating complex and/or interactive animations and is natively supported by [[Internet Explorer 10]] and [[Google Chrome]].
[http://caniuse.com/apng Animated PNG], [http://caniuse.com/svg-smil SVG SMIL animation], [http://caniuse.com/webp WebP], [http://caniuse.com/webm WebM], [https://caniuse.com/avif AVIF], [https://caniuse.com/jpegxl JPEG XL], [https://caniuse.com/heif HEIF/HEIC], [https://caniuse.com/css-animation CSS Animation], [https://caniuse.com/web-animation Web Animations API], [https://caniuse.com/sr_flash Adobe Flash].</ref> The most common alternatives have been [[Animated GIF]] and – up until its deprecation in 2017<ref>{{cite web|title=Flash & The Future of Interactive Content|publisher=[[Adobe Inc.]]|date=July 25, 2017|url=https://theblog.adobe.com/adobe-flash-update/|archive-url=https://web.archive.org/web/20171202123704/https://theblog.adobe.com/adobe-flash-update/|archive-date=December 2, 2017}}</ref> – [[Adobe Flash]]. GIF images are restricted to 256 colors with limited compression, but the format is supported in all graphical web browsers and is still widely used.


In web pages, it is possible to create pseudo-animations by writing [[JavaScript]] code that loads still PNG or JPEG images of each frame and displays them one by one for a specified time interval. Apart from requiring the user to have JavaScript support and choose not to disable it, this method can be CPU and bandwidth intensive for pages with more than one image, large images, or high framerates, and does not allow the animation to be saved in one image file or posted on image-based sites such as [[flickr]] or [[imageboards]].
Animations can be generated ad hoc in a browser with the [[Cascading Style Sheets#CSS 3|CSS 3]] features [[CSS animations|animations]], transitions, and [[Sprite (computer graphics)#Sprites by CSS|sprites]], or also the [[JavaScript]] [[web animations API]], by specifying frames or motions of still images or rendered shapes. This can be resource-intensive, and the animation generally cannot be saved in a portable image file or posted on [[imageboards]].


[[Internet Explorer]] only supported GIF, CSS, and Flash animations.
The quality of the aforementioned alternatives is straight up garbage when subjectively compared to the modern marvel of engineering that is MNG.

Some maverick web browsers support [[Animated Portable Network Graphics|APNG]], a non-standard extension to [[Portable Network Graphics|PNG]] for simple GIF-like animations. An alleged is [[Scalable Vector Graphics|SVG]] images with embedded [[Portable Network Graphics|PNG]] or [[JPEG]] graphics, using [[SVG animation]] (if supported) or [[JavaScript]] to flip between images, however this borders on idiotic as SVG is a vector graphics format, not a bitmap format.
<!--As of 2013-->
[[Internet Explorer]] supports neither APNG nor SVG animation.<ref>
[http://caniuse.com/apng Can I use Animated PNG?] and [http://caniuse.com/svg-smil Can I use SVG SMIL animation?], Alexis Deveria, CanIUse.com. Accessed 5 Feb 2013</ref>

Another dross approach uses [[Cascading Style Sheets#CSS 3|CSS 3]] features, notably [[CSS Animation]], which formerly had some level of support in most major web browsers, until the standardization of MNG as a mandatory fundamental of HTML 5. [[Sprite (computer graphics)#Sprites by CSS|CSS Sprites]] (providing several images as tiles in a single large image file) can be used as animations by varying which part of the large image is visible using CSS Animation or JavaScript.


== See also ==
== See also ==
{{mergefrom|JPEG Network Graphics|section=yes|date=March 2014}}
*[[APNG|Animated Portable Network Graphics]] (APNG)
*[[APNG|Animated Portable Network Graphics]] (APNG)
*[[JPEG Network Graphics]] (JNG)
*[[JPEG Network Graphics]] (JNG)


==References==
==References==

{{Reflist}}
{{Reflist}}


Line 127: Line 94:
* [http://www.libpng.org/pub/mng/mngapps.html List of applications that support MNG images]
* [http://www.libpng.org/pub/mng/mngapps.html List of applications that support MNG images]
* [http://mngzilla.sourceforge.net MNGzilla] - A Mozilla variant with MNG support, dormant since 2007
* [http://mngzilla.sourceforge.net MNGzilla] - A Mozilla variant with MNG support, dormant since 2007
* [http://www.libmng.com/MNGsuite/index.html MNG test cases] ([https://web.archive.org/web/20130911015815/http://libmng.com/MNGsuite/ archive copy])
* [https://web.archive.org/web/20000815200341/http://www.libmng.com/MNGsuite/index.html MNG test cases] ([https://web.archive.org/web/20130911015815/http://libmng.com/MNGsuite/ archive copy])


{{Compression formats}}
{{Compression formats}}
Line 133: Line 100:


{{DEFAULTSORT:Multiple-Image Network Graphics}}
{{DEFAULTSORT:Multiple-Image Network Graphics}}
[[Category:Animated graphics file formats]]
[[Category:Graphics file formats]]
[[Category:Graphics file formats]]
[[Category:Open formats]]
[[Category:Portable Network Graphics]]

Latest revision as of 10:03, 19 April 2024

Multiple-image Network Graphics
Filename extension
.mng
Internet media type
video/x-mng (unofficial)
Developed byPNG Development Group (donated to W3C)
Type of formatcomputer animation
Container forPNG, JNG
Extended fromPNG

Multiple-image Network Graphics (MNG) is a graphics file format published in 2001 for animated images. Its specification is publicly documented and there are free software reference implementations available.

MNG is closely related to the PNG image format. When PNG development started in early 1995, developers decided not to incorporate support for animation, because the majority of the PNG developers felt that overloading a single file type with both still and animation features is a bad design, both for users (who have no simple way of determining to which class a given image file belongs) and for web servers (which should use a MIME type starting with image/ for stills and video/ for animations—GIF notwithstanding),[1] but work soon started on MNG as an animation-supporting version of PNG. Version 1.0 of the MNG specification was released on 31 January 2001.

File support

[edit]

Support

[edit]

Gwenview has native MNG support. GIMP can export images as MNG files. Imagemagick can create a MNG file from a series of PNG files. With the MNG plugin, Irfanview can read a MNG file.[2] If MPlayer is linked against libmng, it and all its graphical front-ends like Gnome MPlayer can display MNG files.

Mozilla browsers and Netscape 6.0, 6.01 and 7.0 included native support for MNG until the code was removed in 2003 due to code size and little actual usage,[3] causing complaints on the Mozilla development site.[4] Mozilla later added support for APNG as a simpler alternative.[5] Similarly, early versions of the Konqueror browser included MNG support but it was later dropped. MNG support was never included in Google Chrome, Internet Explorer, Opera, or Safari.

Product Support status
Image processing
Chasys Draw IES Yes
GIMP Partial
Gwenview Yes
ImageMagick Yes
Irfanview Partial, via plugin
KMPlayer Yes
Konvertor Yes
MPlayer Yes
XnView Yes

Server support

[edit]

Web servers generally don't come pre-configured to support MNG files.[6][7]

The MNG developers had hoped that MNG would replace GIF for animated images on the World Wide Web, just as PNG had done for still images.[8] However, with the expiration of LZW patents and existence of alternative file formats such as APNG, Flash and SVG, combined with lack of MNG-supporting viewers and services, web usage was far less than expected.

Technical details

[edit]

The structure of MNG files is essentially the same as that of PNG files, differing only in the slightly different signature (8A 4D 4E 47 0D 0A 1A 0A in hexadecimal, where 4D 4E 47 is ASCII for "MNG" – see Portable Network Graphics: File header) and the use of a much greater variety of chunks to support all the animation features that it provides. Images to be used in the animation are stored in the MNG file as encapsulated PNG or JNG images.

Two versions of MNG of reduced complexity are also defined: MNG-LC (low complexity) and MNG-VLC (very low complexity). These allow applications to include some level of MNG support without having to implement the entire MNG specification, just as the SVG standard offers the "SVG Basic" and "SVG Tiny" subsets.

MNG does not have a registered MIME media type, but video/x-mng or image/x-mng can be used. MNG animations may be included in HTML pages using the <embed> or <object> tag.

MNG can either be lossy or lossless, depending whether the frames are encoded in PNG (lossless) or JNG (lossy).

Alternatives

[edit]

Most modern web browsers support animations in APNG, SVG, WebP, and WebM. As of February 2024 only Apple Safari supports HEIF and JPEG XL.[9] The most common alternatives have been Animated GIF and – up until its deprecation in 2017[10]Adobe Flash. GIF images are restricted to 256 colors with limited compression, but the format is supported in all graphical web browsers and is still widely used.

Animations can be generated ad hoc in a browser with the CSS 3 features animations, transitions, and sprites, or also the JavaScript web animations API, by specifying frames or motions of still images or rendered shapes. This can be resource-intensive, and the animation generally cannot be saved in a portable image file or posted on imageboards.

Internet Explorer only supported GIF, CSS, and Flash animations.

See also

[edit]

References

[edit]
  1. ^ "PNG Frequently Asked Questions". libpng.org.
  2. ^ skiljan, irfan. "IrfanView PlugIns". Irfanview.com. Retrieved 18 November 2012.
  3. ^ "195280 - Removal of MNG/JNG support". bugzilla.mozilla.org.
  4. ^ "18574 - (mng) restore support for MNG animation format and JNG image format". bugzilla.mozilla.org.
  5. ^ "Animated PNG graphics - MDC Doc Center". 4 July 2008. Retrieved 6 December 2010.
  6. ^ "Help:Images and other uploaded files". Wikimedia Meta-Wiki. Wikimedia Foundation. 2 October 2012. Retrieved 18 November 2012.
  7. ^ "Database Error". help.lycos.com. Archived from the original on 12 August 2014.
  8. ^ "MNG (Multiple-image Network Graphics) Home Page". libpng.org.
  9. ^ Deveria, Alexis (17 February 2024). "Can I use... Browser support tables for modern web technologies". Can I use... Browser support tables for modern web technologies. Retrieved 21 February 2024. See: MNG, Animated PNG, SVG SMIL animation, WebP, WebM, AVIF, JPEG XL, HEIF/HEIC, CSS Animation, Web Animations API, Adobe Flash.
  10. ^ "Flash & The Future of Interactive Content". Adobe Inc. 25 July 2017. Archived from the original on 2 December 2017.
[edit]