[theora-dev] smooth streaming with theora

jaromil jaromil at dyne.org
Fri May 29 07:54:16 PDT 2009

Hash: SHA1

re all,

these  days we're  busy  on  freej development  with  a final  release
hopefully due  in july, including  a full suite for  video compositing
and streaming in javascript (xulrunner  1.9) and python (c++ -> swig),
see debian pkgs: http://packages.debian.org/sid/libfreej-dev
we will also  have a carbon/osx (and native  quicktime) free graphical
client to  stream theora  to icecast on  apple computers.

by now things are mostly in  place, while we are going through a picky
debugging session.

i'm  writing  you  because  we  noticed  that,  altough  working,  the
streaming of ogg/theora 1.0 is  not correctly timed on the player side
when  using icecast2  and the  ffmpeg2theora  encoder (theorautils.c):
using various players as vlc, mplayer, xine and firefox 3.5 the client
plays  too  fast  the  incoming frames  (without  fps  synchronisation
basically) until reaching 0 latency with the stream source, then stops
(or crashes even).

further research on  the topic has shown that the ogg  mux code in vlc
(vlc/modules/mux/ogg.c) sets  a lot more  variables (pts, dts  and the
granular shift calculus) that seem to be disregarded in old code (that
used to work) as ffmpeg2theora/theorautils.c

now the question: are there  documented code examples for streaming to
handle  correctly timing  issues? and  if  not, is  there an  existing
source code that can be considered a correct reference, something like
the mux code of vlc, gstreamer, ffmpeg2theora or oggfwd?

thanks for your support and cheers to the 1.1 release, i'll be testing
that soon.


- -- 

jaromil, dyne.org developer, http://jaromil.dyne.org

GPG: 779F E8B5 47C7 3A89 4112  64D0 7B64 3184 B534 0B5E
Version: GnuPG v1.4.9 (GNU/Linux)


More information about the theora-dev mailing list