[theora] Splitting Theora encoding into multiple tasks for Thoggen

David Kuehling dvdkhlng at gmx.de
Sun Oct 29 23:53:11 PST 2006


>>>>> "Aaron" == Aaron Whitehouse <lists at whitehouse.org.nz> writes:

> Hello all, I have been thinking about multiple core processors and how
> Thoggen (http://www.thoggen.net) encodes DVDs to Ogg-Theora files.

> I was intending to file a feature request that basically suggested
> dividing the total size of the target DVD by the number of logical
> CPUs and encoding each chunk of DVD as a separate task so that
> encoding could take place simultaneously.

> This would result in a number of separate Ogg-Theora files that would
> then need to be concatenated together. It is my understanding that
> this would be fairly straight-forward, but wanted to check it with
> this list first. Can anyone see any issue with this from a Theora
> point of view?  Am I correct that a file produced in this way should
> not appear any different to the end user watching the file?

If you just cat complete theora/vorbis streams together, the end user
will have to use a software that is capable of working with such kind of
concatenated streams.  Mplayer, AFAIR is not capable.  I also don't know
whether other capable players (VNC, Helix?) will correctly display
time-stamps for the parts of video encoded.

Well you could try to encode multiple parts of the DVD into
theora-streams without vorbis audio. Then you can throw away the header
packet for the second and following parts, adjust the granulepos, stream
serial number and EOS/BOS fields.  And you will in theory get a
contiguous theora stream.  Playback software shouldn't be able to
distinguish the stream from the streams that you currently produce.

But you will have to encode the vorbis audio in one pass.  Since
play-time for vorbis fragments will differ from play time of
theora-fragments (frame-time), you won't be quite able to concatenate
two vorbis-streams in a way that keeps sync with a contiguous theora
stream.

David
-- 
GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40



More information about the theora mailing list