Displaying 20 results from an estimated 12000 matches similar to: "AW: Keyframe seeking in Ogg and spec"
2002 Sep 13
6
Keyframe seeking in Ogg and spec
Folks have noticed that the documentation is semi-silent about how to
properly encode the granule position and interleave synchronization of
keyframe-based video. The primary reasons for this:
a) we at Xiph hadn't had to do it yet
b) there are several easy possibilities, and the longer we had to
think about it before mandating One True Spec, the better that spec
would likely be.
The
2003 Jun 11
5
question about ogg mapping
Question: is it permissible to put more than one frame packet into a page? At 30 fps, Ogg page overhead is on the order of 8 - 10 kbits/sec. At low datarates, this is going to be unacceptable.
If I shove a few frames into a page, how does this affect the granulepos stuff?
___ Dan Miller
(++,) Founder, On2 Technologies
<p>--- >8 ----
List archives: http://www.xiph.org/archives/
2010 Jun 04
2
OGGZ Seeking in Theora
Dear all
I'm aware that there have been several discussions about the seeking
issue and I'm sorry to bring this up again.
To solve the problem with Inter-Frame garbage, a seek to the previous
keyframe has to be made. The keyframe number should be extracted from
the granulepos of the frame where we want to seek to. I hope I
understood the theory - unfortunately a few questions have
2008 Feb 12
2
Seeking to granules in discontinuous streams
Ups! Maybe it's time somebody corrected that statement then - the wiki seems
the right place to put the correct algorithm, IMHO.
Cheers,
Silvia.
On Feb 13, 2008 10:06 AM, Ralph Giles <ralph.giles@artifex.com> wrote:
>
> On 12-Feb-08, at 2:57 PM, Ralph Giles wrote:
>
>
> http://wiki.xiph.org/index.php/GranulePosAndSeeking
>
> I'm not sure it's helpful to
2008 Feb 07
2
Seeking to granules in discontinuous streams
> No particular answers, but I can at least point out that the way
> things were designed for CMML was to work with the existing Ogg
> seeking algorithm. The idea is that a generic seeking routine can work
> on any Ogg file, as long as it knows the granulepos->time mapping for
> the logical bitstreams in the file. That's why all the
> timestamp-related info is crammed into
2006 Apr 04
2
ogg + theora + seeking
Hi all,
I'm actually learning how to use ogg, theora and vorbis. My idea is to create
a small program running, that is able to concatenate ogg video+audio files.
However I have some small questions. Here I will start with the first one:
I read the following for seeking in ogg for a theora key-frame:
---- snipp (http://www.xiph.org/ogg/doc/ogg-multiplex.html) ----
[...]The third point
2008 Aug 12
7
New Ogg Dirac mapping draft
David Flynn has proposed a new Ogg Dirac mapping. The draft is here:
http://davidf.woaf.net/dirac-mapping-ogg.pdf
This is a much bigger break from other codecs than my draft (at
http://wiki.xiph.org/index.php/OggDirac). We talked a bit about it on
IRC today. Below is my summary; hopefully David can correct anything
I got wrong or misleading. Comments?
There are two main differences
2008 Nov 11
5
further debugging of my ogg/theora decoder
Hi,
I am continuing to try to debug my ogg/theora decoder.
The issue seems to be that not enough packets are being pulled from the
bitstream, here is some sample output from my player with some debugging
comments put in:
(playback began at first frame, this is from the middle of the clip)
get page at 1765027
got packet
frame++, skip is 0
frame decoded
page processed, kframe=414 : offs=442
get
2008 Feb 14
2
Seeking to granules in discontinuous streams
Hi,
sorry, there is a bug in the CMML spec and wiki page ... I discussed
this with Silvia earlier this week but haven't gotten around to
correcting it yet.
CMML granulepos is much like theora's; the previous granule is stored
in the higher bits, and the delta since then is stored in the lower
bits. The current timestamp is the sum of the two. This is the
behavior of the implementations
2008 Feb 14
2
Seeking to granules in discontinuous streams
After some more thought on this, I'm trying to work out whether the back link
offset needs precision.
Semantically, the only need we have for this is to be able to seek
back to a point
before the start of the earliest event still active at the time of the
original seek.
As far as I know, and please correct me if I'm wrong, nothing in Ogg
mandates that
this backlink actually resolves to a
2009 Feb 16
2
Theora packets with granulepos of -1
Hello,
I'm just totally confused. In my theora streams encoded using ffmpeg2theora (but also when using my own encoder) I have packets with a granulepos of -1 so I can't identify the packet during a seeking operation correctly. I can also see those strange value when I just print the packet granulepos before sending it to the Theora decoder.
I know why there are PAGES with granularpos of
2009 Sep 22
5
Indexing Ogg files for faster seeking
I've developed an indexer which embeds a keyframe index track in Ogg
files. It embeds the index in its own track, so that players that don't
understand or don't want to use the index can just ignore it.
Ogg needs this to make seeking over networks faster and more efficient.
Currently we must do a bisection search when seeking, which usually
takes aound 6 HTTP requests, give or
2008 Feb 11
4
Seeking to granules in discontinuous streams
> The advantage of storing this in the granulepos field itself, like
> theora and CMML do, is that the seek code may already understand how
> to handle the back pointer. Right now everything assumes the mapping
> is from 'initialized decoder' + 'granulepos from page header' =>
> timestamp, or in the case of theora and CMML => 'timestamp' + 'last
2006 Jul 15
1
Ogg embedding, problem with spec and/or bugs in speexenc
On Sat, 2006-07-15 at 14:35 -0700, Ralph Giles wrote:
> On Sat, Jul 15, 2006 at 02:17:22PM -0500, Joe Wreschnig wrote:
>
> > I'm working on support for tagging Speex files for Mutagen[0] and part
> > of the specification at [1] is confusing me. It says the first page
> > should have granulepos 0 and packetno 0. Does this really mean page
> > sequence number 0,
2006 Jul 15
2
Ogg embedding, problem with spec and/or bugs in speexenc
(Sending again after subscribing, I guess the moderator is on vacation.)
I'm working on support for tagging Speex files for Mutagen[0] and part
of the specification at [1] is confusing me. It says the first page
should have granulepos 0 and packetno 0. Does this really mean page
sequence number 0, since the Ogg format doesn't number packets?
If it doesn't mean page sequence number,
2008 Feb 06
2
Seeking to granules in discontinuous streams
Hi,
I have a question about seeking. In fact, it's more or less a kind
of rambling and thinking aloud, circling around a question.
I've been wondering how to deal with seeking in a stream, and what
to do when seeking in the middle of a set of active events (eg,
when several bits of text are supposed to be shown, but you seek
after the time when they are first shown, and before the time
2006 Jul 05
1
Ogg: correspondence between playtime and file offset
Hi,
I have modified fenice(streaming server) and mplayer(media client) code to
support for ogg container(vorbis+theora). Now I have to implement forward
and rewind of an ogg(vorbis+theora)file by time. So I would like to do
file seek to start reading the file from that position.
Eg:- mplayer will send +10 secs to forward request to fenice through RTSP
and fenice should read and send packets from
2006 Jul 05
1
Ogg: correspondence between playtime and file offset
Hi,
I have modified fenice(streaming server) and mplayer(media client) code to
support for ogg container(vorbis+theora). Now I have to implement forward
and rewind of an ogg(vorbis+theora)file by time. So I would like to do
file seek to start reading the file from that position.
Eg:- mplayer will send +10 secs to forward request to fenice through RTSP
and fenice should read and send packets from
2007 Sep 26
1
AW: How to get the duration of a file or track?
Hello,
> (1) Split the content into chain segments
> (2) extract the first and last data packet from each segment, for all tracks
> (3) recover / calculate the granulepos values for the first and last data packets (*)
> (4) convert the granulepos values from the first and last data packets into time values
> (5) take the largest difference between start and end time as the total
2009 Dec 13
1
Mapping from granulepos to absolute time
I am trying to figure out how theora timestamps map to absolute time values.
This information would be needed to seek by 1 sec, 5 secs etc.
I understand the granulepos is interpreted as Absolute number of key frames
so far | number of frames since last key frame. E.g. 1000|1, 1000|2, ...
How does this map to absolute time in millisecs since the start, I can think
of the following formula:
Total