No wma support (yet) but want to understand build config

Help for Audacity on GNU/Linux.
Forum rules
ImageThis forum is for Audacity on GNU/Linux.
Please state:
  • which version of Linux you are using,
  • the exact three-section version number of Audacity from Help menu > About Audacity,
  • whether you installed your distribution's release, PPA version, or compiled Audacity from source code.

Audacity 1.2.x and 1.3.x are obsolete and no longer supported. If you still have those versions, please upgrade (see https://www.audacityteam.org/download/).
The old forums for those versions are now closed, but you can still read the archives of the 1.2.x and 1.3.x forums.
Post Reply
randomname
Posts: 10
Joined: Mon May 02, 2016 1:47 pm
Operating System: OS X 10.6 Snow Leopard or earlier

Compiling from source, ffmpeg versioning. Confused

Post by randomname » Mon May 02, 2016 2:06 pm

Linux version Fedora 23; Audacity 2.1.2 built from source.

Have read and followed all instructions elsewhere to successfully compile audacity from git, and have managed to understand the build config options. Like many people I have many different music formats in my library, and I need to be able to get at all of them, patent and licensing restrictions aside (but noted).

I read that even if compiling locally Audacity only supports ffmpeg up to version 2.3. Not surprisingly my current system (Fedora 23) has version 2.8.6 installed via other software, and even later versions of it are available elsewhere.

I thought about building an earlier copy of ffmpeg, but it's proven so fraught that I thought instead to try downgrading my currently installed version via dnf and package manager. However, the bash output tells me that it would remove packages like "vlc core" along with some of the gstreamer plugins, which of course would effectively break other parts of my system (including of course music replay!)

Can anyone tell me:

is it possible to build and install ffmpeg 2.3.* somewhere locally and have the build config for audacity compile to that, and which would NOT mess up or overwrite my other libraries (needed for video replay etc) - meaning effectively that I'll have a local instance of it purely for audacity.

If not, would building with earlier versions of libav resolve the problem, or is that simply another side of the same coin (libav being compiled into ffmeg? am I right?).

It appears to me at present that although yes, we all understand that "due to licensing restrictions..." yada yada what this effectively boils down to is that it would be impossible to use a current version of audacity on an up to date Linux system if I want all of its features supported (and why would I not??)

I have the full functioning version on Windows, but it would be an utter pain to keep swapping music files back and forth across computers just for the sake of some edits.

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Compiling from source, ffmpeg versioning. Confused

Post by Gale Andrews » Mon May 02, 2016 4:37 pm

Don't mess with system FFmpeg.

Build your own FFmpeg 2.3, install it to /usr/local/ (the default location) and link Audacity to that FFmpeg. The linkage "should" happen automatically if pkg-config does its job.

The whole point of the local install of FFmpeg is that you then "should" not mess up other applications that use system FFmpeg.

Or, you can try hacking the FFmpeg sources in Audacity so that they build with later system FFmpeg, for example something like https://github.com/audacity/audacity/pu ... 3fa4441b5b.


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

randomname
Posts: 10
Joined: Mon May 02, 2016 1:47 pm
Operating System: OS X 10.6 Snow Leopard or earlier

Re: Compiling from source, ffmpeg versioning. Confused

Post by randomname » Mon May 02, 2016 8:45 pm

Ah okay. Thanks :0)

So I can --enable-shared-library because it will still restrict it within usr/local? Nice.

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Compiling from source, ffmpeg versioning. Confused

Post by Gale Andrews » Tue May 03, 2016 11:42 am

randomname wrote:So I can --enable-shared-library because it will still restrict it within usr/local?
--enable-shared will build .so files for FFmpeg that Audacity can use.

Installation of FFmpeg should default to /usr/local. You can always force the installation directory with

Code: Select all

./configure --prefix=<directory>
Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

randomname
Posts: 10
Joined: Mon May 02, 2016 1:47 pm
Operating System: OS X 10.6 Snow Leopard or earlier

No wma support (yet) but want to understand build config

Post by randomname » Tue May 03, 2016 11:05 pm

Have been reading/learning about compiling from source. Having successfully installed a local build of a supported version of ffmpeg I set about grabbing Audacity source and building. It installed successfully but I still cannot import wma files - which is something that my Windows version does without complaint. I see that my version on Fedora has this wonky library prefs menu where, despite having already pointed it at the location for "libavformat.so-xxx" and found the file, whenever I load it those library prefs still ask me to locate ffmpeg. If I try to load a wma file it still insists on telling me that I would have to convert to another format first. Clearly something's not been configured properly.

I saw another link on here which suggested one could download the freeworld version that doesn't have restrictions. Okay I could do that, but first I want to understand what I'm doing wrong.

If I have a compatible version of ffmpeg installed locally, are there particular config options that MUST be set in order for all of this to work? I went through the ./configure options and specifically enabled all the formats I wanted, assuming I shouldn't simply run ./configure with no options set. Maybe this was wrong? I'd much prefer to learn how to build rather than just go off and download a different version.

steve
Site Admin
Posts: 80752
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Compiling from source, ffmpeg versioning. Confused

Post by steve » Wed May 04, 2016 9:55 am

You've not quoted any version numbers, but version numbers are probably the key to solving the problem.
My understanding is that FFmpeg in Fedora is built without support for "restricted" formats, so that sends you to building FFmpeg from the source code.
According to the Audacity documentation, Audacity should work with a "shared" build of "FFmpeg 2.3.6 Mandelbrot". Source code available here: https://ffmpeg.org/olddownload.html
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: Compiling from source, ffmpeg versioning. Confused

Post by Gale Andrews » Wed May 04, 2016 1:05 pm

I think this will be less confusing if merged back into the original topic. Done.

Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

Gale Andrews
Quality Assurance
Posts: 41761
Joined: Fri Jul 27, 2007 12:02 am
Operating System: Windows 10

Re: No wma support (yet) but want to understand build config

Post by Gale Andrews » Wed May 04, 2016 1:14 pm

Did you do

Code: Select all

sudo ldconfig
after installing your local build of FFmpeg?


Gale
________________________________________FOR INSTANT HELP: (Click on Link below)
* * * * * Tips * * * * * Tutorials * * * * * Quick Start Guide * * * * * Audacity Manual

randomname
Posts: 10
Joined: Mon May 02, 2016 1:47 pm
Operating System: OS X 10.6 Snow Leopard or earlier

Re: No wma support (yet) but want to understand build config

Post by randomname » Fri May 06, 2016 7:23 am

@ Gale,

Re your last, no I didn't. Will do though.

Sorry for omitting version info. Yes indeed, it was build from git source against ffmpeg 2.3.6, as before on Fedora 23. Sorry for any confusion.

Will attempt to rerun configuration and report back :0)

Post Reply