[theora] Ripping theora stream
Stefano Luceri
stefano.luceri at agilex.it
Fri Aug 19 03:45:18 PDT 2011
The problem of fast playing was a fault in writing down the packets. I set
up granulepos = 0 for all packets, most players didn't even open the file,
only mplayer open/play the file ad maximum speed.
I solved the problem checking if a packet is a keyframe using:
th_packet_iskeyframe(&op)
and adjusting consequently granulepos.
Such solution is not very fast but the ogg file produced seems to be ok and
seekable.
Stefano
>> Now I've the following problem, playing the ogg file is very fast, is
>> there a way in theora to 'control' frame rate?
>The frame rate is written in the setup header. You should check that frame
rate and see if it is correct. One possibility is that the transmitter is
lying to >you about the frame rate. Another possibility is that some frames
are getting lost (RTP is a lossy protocol). When a frame is lost, you
should probably insert >an empty (size 0) packet in the Ogg stream so that
you don't lose temporal synchronization.
>> Moreover my next step consists in muxing audio/video (I can save it as
>> a separate WAV for now), what tool or library do you suggest for muxing?
>You can do the muxing using liboggz (it's not much more code than you have
already).
More information about the theora
mailing list