Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Xiph.Org libtheora 1.1 20090822 (Туснельда) )
Перейти к навигации Перейти к поиску

Theora - это бесплатный формат сжатия видео с потерями . [6] Он разработан Xiph.Org Foundation и распространяется без лицензионных отчислений вместе с другими их бесплатными и открытыми медиа-проектами, включая аудиоформат Vorbis и контейнер Ogg .

Libtheora видеокодек является эталонной реализацией формата сжатия видео Theora разрабатывается Xiph.org Foundation. [7] [8]

Theora является производным от ранее проприетарного кодека VP3 , выпущенного в общественное достояние компанией On2 Technologies . Он в целом сопоставим по дизайну и эффективности битрейта с MPEG-4 Part 2 , ранними версиями Windows Media Video и RealVideo, но в нем отсутствуют некоторые функции, присутствующие в некоторых из этих других кодеков. По философии открытых стандартов он сопоставим с кодеком Дирака BBC .

Теора названа в честь Теоры Джонс , контролера Эдисона Картера в телевизионной программе Max Headroom . [9]

Технические детали [ править ]

Theora является переменной битовой скоростью , ДКП основанного видео схемы сжатия. Как и большинство распространенных видеокодеков, Theora также использует субдискретизацию цветности , блочную компенсацию движения и блок DCT 8 на 8. Пиксели сгруппированы в различные структуры, а именно блоки, суперблоки и макроблоки . Theora поддерживает кадры с внутренним кодированием и кадры с прогнозированием вперед, но не кадры с двунаправленным прогнозированием, которые присутствуют в H.264 и VC-1 . Theora также не поддерживает чересстрочную развертку или битовую глубину более 8 бит на компонент. [2]

Видеопотоки Theora могут храниться в любом подходящем формате контейнера , но чаще всего они находятся в контейнере Ogg с аудиопотоками Vorbis или FLAC . Эта комбинация обеспечивает полностью открытый мультимедийный формат без лицензионных отчислений. Его также можно использовать с контейнером Matroska . [10]

Формат сжатия видео Theora по существу совместим с форматом сжатия видео VP3, состоящим из обратно совместимого расширенного набора. [11] [12] Theora - это надмножество VP3, и потоки VP3 (с некоторыми незначительными синтаксическими модификациями) могут быть преобразованы в потоки Theora без повторного сжатия (но не наоборот). [12] Сжатие видео VP3 может быть декодировано с использованием реализаций Theora, но сжатие видео Theora обычно не может быть декодировано с использованием старых реализаций VP3.

История [ править ]

Предшественник Theora On2 TrueMotion VP3 изначально был проприетарным и защищенным патентом видеокодеком, разработанным On2 Technologies . VP3.1 был представлен в мае 2000 года [13], а через три месяца за ним последовал релиз VP3.2 [14], который является основой для Theora.

Перейти на бесплатное программное обеспечение [ править ]

В августе 2001 года On2 Technologies объявила, что они выпустят версию своего алгоритма сжатия видео VP3.2 с открытым исходным кодом. [15] [16] В сентябре 2001 года On2 Technologies опубликовала исходный код кодека VP3.2 под лицензией VP3.2 Public License 0.1, [17] пользовательской лицензией с открытым исходным кодом. [18] [19] Лицензия давала право изменять исходный код только в том случае, если в результате большая работа продолжала поддерживать воспроизведение данных VP3.2. [17] [20]

В марте 2002 года On2 отреагировала на прием публики перелицензированием кодека VP3 под Стандартной общественной лицензией GNU Lesser General Public License . [21] В июне 2002 года On2 пожертвовала VP3 Фонду Xiph.Org и предложила его под лицензией Ogg Vorbis в стиле BSD . [22] [23] [24] [25] On2 также предоставила безотзывную, бесплатную лицензию на любые патентные претензии, которые она могла иметь в отношении программного обеспечения и любых его производных [2], позволяя любому использовать любой кодек, производный от VP3, для любая цель. [11] [26] В августе 2002 года On2 заключила соглашение с Xiph.Org Foundation, чтобы сделать VP3 основой нового бесплатного видеокодека под названием Theora.[27] On2 declared Theora to be VP3's successor.[citation needed] On 3 October 2002, On2 and Xiph announced the completion and availability of the initial alpha code release of libtheora, Theora's reference implementation.[28]

There is no formal specification for VP3's bitstream format beyond the VP3 source code published by On2 Technologies. In 2003, Mike Melanson created an incomplete description of the VP3 bitstream format and decoding process at a higher level than source code, with some help from On2 and Xiph.Org Foundation. The Theora specification adopted some portions of this VP3 description.[2][29]

A successor to Theora, Daala, was later merged into AV1.[30]

Theora I specification[edit]

Play media
Example of a Theora video used on Wikipedia, showing a Polikarpov I-15 biplane at an aerobatic display.

The Theora I bitstream format was frozen in June 2004 after the libtheora 1.0alpha3 release.[1] Videos encoded with any version of the libtheora since the alpha3 will be compatible with any future player.[1][31] This is also true for videos encoded with any implementation of the Theora I specification since the format freeze. The Theora I Specification was completely published in 2004.[32] Any later changes in the specification are minor updates.

The Theora reference implementation libtheora spent several years in alpha and beta status.[31] The first alpha version was released on 25 September 2002[33] and the first beta version was released on 22 September 2007. The first stable release of libtheora was made in November 2008.[34][35] Work then focused on improving the codec's performance in the "Thusnelda" branch, which was released as version 1.1 in September 2009 as the second stable libtheora release.[31][36] This release brought some technical improvements and new features, such as the new rate control module and the two-pass rate control.

The codename for the next version of libtheora is Ptalarbvorm.[37]

Theora is well established as a video format in open-source applications, and is the format used for Wikipedia's video content. However, the proposed adoption of Theora as part of the baseline video support in HTML5 resulted in controversy.[38]

Performance[edit]

Encoding performance[edit]

Evaluations of the VP3[39]and early Theora encoders[40][41][42]found that their subjective visual quality was inferior to that of contemporary video codecs. More recently however, Xiph developers have compared the 1.1 Theora encoder to YouTube's H.264 and H.263+ encoders, in response to concerns raised in 2009 about Theora's inferior performance by Chris DiBona, a Google employee.[43] They found the results from Theora to be nearly the same as YouTube's H.264 output, and much better than the H.263+ output.[44][45]

The performance characteristics of the Theora 1.0 reference implementation are dominated mostly by implementation problems inherited from the original VP3 code base.[46] Work leading up to the 1.1 stable release was focused on improving on or eliminating these. A May 2009 review of this work shows a considerable improvement in quality, both subjectively and as measured by PSNR, just by improving the forward DCT and quantisation matrices.[47] A flaw in the version of FFmpeg used in the test initially led to incorrect reports of Theora PSNR surpassing that of H.264. Although not achieving this goal, the improvement in the measured PSNR and the perceived quality is considerable. In any case, the differences in quality, bitrate and file size between a YouTube H.264 video and a transcoded Ogg video file are negligible.[48] Further work on adaptive quantization, as well as overall detailed subjective tuning of the codec, is still to come.

Playback performance[edit]

There is an open-source VHDL code base for a hardware Theora decoder in development.[49] It began as a 2006 Google Summer of Code project, and it has been developed on both the Nios II and LEON processors.[50] However, there are currently no Theora decoder chips in production, and portable media players, smartphones and similar devices with limited computing power rely on such chips to provide efficient playback. But since decoding Theora is less CPU intensive than decoding H.264, the need for hardware-accelerated Theora decoding may be somewhat less.[citation needed]

Playback[edit]

Native browser playback[edit]

As originally recommended by HTML 5, these browsers support Theora when embedded by the video element:

  • Mozilla Firefox 3.5 and later versions[51][52] including Firefox for mobile (Fennec).[53]
  • Google Chrome as of version 3.0.182.2[54][55] including Chromium as of 14 July 2009.[56]
  • Tizen browser
  • SeaMonkey as of version 2.0.[57]
  • Konqueror 4.4.2[58][59]
  • Opera as of version 10.50.[60][61] It was also supported in Opera 9.5 experimental video builds.[62][63]
  • Web uses WebKitGTK+ as its rendering engine. As WebKitGTK+ uses GStreamer to implement the HTML5 media player, and all the formats GStreamer supports (including Theora) are available in browser.
  • Midori is another example of a browser that supports Theora by using WebKitGTK+.

Browser plugins[edit]

  • Annodex plugin via OggPlay[64]
  • Cortado, a Java based applet
    • Itheora, a PHP wrapper for Cortado
  • Mv Embed[65] HTML 5 video tag wrapper for numerous plugin types.
  • VLC media player browser plugin for IE or Firefox
  • Microsoft Edge, via the Web Media Extensions add-on[66]

Supporting media frameworks[edit]

  • DirectShow with use of OpenCodecs
  • GStreamer supported via Theora or FFmpeg module, supports GStreamer based applications e.g. Totem and Songbird
  • Phonon
  • QuickTime (including but not limited to Safari) with use of Xiph QuickTime Components
  • Silverlight Highgate media suite is going to bring an Open Source Theora/Vorbis implementation in Silverlight. It will enable installation-free support for HTML5 streaming video.[67]

Supporting applications[edit]

  • FFmpeg (own implementation)
  • Helix Player
  • Miro Media Player (formerly known as Democracy Player)
  • MPlayer and front-ends
  • Songbird, Totem, Moovida and all GStreamer-based players
  • VLC (native support)
  • xine and all libxine-based players like Kaffeine
  • Dragon player and all Phonon-based players

Encoding[edit]

There are several third-party programs that support encoding through libtheora:

The libtheora library contains the reference implementation of the Theora specification for encoding and decoding. libtheora is still under development by the Xiph.Org Foundation. The library is released under the terms of a BSD-style license.

Also, several media frameworks have support for Theora.

  • The open-source ffdshow audio/video decoder is capable of encoding Theora videos using its Video for Windows (VFW) multi-codec interface within popular AVI editing programs.[70][71][72] It supports both encoding and decoding Theora video streams and uses Theora's alpha 4 libraries. However, many of the more refined features of Theora aren't available to the user in ffdshow's interface.
  • The GStreamer framework has support for parsing raw Theora streams, encoding and decoding raw Theora streams to/from YUV video[73][74]

Editing[edit]

Streaming[edit]

The following streaming media servers are capable of streaming Theora video:

Makers[edit]

Elphel is the main maker of cameras that record in theora.

See also[edit]

  • Video editing software
  • Comparison of video codecs
  • Comparison of video encoders

References[edit]

  1. ^ a b c Giles, Ralph (1 June 2004). "Theora I bitstream freeze". theora-dev (Mailing list). Retrieved 25 September 2009.
  2. ^ a b c d "Theora Specification" (PDF). Xiph.Org Foundation. 16 March 2011. Retrieved 31 January 2012.
  3. ^ "PlayOgg! - FSF - Free Software Foundation". 17 March 2010. Retrieved 1 October 2013.
  4. ^ "Theora 1.1.1 release". Xiph.Org Foundation. Retrieved 6 October 2009.
  5. ^ "libtheora 1.2.0alpha1 release". Xiph.Org Foundation. September 2010. Retrieved 10 October 2010.
  6. ^ Theora.
  7. ^ Xiph.Org Foundation. "libtheora Documentation 1.1.0". Xiph.Org Foundation. Retrieved 25 September 2009.
  8. ^ ohloh. "libtheora". ohloh. Retrieved 25 September 2009.
  9. ^ "Theora FAQ". Xiph.Org Foundation. Retrieved 6 August 2009.
  10. ^ "Matroska Codec Specs". Matroska. Retrieved 6 August 2009.
  11. ^ a b Xiph.org libtheora license (Subversion – Trunk), Retrieved on 16 August 2009
  12. ^ a b Xiph.org FAQ – Theora and VP3. Retrieved 2 September 2009
  13. ^ On2 (17 May 2000), On2.com Launches Next Generation of Revolutionary Broadband Video Technology, archived from the original on 3 December 2007
  14. ^ On2 (16 August 2000), On2 Introduces TrueMotion VP3.2, archived from the original on 3 December 2007, retrieved 23 August 2010
  15. ^ On2 (7 August 2001), On2 Technologies to Open Source VP3.2 Video Compression Technology (archived website), archived from the original on 3 December 2007
  16. ^ Mariano, Gwendolyn (7 August 2001). "On2's video codec to go open-source". CNET.
  17. ^ a b On2 Technologies (2001), VP3.2 Public License 0.1, Xiph.Org Foundation, retrieved 10 February 2008
  18. ^ Bernat, Bill (7 September 2001). "On2 Offers Up VP3.2 Source Code". StreamingMedia.com.
  19. ^ On2 (7 September 2001), On2 Technologies Makes Video Compression Technology Available to Open-Source Community, archived from the original on 7 December 2007
  20. ^ Seibert, Stan (September 2001). "VP3.2 video codec open sourced". vorbis (Mailing list).
  21. ^ "On2 Alters Licensing Terms for VP3; Company Responds to Open Source Community Demands" (Press release). On2 Technologies. 28 March 2002.
  22. ^ Xiph.Org Foundation (16 March 2011). "Theora Specification" (PDF). Xiph.Org Foundation. p. 1.
  23. ^ On2 (24 June 2002), VP3 Combines with Vorbis to Create First Open-Source Multimedia Platform, archived from the original on 3 December 2007
  24. ^ Linux.com (23 June 2002) Ogg Vorbis, VP3 combining forces to create Open Source multimedia package, Retrieved on 2009-08-16
  25. ^ InternetNews.com (24 June 2002) On2 Throws More Open-Source at MPEG-4, Retrieved on 16 August 2009
  26. ^ Xiph.org VP32 codec license (Subversion – Trunk), Retrieved on 16 August 2009
  27. ^ The Free Library (1 August 2002) On2 Signs Pact With Xiph.org to Develop/Support VP3, Retrieved on 16 August 2009
  28. ^ On2 (3 October 2002), On2 and Xiph Announce Alpha Code Release of Theora, VP3-Vorbis-Based Multimedia Solution, archived from the original on 4 December 2007
  29. ^ Mike Melanson (mike at multimedia.cx) (8 December 2004), VP3 Bitstream Format and Decoding Process, Multimedia.cx, archived from the original on 6 January 2013, retrieved 27 September 2009
  30. ^ Stephen Shankland (1 September 2015). "Tech giants join forces to hasten high-quality online video". CNET. Retrieved 17 March 2021.
  31. ^ a b c Xiph.Org Foundation (24 September 2009), Theora.org : news, Xiph.Org Foundation, retrieved 25 September 2009
  32. ^ Xiph.Org Foundation (17 September 2004). "Theora I Specification, Xiph.org Foundation, September 17, 2004" (PDF). Archive.org. Archived from the original (PDF) on 28 September 2004. Retrieved 26 September 2009.
  33. ^ https://git.xiph.org/?p=theora.git;a=blob_plain;f=CHANGES;hb=HEAD
  34. ^ Giles, Ralph (3 November 2008). "Theora 1.0 final release!". theora-dev (Mailing list). Retrieved 4 November 2008.
  35. ^ "The Xiph.Org Foundation announces the release of Theora 1.0" (Press release). Xiph.Org Foundation. 3 November 2008. Retrieved 6 August 2009.
  36. ^ Giles, Ralph (24 September 2009). "libtheora 1.1 (Thusnelda) stable release". theora-dev (Mailing list). Retrieved 24 September 2009.
  37. ^ Monty (18 May 2010). "Theora: Ptalarbvorm project update 20100518". Retrieved 1 July 2010.
  38. ^ McLean, Prince (7 July 2009). "Ogg Theora, H.264 and the HTML 5 Browser Squabble". AppleInsider. Retrieved 1 November 2020.
  39. ^ "MPEG-4 Codec shoot-out 2002 – 1st installment". Doom9. 2002. Archived from the original on 23 February 2008. Retrieved 19 December 2007.
  40. ^ Codec shoot-out 2005 – Qualification, Doom9, 2005, archived from the original on 31 December 2007, retrieved 19 December 2007
  41. ^ Loli-Queru, Eugenia (12 December 2007). "Theora vs. h.264". OSNews. Retrieved 1 April 2008.
  42. ^ Halbach, Till (March 2009). "Dirac and Theora vs. H.264 and Motion JPEG2000". Archived from the original on 7 July 2012. Retrieved 22 April 2008.
  43. ^ DiBona, Chris (13 June 2009). "H.264-in-<video> vs plugin APIs". whatwg (Mailing list). Retrieved 10 August 2009.
  44. ^ Maxwell, Greg (13 June 2009). "YouTube / Ogg/Theora comparison". Xiph.Org Foundation. Retrieved 10 August 2009.
  45. ^ Merten, Maik (15 June 2009). "Another online-video comparison". Xiph.Org Foundation. Retrieved 10 August 2009.
  46. ^ Montgomery, Chris. "Theora "the push for 1.0" update". Retrieved 19 December 2007.
  47. ^ Blizzard, Christopher. "Theora Update 7 May 2009". Retrieved 10 May 2009.
  48. ^ Richmond, Gary. "Firefogg: Transcoding videos to open web standards with Mozilla Firefox". Retrieved 14 February 2010.
  49. ^ "Xiph Subversion repository: trunk/theora-fpga". Xiph.Org Foundation. Retrieved 10 August 2009.
  50. ^ "XiphWiki: Theora Hardware". Xiph.Org Foundation. Retrieved 10 August 2009.
  51. ^ MozillaWiki (18 March 2009), Firefox3.5/Features, MozillaWiki, retrieved 11 October 2009
  52. ^ Mozilla Corporation (30 June 2009), Mozilla Firefox 3.5 Release Notes, Mozilla Corporation, retrieved 11 October 2009
  53. ^ Mozilla Corporation (9 February 2010), Firefox Mobile Features, Mozilla Corporation, retrieved 9 February 2010
  54. ^ Google Chrome to support HTML 5 video, SoftSailor, 28 May 2009, archived from the original on 3 October 2009, retrieved 11 October 2009
  55. ^ Shankland, Stephen (28 May 2009), Google Chrome gets HTML video support, cnet news, retrieved 11 October 2009
  56. ^ Issue 16657: Ensure FFmpeg binaries end up in snapshots on all platforms, Google Chromium, 14 July 2009, retrieved 6 February 2010
  57. ^ Kaiser, Robert (16 September 2009), What's New in SeaMonkey 2.0 Beta 2, seamonkey-project.org, retrieved 11 October 2009
  58. ^ Bugreport: Wish for audio/video element support in Konqueror, 13 May 2007, archived from the original on 28 December 2012, retrieved 2 December 2009
  59. ^ Plans for Konqueror 4.4, 26 November 2009, retrieved 2 December 2009
  60. ^ Jägenstedt, Philip (31 December 2009). "(re-)Introducing <video> – Official blog for Core developers at Opera". Opera. Archived from the original on 4 January 2010. Retrieved 2 January 2010.
  61. ^ Arjan van Leeuwen (31 December 2009). "Happy New Year! – Official blog for Core developers at Opera". Opera. Archived from the original on 4 January 2010. Retrieved 2 January 2010.
  62. ^ Experimental Opera-video build with native Ogg Theora support, Opera, 25 April 2007, archived from the original on 2 December 2007, retrieved 11 October 2009
  63. ^ A call for video on the web – Opera <video> release on Labs, Opera, 7 November 2007, retrieved 11 October 2009
  64. ^ OggPlay
  65. ^ Mv Embed Archived 4 August 2008 at the Wayback Machine
  66. ^ https://www.microsoft.com/en-us/p/web-media-extensions/9n5tdp8vcmhs?activetab=pivot:overviewtab
  67. ^ alp (4 February 2010). "HTML5 Theora Video Codec for Silverlight". Alp Toker blog. Retrieved 14 February 2010. The Highgate media suite will bring installation-free support for HTML5 streaming video
  68. ^ Firefogg
  69. ^ ffmpeg2theora
  70. ^ "ffdshow Summary". Retrieved 23 October 2009.
  71. ^ Cutka, Milan (4 October 2002). "Theora support in ffdshow a ffvfw". theora-dev (Mailing list).
  72. ^ "Theora in .ogg no only .avi – ffdshow tryouts Forum". 15 January 2008. Retrieved 23 October 2009.
  73. ^ gstreamer.freedesktop.org. "GStreamer Base Plugins 0.10 (0.10.24.1)". Retrieved 23 October 2009.
  74. ^ gstreamer.freedesktop.org. "GStreamer Base Plugins 0.10 Plugins Reference Manual – Theora plugin library". Retrieved 23 October 2009.
  75. ^ Ogg Video Tools on SourceForge

External links[edit]

  • Theora.org
  • Examples of Theora-encoded videos
  • Why Theora Matters for Internet TV
  • Theora user manual
  • RTP Payload Format for Theora Encoded Video – Xiph.Org, IETF Internet-Draft
  • Wikipedia's controversial video player coming soon
  • H.264 and Theora codecs comparison