[vlc] Speex+Theora Support

Peter Grayson jpgrayson at gmail.com
Tue May 22 15:44:52 CEST 2007


Hi All,

I am working on an application that records video conferences
consisting of speex and theora streams to an ogg container. I get
decent, but not perfect results when I playback these theora+speex ogg
files in vlc.

I am wondering what is the state of ogg/theora+speex playback in vlc
(especially regarding audio/video synchronization)? Does anybody else
couple speex with theora?

By the way, VLC seems to have, by far, the best support for playing
ogg/theora+speex media. This is compared to mplayer, xine, quicktime
with xiph-qt plugins, and windows media player with addon xiph
directshow filters. Vlc is a great player!

What I have observed is that video and audio are out of
synchronization. Vlc sometimes has trouble deciding when to initially
show video. Then there seems to be an offset where video is playing
slightly later than audio. I see lots of suspicious warnings too:

main warning: buffer is 60000 late, triggering upsampling
main warning: timing screwed, stopping resampling
main warning: buffer is 120000 late, triggering upsampling
main warning: audio drift is too big (139000), dropping buffer
main warning: audio drift is too big (139000), dropping buffer
main warning: audio drift is too big (139000), dropping buffer
<snip>
main debug: using decoder module "theora"
main debug: thread 4268 (decoder) created at priority 0 (input/decoder.c:172)
theora debug: 320x240 15.00 fps video, frame content is 320x240 with
offset (0,0)
main warning: audio drift is too big (427094), dropping buffer
main warning: audio drift is too big (407094), dropping buffer
main warning: audio drift is too big (387094), dropping buffer
main warning: audio drift is too big (367094), dropping buffer
main warning: audio drift is too big (347094), dropping buffer
main warning: audio drift is too big (327094), dropping buffer
main warning: audio drift is too big (307094), dropping buffer
main warning: audio drift is too big (287094), dropping buffer
<snip>
main warning: late picture skipped (32684)
main warning: output date isn't PTS date, requesting resampling (-40886)
main warning: resampling stopped after 6797000 usec (drift: 54916)
main warning: buffer is 53916 in advance, triggering downsampling
main warning: output date isn't PTS date, requesting resampling (-41000)
main warning: timing screwed, stopping resampling
main warning: buffer is 84291 in advance, triggering downsampling
main warning: output date isn't PTS date, requesting resampling (-43000)

Also, the audio is sometimes distorted. Could this be because vlc is
resampling from speex's 8kHz to 44.1kHz?

I am seeing the same behavior on Linux, Mac, and Windows builds. The
behavior seems very similar with both the released 0.8.6b and 0.9.0
trunk.

I made a small (60kB) theora+speex media file that highlights the
problems. It just has a synthetic audio tone that goes on and off in
sync with the color of the video changing. I am happy to post it if
there is interested.

Looking through trac, I found this ticket:

  https://trac.videolan.org/vlc/ticket/5

So it seems like synchronization issues are on some of the vlc
developers' minds. Maybe this factors into the synchronization issues
with theora+speex?

Thanks in advance!
Pete

-- 
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html



More information about the vlc mailing list