suggestion of how to "extend" the ogg framework.
Philip Jägenstedt <[email protected]> Wed, 30 Oct 2002 02:33:47 +0100
| Newsgroups | gmane.comp.multimedia.ogg.tarkin.devel |
|---|---|
| Message-ID | <[email protected]> |
This may not be very topical, but since this is related to the "Suggestions and questions" post, I've chosen to post it here. Most of this has been said in the http://www.xiph.org/archives/tarkin-dev/200210/0001.html thread, so you mihgt want to read that :) I've thought some more about this and that, and have found that the following features would be lovely. 1) It would be nice to be able to specify an external file X from which to fork in a logical stream between logical stream 1 and 2 while playing ogg file Y. This information should be stored in ogg file Y. The player should grab the external file and play stream(s). If the stream is nowhere to be seen; skip playing it. Usage: ability to reuse the intro of say a whole tv or radio series, hence saving disk space. This has already been covered to some extent in previously threads. 2) The ability to put two or more logical streams of type video side by side in an ogg file (I'm sure this can be done already, with some willpower), and be able to specify in which order they should appear - i.e. which one is on top. Imagine having one video layer with transparencies (ok, this isn't possible with present ones) and letting the "background" video shine through. Now imagine this background video is defined as an external stream - this would mean that it would be possible to use the same foreground video but very easily change background - good if you want a christmas theme for your little video :) In any case, this sort of thing should save disk space (but waste time). This is not much news, but what I would actually like a discussion about is HOW this sort of thing could be implemented. I've though about the possibility of doing this the easy way - by using the comments in ogg. This does seem somehow... clonky, but I cannot see why it should not work. Just like "artist" is a standard field for the artist name, "foobar" could be the standard field for this external file buisness. So imagine file foo.ogg - this has two logical streams (both vorbis, for the sake of argument). In the magical comment field it is somehow specified that the ogg stream with serial 123456 should be forked inbetween logical stream 1 and 2 on playback. If the player does not understand this comment, it will ignore it ofcourse and the user will notice nothing. If the player does understand it however it will look for the file (on the internet or locally) which contains this stream. The local filename could be stated, but should not be the only clue as many people like to change filenames at random. Error checking using things such as md5sums etc could ensure that the right stream is actually forked in. The beauty of this sort of thing would obviously be that old players would still be able to play the thing. Information about order when it comes to parallel video streams in different layers could also be stated in some comment. But I really don't know how a player without this knowledge would react to two videostreams (but then again there is no current video format using ogg out and about - only theora and tarkin). An alternative solution would be building all of this super-duper flashy stuff in a different framework, using ogg, but not being ogg. We could do lovely things as silly menus and all sorts of interactive garbage (I think something like this was developed by macromedia already :) It's really frustrating to all sort of things you would like to be able to do, but knowing where those things should/could be built. What do you guys think? Would this sort of solution be any good, or would it just cause problems in the future. Perhaps, as we have said before, this sort of this should be handeled totally outside the ogg framework, but to me (as someone who has never actually looked the the source code of ogg), it (using comments) seems like a good idea. If it is not, please explain why. //Philip Jägenstedt --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to '[email protected]' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.