Nick Burch
2014-Aug-24 07:21 UTC
[ogg-dev] Merging Ogg streams whilst updating the Skeleton?
On Sat, 23 Aug 2014, Silvia Pfeiffer wrote:> I would merge them with oggz-merge without skeleton and then add > skeleton using oggindex e.g. > http://git.xiph.org/?p=OggIndex.git;a=summary . (oggindex is also > available from http://firefogg.org/nightly/ )Ah, that looks like the tool I was looking for! Nearly there now... With a theora+speex file, or a theora+opus file, it fails with errors like: Writing output to 'testTheoraSPEEXSkeleton.ogg' FAIL: Unhandled stream type, serialno=478384172 aborting indexing! (The serial number given is the serial of the opus or speex stream) With a theora+theora+vorbis file, the message headers have both theora streams marked as the main stream and video_1: * Bone 1 - Message Headers: * Name = audio_1 * Role = audio/main * Content-Type = audio/vorbis * Bone 2 - Message Headers: * Name = video_1 * Role = video/main * Content-Type = video/theora * Bone 3 - Message Headers: * Name = video_1 * Role = video/main * Content-Type = video/theora How can I edit that to say which video is main and which is alternate? Are there options to pass to ogg-index for that? Or is there a magic fisbone-comment / skeleton-comment tool out there I need to use? Oh, and one other thing - I'm not sure that the fisbone's generated by ogg-index are quite right, at least not based on the description on the wiki. For skeletons generated with ffmpeg2theora or libtheora, the message header offset is set to 0x2c=44. That's the start offset of 52 within the bone, less the size of the fisbone\0 identifier. oggi-index is generating them with the message header offset of 52, so indcluding the fisbone length, *but* still seems to write the the message headers from 52 bytes in from the start of the fisbone (not 60 as the offset might suggest). Is that a bug, or am I just mis-understanding something? Thanks Nick
Silvia Pfeiffer
2014-Aug-24 11:42 UTC
[ogg-dev] Merging Ogg streams whilst updating the Skeleton?
It's well possible there are bugs. I don't know when the code was last updated. Also, I am not sure if there are command-line parameters to set the role - I would think there are. I don't actually have these tools in use right now, sorry. I hope somebody else can help. Silvia. On Sun, Aug 24, 2014 at 5:21 PM, Nick Burch <ogg at gagravarr.org> wrote:> On Sat, 23 Aug 2014, Silvia Pfeiffer wrote: >> I would merge them with oggz-merge without skeleton and then add >> skeleton using oggindex e.g. >> http://git.xiph.org/?p=OggIndex.git;a=summary . (oggindex is also >> available from http://firefogg.org/nightly/ ) > > Ah, that looks like the tool I was looking for! Nearly there now... > > > With a theora+speex file, or a theora+opus file, it fails with errors > like: > Writing output to 'testTheoraSPEEXSkeleton.ogg' > FAIL: Unhandled stream type, serialno=478384172 aborting indexing! > (The serial number given is the serial of the opus or speex stream) > > > With a theora+theora+vorbis file, the message headers have both theora > streams marked as the main stream and video_1: > * Bone 1 - Message Headers: > * Name = audio_1 > * Role = audio/main > * Content-Type = audio/vorbis > * Bone 2 - Message Headers: > * Name = video_1 > * Role = video/main > * Content-Type = video/theora > * Bone 3 - Message Headers: > * Name = video_1 > * Role = video/main > * Content-Type = video/theora > > How can I edit that to say which video is main and which is alternate? Are > there options to pass to ogg-index for that? Or is there a magic > fisbone-comment / skeleton-comment tool out there I need to use? > > > Oh, and one other thing - I'm not sure that the fisbone's generated by > ogg-index are quite right, at least not based on the description on the > wiki. For skeletons generated with ffmpeg2theora or libtheora, the message > header offset is set to 0x2c=44. That's the start offset of 52 within the > bone, less the size of the fisbone\0 identifier. oggi-index is generating > them with the message header offset of 52, so indcluding the fisbone > length, *but* still seems to write the the message headers from 52 bytes > in from the start of the fisbone (not 60 as the offset might suggest). Is > that a bug, or am I just mis-understanding something? > > Thanks > Nick > _______________________________________________ > ogg-dev mailing list > ogg-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/ogg-dev
Nick Burch
2014-Sep-04 09:51 UTC
[ogg-dev] Merging Ogg streams whilst updating the Skeleton?
On Sun, 24 Aug 2014, Silvia Pfeiffer wrote:> It's well possible there are bugs. I don't know when the code was last > updated.The last commit was in May, so it looks like it is being worked on... I've gone ahead and raised three bugs, one for the offset, one for more helpful error messaged, and one for subsequent streams of a given type needing different roles+names. I've also produced proposed patches for all three problems, which seem to fix the issues enough for my needs. For anyone interested in the problems and/or interested in reviewing + applying the patches, the bugs are: https://trac.xiph.org/ticket/2041 - fisbone header offset https://trac.xiph.org/ticket/2042 - unsupported stream error message https://trac.xiph.org/ticket/2043 - roles+names on subsequent streams Nick