3

I use recordMyDesktop v0.3.8.1 on Ubuntu 11.04 to capture an .ogv of my session. After I'm done, I open the .ogv in VLC media player 1.1.9 The Luggage; this is how it looks like:

vlc-1.png

... notably, there is no lenght - and additionally, seeking is horrible.

Now, one might blame this on old software etc - but then, I download

http://archive.org/download/Elephants_Dream_teaser_2/elephantsdream_teaser.ogv

... and open that in the same version of VLC - and lo and behold:

vlc-2.png

... the duration of that file is recognized by VLC; and in addition, seeking works relatively well!

So, I try to compare these two files using oggz-info:

$ oggz-info ./out.ogv ./elephantsdream_teaser.ogv 
Filename: ./out.ogv
Content-Duration: 00:00:34.916

Skeleton: serialno 1766583216
    3 packets in 3 pages, 1.0 packets/page, 36.842% Ogg overhead
    Presentation-Time: 0.000
    Basetime: 0.000

Theora: serialno 0666666463
    842 packets in 56 pages, 15.0 packets/page, 0.593% Ogg overhead
    Theora-Version: 3.2.1
    Video-Framerate: 24.000 fps
    Video-Width: 640
    Video-Height: 480
------------------------------------------------------------
Filename: ./elephantsdream_teaser.ogv
Content-Duration: 00:01:15.228

Theora: serialno 3398283591
    1799 packets in 310 pages, 5.8 packets/page, 0.594% Ogg overhead
    Theora-Version: 3.2.1
    Video-Framerate: 24.000 fps
    Video-Width: 532
    Video-Height: 300

Vorbis: serialno 4073121151
    3295 packets in 76 pages, 43.4 packets/page, 0.821% Ogg overhead
    Audio-Samplerate: 44100 Hz
    Audio-Channels: 2

... and the only thing I can notice is: ./out.ogv has a skeleton, but no audio; ./elephantsdream_teaser.ogv has no skeleton, but has audio track. I don't think the audio is the main difference here, as I've taken recordmydesktops with audio, and they behave the same - and I also have removed the skeleton from those videos using oggCat, to no improvement in VLC.

I am aware that: (Configuring servers for Ogg media - HTTP | MDN):

The Ogg format doesn't encapsulate the duration of media

(Getting the length of a ogg track from s3 without downloading the whole file):

The way to [get length] is to use HTTP range requests to fetch the end of the file, find the last Ogg page, and extract the timestamp from it.

(manpage: oggCut)

a video stream consists of I-frames (which are full pictures) and P-frames (which are delta pictures to the leading I-frame)

(Thundering Herd: Indexing keyframes in Ogg videos for fast seeking)

when we seek an Ogg/Theora video to a target time, we must perform a bisection search over the file in order to find the target Theora video frame ... If we knew in advance where the keyframes were, we wouldn't need to do any bisection searches

So, the difference between the out.ogv from recordmydesktop, and elephantsdream_teaser.ogv, in terms of performance in VLC, must have something to do with keyframes. So my questions are:

  • What sort of tool can I use, to inspect the difference between these two files in terms of existence and ammount of keyframes?
  • What sort of tool can I use, to convert out.ogv to a version that behaves the same in VLC (showing duration, and with reasonable seeking times) as the elephantsdream_teaser.ogv does - hopefully, without lossy re-encoding?
Community
  • 1
  • 1
sdaau
  • 36,975
  • 46
  • 198
  • 278

0 Answers0