I wouldn’t worry to much about it myself, since I doubt anybody is actually going to be using CBR opus “in the wild”, especially for non-“live-streaming” applications. I gather CBR outside of mp3 is really only for some specialized use-cases (and for MP3, purely for compatibility with really ancient playback hardware and software, or possibly to avoid trespassing on still-active variable-bit-rate-encoding patents), as far as I can tell.

It appears opus file needs to be completely downloaded in order to calculate the duration with the getid3 library currently. I’m working with the latest version of getid3 library to trace the source to figure out why this is, as the other formats all you need is the header information and the knowledge that it’s a CBR then it’s just a formula to calculate duration based on the file size. Sorry this is not a faster process, but I’m getting there slowly.

I don’t CURRENTLY have a CBR file, but I can make one pretty quickly – opusenc does have a “hard-cbr” mode. I’ll whip one up and post it where you can get it (watch this space…should just be a little while).

I was under the impression that VBR was generally always preferred these days (even for MP3) – are there still a lot of people using CBR-encoded audio?

(Obviously there are a lot of use-cases outside of my own e.g. for people who have actual audiences… I’ve been sitting here wondering why you care about getting the file while I assume people are uploading the media files to the server anyway, and finally realizing that some people are probably putting the media files on some OTHER server besides the one they’re running powerpress on. One of these days maybe I’ll have thousands of people rushing to download every audio release from me as soon as it’s posted as if I was a real podcaster, and I’ll be wanting to do that too…Sometimes I’m a little slow.)

The situations that warrant the duration are dwindling, but a year ago I determined which podcasts to download while boarding an airport based on how long they were, I used the information to determine which to download first. That was the last time though I looked at the info before downloading a podcast, but a good example never the less.

The episode you shared with me has a VBR. I crafted special code in PowerPress to get the duration information simply by downloading the headers of the file and then calculating the duration based on the remaining file size. Do you happen to have a constant bit rate version I can test with?

It may be that a VBR is perfectly fine for opus, but it means with the logic that is in getid3 library now, the entire file needs to be downloaded to properly calculate the duration. Not a big deal for 5-10MB files, but when they get into the 100MB+ size PowerPress may still not be able to detect these durations as quick as it can detect duration from constant bit rate audio file.

No problem – I’m juggling a lot of things here, too. I’m wondering what it would take to fix MediaGoblin to handle flac and opus files for a sound-effects library or if I’d be better off just writing my own in PHP now that getID3 should support every format I need, and needing to do some testing on my new microphone…

I don’t know of any non-iTunes feed-readers that use itunes tags, but I’ve admittedly got a pretty utilitarian approach to such things. (On my laptops, I’m just using Akregator. On my phone, Antennapod.) Some quick searching doesn’t seem to turn up anything, but that doesn’t necessarily mean anything.
I did spot a reference to a more standard proposal for such things in RSS and Atom feeds, though I have no idea if anybody is using it (“Yahoo!” might be, at least, as some portion of that proposal appears to be from “Yahoo Media”).

What would an itunes duration tag accomplish that simply printing a human-readable duration in text in the feed wouldn’t? (An embedded feed-reader shouldn’t have any use for the information until it starts downloading the media to play anyway, at which point the duration should be right in the first packet or two of data with the rest of the metadata for most formats, shouldn’t it [except maybe Matroska?])?

Adding by hand bypasses the need for a tool to check the content type and duration information!

I am curious to know if any Linux based podcatchers use the itunes tags. Specifically the itunes:duration tag. This tells the podcatcher how long in hh:mm:ss the recording is. Hopefully they are but I know some developers will not read those tags assuming they are for iTunes only. It is useful meta data that otherwise is not available without downloading the media file first.

You’re welcome to use any .opus file I’ve posted here or at hpr.dogphilosophy.net (including that one), let me know how it works (and if you have any problems with any of them)! I also have one or two uploaded to http://opuscast.com. Everything should be CC-BY-SA or an even more abusable license/public domain, so help yourself!

I honestly hadn’t noticed whether wordpress itself supported .opus – I’ve been just sticking them in an /audio directory on my server and sticking links and <audio><source src="(whatever)" type="audio/ogg;codecs=opus"></audio> into my posts by hand (really easy, which is one reason I hadn’t gotten around to trying PowerPress again – doing it by hand wasn’t enough of a hassle yet :-) )