HydrogenAudio

Lossy Audio Compression => Opus => Topic started by: Pierre22 on 2018-05-31 22:31:10

Title: Recommended container/extension for opus for tagging compatibility
Post by: Pierre22 on 2018-05-31 22:31:10
As mentioned elsewhere on the forum, I have a bunch of opus encoded audio files in webm container (youtube downloads).
My issue is that my favorite tagger (mp3tag) does not support webm (I did a limited search, and no obvious replacement came to light, and in any case I would like to stick to mp3tag as I know quite well how to use this).

My question is in which container format / file extension would you recommend to remux the webm file, and which tagging format ?
Constraints:
- I want to use mp3tag to do all tagging work
- preference of container/file extension with widest compatibility (I am on Windows, and also use Android and iOs, and iTunes for windows); on this I am confused; I understand opus can be put in a matroska (mka) or ogg vorbis container (ogg or oga or opus?), but both use different tagging framework?
- I want to convert these files to MP3, and obviously I want to keep all tag information (using ffmpeg, not sure whether this happens automatically during a transcoding, or whether I need to add specific commands?), so the intermediary container format and tag format should allow ffmpeg to transfer the tags into the target MP3 file.

(My first idea was to first transcode into MP3, and then update / clean up all tags and filenames for the MP3 files; but I think this would be quite stupid; if after a few months, I am not satisfied with the MP3 quality, I could just rerun an ffmpeg on all files into AAC or with other parameters, and if I clean up the source file in the right way, I want that all tags are transferred to the new format).
Title: Re: Recommended container/extension for opus for tagging compatibility
Post by: lvqcl on 2018-05-31 23:48:09
ogg container, .opus extension.
Title: Re: Recommended container/extension for opus for tagging compatibility
Post by: sveakul on 2018-06-01 04:52:09
As far as the initial lossless extraction of the opus track goes, if they are just opus audio files in a webm container (without video), this will do that using ffmpeg:

ffmpeg -i yourfile.webm -acodec copy yourfile.opus

If the webm also has video, add the -vn  switch to specify you don't want the video:

ffmpeg -i yourfile.webm -vn -acodec copy yourfile.opus

Use quotes around the file name if it contains spaces.  Like Ivqcl said, the opus audio file produced will have an ogg container (as per standard).

As far as tagging, Opus files use the Vorbis tagging standard and you can add the tag values as you see fit with Mp3tag (or Kid3, etc.).

For conversion to mp3 while keeping the tags you have added in Mp3tag, I don't know how that is done with ffmpeg but I'm sure someone can fill you in.  I would suggest an easy (easier?) way is to use Foobar2000 to do the opus-mp3 conversion, making sure you specify "Transfer metadata(tags)" in the Conversion options setup.

P.S.  To do the initial opus audio extraction using a GUI capable of multiple input files, you can use gMKVExtractGUI (https://sourceforge.net/projects/gmkvextractgui/ (https://sourceforge.net/projects/gmkvextractgui/)), which requires mkvtoolnix also be installed.  Yes it works on webm containers.
Title: Re: Recommended container/extension for opus for tagging compatibility
Post by: Pierre22 on 2018-06-01 11:19:06
Thanks for your advice regarding opus files.

Regarding tag transfer from Vorbis comments --> MP3 tags with ffmpeg, according to a post, adding this -map_metadata 0:s:0  is necessary (although maybe the OP had a specific problem with his files, as for most audio conversion ffmpeg does the tag transfer by default).

And then, instead of this :
To do the initial opus audio extraction using a GUI capable of multiple input files, you can use gMKVExtractGUI, which requires mkvtoolnix also be installed.  Yes it works on webm containers.
I actually use us a FOR statement :
Code: [Select]
 for %A IN (*.webm) DO ffmpeg -i "%A" -vn -acodec copy "%~nA.opus"