After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 599939 - 1 frame/page Ogg/Theora files
1 frame/page Ogg/Theora files
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.25
Other Linux
: Normal normal
: 0.10.29
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-10-28 19:15 UTC by Arek Korbik
Modified: 2010-12-22 23:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Arek Korbik 2009-10-28 19:15:21 UTC
Ogg/Theora files created with gstreamer (0.10.25-2) and -base (0.10.25-2ubuntu1) contain all theora frames/packets in separate ogg pages, 1 packet per page, thus causing high container size overhead.

For example:

  Content-Duration: 00:00:50.480
  Content-Length: 496.691 kB
  Content-Bitrate-Average: 80.604 kbps

  Theora: serialno 2065395012
  	1040 packets in 1039 pages, 1.0 packets/page, 22.852% Ogg overhead

or:

  Content-Duration: 01:12:40.593
  Content-Length: 52.944 MB
  Content-Bitrate-Average: 101.850 kbps

  Theora: serialno 0012675979
  	91006 packets in 91005 pages, 1.0 packets/page, 13.986% Ogg overhead

Note, that the pages and packets seem continuous, no gaps, so there shouldn't be a reason to mux a 26 byte frame in a separate ogg page:

  |2008845077|   GP 23057207,  packetno 26: 47 bytes
  |0012675979| page 18026, granulepos 18012|2, Flags:  (1 (26))
  |0012675979|   GP 18012|2,  packetno 6: 26 bytes
  |0012675979| page 18027, granulepos 18012|3, Flags:  (1 (38))
  |0012675979|   GP 18012|3,  packetno 7: 38 bytes
  |0012675979| page 18028, granulepos 18012|4, Flags:  (1 (50))
  |0012675979|   GP 18012|4,  packetno 8: 50 bytes
  |0012675979| page 18029, granulepos 18012|5, Flags:  (1 (89))
  |0012675979|   GP 18012|5,  packetno 9: 89 bytes
  |0012675979| page 18030, granulepos 18012|6, Flags:  (1 (123))
  |0012675979|   GP 18012|6,  packetno 10: 123 bytes
  |0012675979| page 18031, granulepos 18012|7, Flags:  (1 (111))
  |0012675979|   GP 18012|7,  packetno 11: 111 bytes
Comment 1 David Schleef 2010-12-04 22:42:33 UTC
This has been fixed for some time.

commit 1701c706ecf449e4ba77ea1a98b007e287439ce8
Author: David Schleef <ds@schleef.org>
Date:   Tue Mar 9 15:39:55 2010 -0800

    oggmux: Don't flush after every frame for theora