|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1 |
Member
Join Date: Aug 2003
Posts: 81
|
Opus support? {Implemented with a 3rd party plug-in by thinktink)
foobar2000 1.1.4 supports Opus decoding. How about Winamp?
http://www.opus-codec.org/ |
![]() |
![]() |
![]() |
#2 |
Major Dude
Join Date: Apr 2003
Location: where the llamas come from!
Posts: 952
|
Opus will be the next big thing!
It is accapted as a standard now. I hope that support is already in the works... eeeee eeeeeee eeeee eeeee eeeee 8 8 8 8 8 8 8 8 8 8 88 8eee8 8e 8 8 8eee8 8e 8 8 8 88 8 88 8 8 88 8 88 8 8 8 88 8 88 8 8 88 8 88 8 8eee8 |
![]() |
![]() |
![]() |
#3 |
Join Date: Sep 2003
Posts: 27,873
|
there's nothing stopping someone creating a plug-in to allow it to be supported... (as i'm not aware of any impetus to do this officially but i will heavily note that i could be wrong on what is or isn't planned). and the impression i get is this is trying to take over from Ogg Vorbis for the streaming side of things (not sure on where it's positioned for local files) which we know is used but pails into insignificance against the main streaming formats.
-daz |
![]() |
![]() |
![]() |
#4 |
Member
Join Date: Mar 2003
Location: Paris, France
Posts: 52
|
Install the K-Lite codec pack, add OPUS to your Winamp in_dshow.dll configuration, you're done.
I expect Ogg Opus to gain much more momentum for online usage than Ogg Vorbis ever did. |
![]() |
![]() |
![]() |
#5 |
Forum King
|
Opus is now a published standard.
http://xiph.org/press/2012/rfc-6716/ According to the Hydrogenaudio listening tests, it outperforms current proprietary codecs @64kbps. I suspect that it does just as well at higher bitrates. http://listening-tests.hydrogenaudio...c/results.html |
![]() |
![]() |
![]() |
#6 |
Member
Join Date: Mar 2003
Location: Paris, France
Posts: 52
|
The only issue with my in_dshow.dll suggestion above is that Winamp can't read the Vorbis comments.
Now that Opus is a standardized Web audio format, I hope Winamp will come to support it natively (sooner than later). |
![]() |
![]() |
![]() |
#7 |
Senior Member
|
To have OPUS natively as decoder and encoder would be really nice.
With in_dshow.dll I have a bad and heavy noise. All other dshow players sounds fine. Thanks |
![]() |
![]() |
![]() |
#8 |
Senior Member
|
Also a "+1" for me for the wish of having a native in_opus.dll bundled with Winamp itself. Would be a great thing to advertise as it's the upcoming standard for HTML5 etc.
As it is also delivered in OGG container, there would have to be some mechanism to decide whether it is a vorbis or an opus file - maybe in_vorbis should also handle Opus then (and then be renamed to in_ogg or something like that). So no separate in_opus would be necessary. But - until now, only a dream of a wish... ![]() |
![]() |
![]() |
![]() |
#9 |
Join Date: Sep 2003
Posts: 27,873
|
from what i've read up (only out of interest and not with a means to implement anything), there is a variation in the header which allows opus to be detected that way. though being in an OGG container is a down-side rather than a plus with things.
-daz |
![]() |
![]() |
![]() |
#10 |
Senior Member
|
I think they can also appear in raw bitstream format, then of course lacking metadata (although I really like the thought of having a raw bitstream opus file with an ID3v2 header, as possible in Winamp e.g. with .aac files
![]() Moreover, I've heard that the matroska container is also one of the possible file formats for opus. MP4 container is technically possible but it ist not standardized from MPEG/ISO's side (yet - who knows....). |
![]() |
![]() |
![]() |
#11 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
On it, plugin half complete...
http://www.hydrogenaudio.org/forums/...howtopic=97856 |
![]() |
![]() |
![]() |
#12 |
Forum King
|
TT is the man, although i don't know what i'd need this for? i.e. whats the content that i'd want this for? and i wouldn't broadcast something that has little native support.
can't you just transplant the fb2k plugin into winamp? regardless, seems like at least a good addition to the essentials pack. PENN STATE Radio or http://www.LION-Radio.org/ -- BUG #1 = Winamp skips short tracks Wish #1 = Multiple Column Sorting Wish #2 = Add TCMP/Compilation editing |
![]() |
![]() |
![]() |
#13 |
Join Date: Sep 2003
Posts: 27,873
|
the better place would be taking in_vorbis and using that (though that's obviously not viable) since the container format is the same, it's just the bits that go into it which is the opus codec that's different.
as for why, etc, supposedly it's the new thing (like webm) and will do the same thing that ogg vorbis was claimed to do of being a free streamable format, etc. though really the only thing i can see it possibly helping with is the html5 mess with the <audio> tag and as a decent royalty free codec it has potential, it's just having content created to use it that's the issue (and the fact it uses the horrible ogg container *shrugs*). as from a broadcasting view of things, getting ogg vorbis stream support in the SHOUTcast tools would easily allow opus support... just leaving that image for people. -daz |
![]() |
![]() |
![]() |
#14 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
The only issue I'm having at the moment is figuring out how to feed the stream to a compatible decoder in the library. Local file reading is fine. I've even got the transcoder functions working already.
|
![]() |
![]() |
![]() |
#15 |
Join Date: Sep 2003
Posts: 27,873
|
i'm having a blonde moment, what do you mean by "how to feed the stream to a compatible decoder in the library" ?
as normal playback and transcoder support is pretty much what's needed (along with metadata support and where possible using the unified alt+3 dialog stuff). -daz |
![]() |
![]() |
![]() |
#16 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
There are several API functions from the library to decode opus data from different source types: File, URL, and In-Memory (like data loaded from resource.) The URL ones seem totally disabled (and won't give me metadata anyways) and the in-memory ones only work if the data has a definite stop and end all in memory. The file one works fine, in-fact, it's the only one I've been able to get working.
|
![]() |
![]() |
![]() |
#17 |
Join Date: Sep 2003
Posts: 27,873
|
/me bangs head on desk
opus library not Winamp library, durr (and with that stupidity on my part, sleep) -daz |
![]() |
![]() |
![]() |
#18 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Work In Progress - Translation: Doesn't all work.
Local file playback and metadata reading (not writing) support is solidly working. However, streamplaybacknotsomuch... Attached in a 7z archive. Because it's a W.I.P. there's no installer so you'll need to extract the plugin -->and the DLLs from this archive downloadable here (just the three .DLL files, not everything)<-- directly into the Plugins folder of Winamp to try it out. | Opus Audio Codec plugins 2.0 | Embedded Album Art | DiskWrite | | Save your playlist first! | Live voice-over | X-Fade 2.5 | | AterKast (Source DSP) | More of my stuff... | Last edited by thinktink; 24th November 2012 at 22:43. |
![]() |
![]() |
![]() |
#19 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Hooray! I just got streaming working right finally. Now to work out all the little nooks and crannies for the other Winamp Modern features. Hopefully should have a release within this week.
|
![]() |
![]() |
![]() |
#20 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Bingo! Have at ya'! Full modern everything support.
Attached, same instructions as before. Now I just need to make the encoder plugin. Yikes! [EDIT/] Forgot to mention, to force Winamp to use my plugin for opus streaming with URLs that don't end in ".opus" replace the "http://" part of the URL with "opus://". | Opus Audio Codec plugins 2.0 | Embedded Album Art | DiskWrite | | Save your playlist first! | Live voice-over | X-Fade 2.5 | | AterKast (Source DSP) | More of my stuff... | Last edited by thinktink; 26th January 2013 at 21:36. |
![]() |
![]() |
![]() |
#21 | |
Junior Member
Join Date: Aug 2008
Posts: 2
|
Quote:
Edit: Never mind! I'm dumb! I hadn't extracted libogg-0.dll, libopus-0.dll, and libopusfile-0.dll from the previous archive since I'd only looked at your last post! Once I did that, it worked just fine and now I'm playing a .opus file in Winamp! ![]() |
|
![]() |
![]() |
![]() |
#22 |
Member
Join Date: Mar 2003
Location: Paris, France
Posts: 52
|
Thanks TT — great plugin! It even supports metadata.
For future versions, may I suggest Unicode and out_ds.dll support? The former is needed to play files with Unicode names (or located in folders with Unicode names), the latter for proper fadeout control. Right now, the plugin seems to have its own sound output. |
![]() |
![]() |
![]() |
#23 |
Junior Member
Join Date: Aug 2008
Posts: 2
|
I agree. Proper integration is ideal. Also, what is your plugin's license? Is there a public source repository somewhere?
|
![]() |
![]() |
![]() |
#24 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
The Opus tags specification doesn't layout a methodology for Unicode tags support, at least that I could find. If I am amiss in that statement please point it out to me and it will be remedied quickly.
The plugin itself is closed source but the libraries that it depends on for decoding are open source and available here: http://www.opus-codec.org/ If there's a question you have about the plugin coding and how I did certain things please feel free to ask and I will give you a quick theory of operation for what the code is doing. |
![]() |
![]() |
![]() |
#25 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
I'm sorry, I failed to address this point. I am seeing the same thing as you are, only however, it is using the currently selected Output plugin. I am trying to resolve that issue. It is pre-feeding out_ds.dll like one would expect but for some reason something I'm doing is not allowing the crossfades. I still do not understand why. I am working on it.
|
![]() |
![]() |
![]() |
#26 |
Member
Join Date: Mar 2003
Location: Paris, France
Posts: 52
|
Hi TT,
About Unicode support, I wish I could point you to specific docs/specs. All I know is that Vorbis comments in Vorbis and Flac files definitely support Unicode characters. My question was not only related to Unicode tags, but to Unicode filenames as well. The Nullsoft plugins in_flac and in_vorbis can correctly parse such filenames to Winamp, but in_bpopus refuses to load/play any audio file which filename (or filepath) includes Unicode characters (like macrons or kanjis). About metadata support in in_bpopus, is it really functional? I have tagged some Opus files with TagScanner (which supports Opus since November), and they are properly detected as Vorbis comments in XMPlay and Foobar, but they don't appear at all in Winamp with your plugin. |
![]() |
![]() |
![]() |
#27 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Can you attach a short opus file I can bang on for a while to test with?
|
![]() |
![]() |
![]() |
#28 |
Member
Join Date: Mar 2003
Location: Paris, France
Posts: 52
|
Sure: Opus_Unicode_Test.7z
The archive contains two files, one encoded with libopus 1.0.1 and another with 1.0.2. I've noticed that tags in the 1.0.1-encoded file are not displayed by in_bpopus. Maybe it's intentional on your part, although they do work in TagScanner, XMPlay, Foobar and MediaInfo. |
![]() |
![]() |
![]() |
#29 |
Junior Member
Join Date: Jan 2013
Posts: 1
|
ok thanx
|
![]() |
![]() |
![]() |
#30 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Files received. Will begin testing.
|
![]() |
![]() |
![]() |
#31 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
I have found the issue. It's with libopus-file's file handling being pure Ansi and the mindless conversion of input filenames I was doing. Hopefully I'll have something out soon.
|
![]() |
![]() |
![]() |
#32 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Try this one out. Attached.
[EDIT /] In the meantime, I'm going to fix my hex editor so I can open those unicode named files and have a look-see as to what I can do to support true-form unicode tag support. May take a little time. | Opus Audio Codec plugins 2.0 | Embedded Album Art | DiskWrite | | Save your playlist first! | Live voice-over | X-Fade 2.5 | | AterKast (Source DSP) | More of my stuff... | Last edited by thinktink; 4th March 2013 at 07:07. |
![]() |
![]() |
![]() |
#33 |
Forum King
|
Nevermind.
Last edited by Omega X; 16th January 2013 at 20:18. Reason: already found issue |
![]() |
![]() |
![]() |
#34 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
I think I have it. The tags aren't actually Unicode but a form of MBCS (is what it looks like) and I have Winamp displaying the same characters in the playlist and the info box as my LFS does. It is however a debug version and only partly integrated so it'll take a little bit of time to complete but it does seem I'm on the correct path.
|
![]() |
![]() |
![]() |
#35 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Blammo! Unicode tag support. I even tested it with Unicode named files with Chinese metadata.
Attached. [EDIT/] Point of note: There's a new version of the opus codec libraries from the website linked to earlier. https://ftp.mozilla.org/pub/mozilla....-0.2-win32.zip Update to the DLLs not required for operation but recommended to update anyway. To update you will need to shut Winamp down first, remove the old DLLs and drop the new versions to the same folder as before. The streaming functions also now supports IRI resources, http://en.wikipedia.org/wiki/Interna...rce_Identifier | Opus Audio Codec plugins 2.0 | Embedded Album Art | DiskWrite | | Save your playlist first! | Live voice-over | X-Fade 2.5 | | AterKast (Source DSP) | More of my stuff... | Last edited by thinktink; 4th March 2013 at 08:58. |
![]() |
![]() |
![]() |
#36 |
Forum King
|
i'm not following... i thought u already had unicode, and the problem tags were MBCS and you were going to add MBCS?
what actually changed? PENN STATE Radio or http://www.LION-Radio.org/ -- BUG #1 = Winamp skips short tracks Wish #1 = Multiple Column Sorting Wish #2 = Add TCMP/Compilation editing |
![]() |
![]() |
![]() |
#37 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
I exported the Unicode versions of the extended metadata support in the original and last release but the tag support in Opus was pure Ansi. I just assumed that the tag support was only Ansi. I hadn't realized that the Unicode metadata was being translated to and from MBCS which "looks" like regular Ansi if you're not paying close attention. So in the previous versions of the plugin the MBCS data was being sent out as Unicode re-encoded from AnsiStrings instead of as UTF-8 from MBCS and the metadata was garbled and butchered (i.e. "Yuji Ono" instead of "Yūji Ōno" and some other weirdness.)
|
![]() |
![]() |
![]() |
#38 |
Forum King
|
my kudos to you for being able to track down an issue like that. the hardest ones are the ones where the difference is something so slight, hard to see.
so the lesson to be learned here by other plugin devs is to carefully check to see that you are implementing true unicode all the way through the process, and not something less than that, right? (it almost sounds like a music traders nightmare of an analog stage somewhere in the distribution tree ![]() how would you phrase it to other devs, or is what you have already said enough? (meaning, to warn them from making the same mistakes?) PENN STATE Radio or http://www.LION-Radio.org/ -- BUG #1 = Winamp skips short tracks Wish #1 = Multiple Column Sorting Wish #2 = Add TCMP/Compilation editing |
![]() |
![]() |
![]() |
#39 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Actually is was just half ignorance about MBCS and the other half bad assumptions.
|
![]() |
![]() |
![]() |
#40 |
Forum King
Join Date: May 2009
Location: No longer on the streets of Kings County, CA.
Posts: 3,219
|
Ack, I uploaded the wrong version. Previous one had some debug code in it that blocked metadata re-writing for non-unicode named files. Removed bad version.
| Opus Audio Codec plugins 2.0 | Embedded Album Art | DiskWrite | | Save your playlist first! | Live voice-over | X-Fade 2.5 | | AterKast (Source DSP) | More of my stuff... | Last edited by thinktink; 4th March 2013 at 18:58. |
![]() |
![]() |
![]() |
|
Tags |
opus |
Thread Tools | Search this Thread |
Display Modes | |
|
|