IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Chapter Marks for Opus, Vorbis and FLAC
gholzmann
post Oct 19 2012, 17:47
Post #1





Group: Members
Posts: 16
Joined: 9-October 12
Member No.: 103732



Hallo!

For those who might be interested, there exists now a new chapter extension for Vorbis Comments:
http://wiki.xiph.org/Chapter_Extension

This enables chapter marks for all file formats, which use the vorbis comments metadata system:
Opus, Oggg vorbis, flac, speex, etc.

Maybe there are some player developers here - it's a great alternative to chapters in MP4/M4A files and there are more and more people using Vorbis Chapters (especially in the german speaking podcasting scene).

The format is very simple:
QUOTE
CHAPTER001=00:00:00.000
CHAPTER001NAME=Chapter 1
CHAPTER002=00:05:00.000
CHAPTER002NAME=Chapter 2
CHAPTER003=00:07:35.500
CHAPTER002NAME=Chapter 3
...


Thanks for your attention wink.gif
LG
Georg

This post has been edited by gholzmann: Oct 19 2012, 17:47


--------------------
http://auphonic.com
Automatic audio post production web service
Go to the top of the page
+Quote Post
skamp
post Oct 19 2012, 21:07
Post #2





Group: Developer
Posts: 1450
Joined: 4-May 04
From: France
Member No.: 13875



Thanks for the heads up. This should be useful with single file rips, though I'm not sure it's possible to convert CD frames to milliseconds exactly.


--------------------
See my profile for measurements, tools and recommendations.
Go to the top of the page
+Quote Post
gholzmann
post Oct 20 2012, 09:44
Post #3





Group: Members
Posts: 16
Joined: 9-October 12
Member No.: 103732



QUOTE (skamp @ Oct 19 2012, 22:07) *
Thanks for the heads up. This should be useful with single file rips, though I'm not sure it's possible to convert CD frames to milliseconds exactly.


Well, you can of course just skip the milliseconds, if you don't have this information ... wink.gif


--------------------
http://auphonic.com
Automatic audio post production web service
Go to the top of the page
+Quote Post
Kohlrabi
post Oct 20 2012, 11:30
Post #4





Group: Super Moderator
Posts: 1081
Joined: 12-March 05
From: Kiel, Germany
Member No.: 20561



QUOTE (skamp @ Oct 19 2012, 22:07) *
Thanks for the heads up. This should be useful with single file rips, though I'm not sure it's possible to convert CD frames to milliseconds exactly.
One Audio CD frame contains 588 16bit stereo samples. This leads to one frame being 1/75s = 0.0133s = 13.3ms long. So the chapters can not be mapped 100% accurately to audio CD frames, though I guess sub-ms precision is not really necessary.

This post has been edited by Kohlrabi: Oct 20 2012, 11:34


--------------------
Ceterum censeo Masterdiskem esse delendam.
Go to the top of the page
+Quote Post
Antonski
post Oct 22 2012, 00:27
Post #5





Group: Members
Posts: 203
Joined: 8-October 01
Member No.: 250



Great!
Is it (planned to be) supported by Foobar?
I've added some chapters by Mp3tag, they are visible in FB as tags, but not recognized as chapters (using v1.1.4)
I guess it will be the first one to support it, anyway.
Go to the top of the page
+Quote Post
gholzmann
post Oct 22 2012, 08:25
Post #6





Group: Members
Posts: 16
Joined: 9-October 12
Member No.: 103732



QUOTE (Antonski @ Oct 22 2012, 01:27) *
Great!
Is it (planned to be) supported by Foobar?


I don't know - VLC should support it in next version:
https://trac.videolan.org/vlc/ticket/6895
(see last comment)

Maybe someone can open a feature request in foobar?


--------------------
http://auphonic.com
Automatic audio post production web service
Go to the top of the page
+Quote Post
Anakunda
post Oct 22 2012, 12:45
Post #7





Group: Members
Posts: 473
Joined: 24-November 08
Member No.: 63072



Isn't chaptering on OGG files already supprted (atleast with foobar2000)?
Convert any album with multiple tracks to multi-track Vorbis or any Ogg-based format. You get one chaptered file.

This post has been edited by Anakunda: Oct 22 2012, 12:45
Go to the top of the page
+Quote Post
gholzmann
post Oct 22 2012, 13:52
Post #8





Group: Members
Posts: 16
Joined: 9-October 12
Member No.: 103732



QUOTE (Anakunda @ Oct 22 2012, 13:45) *
Isn't chaptering on OGG files already supprted (atleast with foobar2000)?
Convert any album with multiple tracks to multi-track Vorbis or any Ogg-based format. You get one chaptered file.


This was just a hack, where each chapter must be one ogg vorbis file and then they are concatenated in one big file.
That's no real solution, has many other problems and nobody besides some version of foobar supports it ...

For a more in-depth discussion see also:
http://comments.gmane.org/gmane.comp.multi...rbis.devel/5612


--------------------
http://auphonic.com
Automatic audio post production web service
Go to the top of the page
+Quote Post
Canar
post Oct 22 2012, 17:19
Post #9





Group: Super Moderator
Posts: 3370
Joined: 26-July 02
From: princegeorge.ca
Member No.: 2796



QUOTE (gholzmann @ Oct 22 2012, 05:52) *
This was just a hack
Bullshit. Monty himself, according to the link you gave, claims that chained ogg is a "clean solution". It's a great solution, IMO. Metadata is embedded in the stream. Although it requires a stream-crawl to get the metadata and location info, it is exactly identical to eg. a radio stream with changing metadata.


--------------------
You cannot ABX the rustling of jimmies.
No mouse? No problem.
Go to the top of the page
+Quote Post
rgtb
post Nov 3 2012, 12:03
Post #10





Group: Members
Posts: 25
Joined: 26-September 12
Member No.: 103446



Awesome new feature--thanks for the info.

I was getting my hopes up that FB2K 1.1.16 would support it. Oh well, maybe support arrives with 1.1.17.
Go to the top of the page
+Quote Post
gholzmann
post Nov 3 2012, 12:58
Post #11





Group: Members
Posts: 16
Joined: 9-October 12
Member No.: 103732



Maybe someone should make a feature request ...


--------------------
http://auphonic.com
Automatic audio post production web service
Go to the top of the page
+Quote Post
kode54
post Nov 4 2012, 00:27
Post #12





Group: Admin
Posts: 4628
Joined: 15-December 02
Member No.: 4082



Delightful, conflicting chapter standards.

Let's see. Chained streams:
  • Came first.
  • Supports multiple formats in the same stream, if you care about that.
  • Supports full tagging of each stream.
  • Each stream may be an arbitrary number of samples in length, handled by the format.
  • Already supported by a number of players, including Winamp and XMPlay. Oh, right, and foobar2000, for many years now.


Chapter tags:
  • Newly drafted last March.
  • Supports exactly one audio stream, or possibly interleaved audio streams.
  • Supports full tagging of just the whole stream, with only titles and web links per chapter, at least until somebody decides to extend the draft again.
  • Chapter marks are limited to an arbitrary precision timestamp, with no option for sample accuracy.
  • Exactly which players support this, or are likely to support this, but not chained streams? Remember that this format is useless for live streams, as those will likely be transmitting intermittent metadata, which needs to be indicated by stream splices.


Please explain why this idea is better than chained streams again. I would love to know why supporting chained streams requires any more work than supporting this. Remember that seeking already requires bisecting the files to determine the packet offsets and their granule positions. Handling chained streams simply requires this process to take place on file discovery, to determine the offsets of each individual stream. And any player which supports Ogg Vorbis streaming should already support basic chaining, to support streams with metadata.
Go to the top of the page
+Quote Post
rgtb
post Nov 4 2012, 16:34
Post #13





Group: Members
Posts: 25
Joined: 26-September 12
Member No.: 103446



chapter tags seem easier to deal with for me (i'm a non-technical user). i record one file, encode it, add metadata (including chapters), and upload it. done. seems more convenient to me than going the chained stream route for which i need to split up files, only to concatenate them again later.

for my typical usage scenario as a consumer of podcasts (i d/l podcasts via a podcatcher and play them back locally), i don't see why i would need the extra functionality of chained streams.

This post has been edited by rgtb: Nov 4 2012, 16:36
Go to the top of the page
+Quote Post
Antonski
post Nov 5 2012, 00:17
Post #14





Group: Members
Posts: 203
Joined: 8-October 01
Member No.: 250



I find this extension very useful for my needs.
I have a god number of albums (mainly progressive rock, concept albums etc) which contains tracks with multiple parts.
If I have to rip/convert an album to a format which doesn't support chapters, I would have two possibilities:
- rip the whole tracks and forget about particular parts, or
- divide the tracks into parts and encode the parts separately.
In the second case I have to tag explicitly the parts so that I know to which 'mother' track they belong, but the naming convention becomes a bit clumsy.
The same goes for many classical albums, BTW.
In order to keep the album structure as close as possible to original, currently I use Musepack, which has a native chapter support. However, adding chapters in mpc files is a bit tricky, because they are part of the stream. The advantage is, that the chapters cannot be removed easily by accident.
However, the suggested ogg chapter extension is easier, because the chapters can be added by a regular tag editor.
So, I could make use of this extension if I decide to use vorbis (for instance) as a lossy codec of choice.

This post has been edited by Antonski: Nov 5 2012, 00:18
Go to the top of the page
+Quote Post
saratoga
post Nov 5 2012, 01:42
Post #15





Group: Members
Posts: 5045
Joined: 2-September 02
Member No.: 3264



QUOTE (kode54 @ Nov 3 2012, 19:27) *
Please explain why this idea is better than chained streams again. I would love to know why supporting chained streams requires any more work than supporting this. Remember that seeking already requires bisecting the files to determine the packet offsets and their granule positions. Handling chained streams simply requires this process to take place on file discovery, to determine the offsets of each individual stream. And any player which supports Ogg Vorbis streaming should already support basic chaining, to support streams with metadata.


For what its worth, we can't support chaining in Rockbox because we have no way to reallocate the various buffer sizes without completely quitting the codec and reallocating everything (since we have no virtual addressing and so cannot defragment the address space). We also have no way to detect that you've chained files since we can't seek to the end of the file because its most likely not loaded from the disk yet. So from our point of view, restrictions on inane things (like changing the transform buffer sizes mid-file with no way to know prior to scanning the entire file) are certainly welcome. We could reasonably support chapter tags though, and we do for other formats.
Go to the top of the page
+Quote Post
gholzmann
post Nov 5 2012, 10:30
Post #16





Group: Members
Posts: 16
Joined: 9-October 12
Member No.: 103732



As the others already said, IMHO this chapter extension is much easier to use for tagging software and player developers.

For instance, we usually have 2h-3h podcast files with lots of chapters.
These chapters are often changed, some new ones are added, a few are deleted etc.
With chained chapters I would have to manipulate the direct ogg stream at every change - so I can just change the tags with any tagging software available.

And it's also easy for (simple) player developers: if they just use a library for playing media files, they can just read the chapter tags and seek to the desired location.
Furthermore it's similar to other common chapter mark systems as MP4, ID3 chapters (http://id3.org/id3v2-chapters-1.0), Matroska, WebVTT etc.

However, personally I do not care which exact chapter system should be used. If you think that the chained chapters are more appropriate, please speak up at the vorbis-dev mailing list, they are very open for suggestions!
For me it's just important, that there is one way which most of the devs and users agree on - it's 2012 and not possible to listen to podcasts with chapters in Ogg Vorbis are Opus, this should change!
Chapters are very common in MP4 podcasts and are also getting more and more popular in MP3 (http://id3.org/id3v2-chapters-1.0 - players like instacast or antennapod support it on the iPhone and Android).
Hopefully this will be possible with Ogg Vorbis and Opus too ...



--------------------
http://auphonic.com
Automatic audio post production web service
Go to the top of the page
+Quote Post
AliceWonder
post Mar 19 2014, 12:14
Post #17





Group: Members
Posts: 119
Joined: 13-July 12
From: California
Member No.: 101393



Old topic but I wonder if putting the stream in Matroska containers would be better for full CD rips because Matroska chapters can be nested, so a song can be it's own chapter and have chapters of its own.
Go to the top of the page
+Quote Post
nu774
post Mar 19 2014, 13:24
Post #18





Group: Developer
Posts: 538
Joined: 22-November 10
From: Japan
Member No.: 85902



QUOTE (AliceWonder @ Mar 19 2014, 20:14) *
Old topic but I wonder if putting the stream in Matroska containers would be better for full CD rips because Matroska chapters can be nested, so a song can be it's own chapter and have chapters of its own.

For opus support, new elements (CodecDelay, DiscardPadding and SeekPreRoll) have been added to the Matroska v4 spec, that looks similar to the ones present in MP4.
http://matroska.org/news/opus_additions.html

They should be mandatory for sample accurate seeking/decoding of any MDCT based lossy codec including Vorbis, but I don't know how many implementation cares about it other than for opus.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 23rd October 2014 - 12:46