I want to talk about the install of the video compression software called ffmpeg and its frontend app WinFF. The ffmpeg application is used for converting video and audio files from one format to another. Usually if you’re looking for better quality products or smaller file sizes, this will work for that. The ffmpeg website states, “FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge.”
The WinFF application is the graphical frontend app for the ffmpeg applicationto change the encoding on a video or audio file that you created to make it smaller or change the overall qualify as well. When I installed Manjaro 17 Mate, I noticed something that was a little off. There were some issues installing the apps through AUR that needed to be fixed. The biggest issue was the the gpg keys were not being accepted from the packages so I had to manually add them by doing the following.
- Create a gpg configuration file in your home folder locate in ~/.gnupg/gpg.conf
- Add this to the gpg.conf file that you created, without the “”. “keyring /etc/pacman.d/gnupg/pubring.gpg”
- Now, when your get the error about the key issue, do the following changing the example to the key that you see in the error. Try to run the following as your regular user but if needed issues sudo before the commands to add as the root level user.
- pacman-key -r 919464515CCF8BB3
- pacman-key -f 919464515CCF8BB3
- pacman-key –lsign-key 919464515CCF8BB3
- gpg –recv-keys 919464515CCF8BB3
- gpg –edit-key 919464515CCF8BB3
- Choose full or ultimate
- type quit once complete
Once you may have to do this with other applications but now you see how easy it is. I’m not sure why this is showing up now and in Mate, but the fix will work.
Something else that I noticed was an error during the installation of the ffmpeg-full application and codec is that jni which appears to be part of a java package is causing installation issues.
According to the following URL, the jni issue was removed in the git version of ffmpeg. The backend app and codecs should now install with no problems.
Just install ffmpeg-full-git from the AUR repository as you do with other applications. Depending on the speed of the system, the installation will take some time to complete.
I just found something out which is interesting. There is still a broken codec plugin called libvo-aacenc. It sounds like this one is not worth messing with as it is not located in the community or AUR repositories. It has been recommended to install libfdk-aac instead which ffmpeg will need to be recompiled with it. Now, with that being said, I was able to find libfdk-aac in AUR and it installed without any issues but it did rebuilt ffmpeg on its own. I’m not sure what was removed and readded when it comes to codecs as it removed the version of ffmpeg all together. Just by watching the install process, it is possible that the majority may have been reinstalled.
In order to make this change, you will need to do the following:
- Open WinFF
- Click on Edit
- Select Presets
- Choose the MPEG-4 codec
- Select either MPEG-4 720p or MPEG4-1080p and change the library from libvo_aacenc to libfdk_aac
- Click on Add/Update to make sure that the changes took
- Click Save or an extra good measure
- Click on Close
- To test, Select MPEG-4 under Convert to:
- Select MPEG-4 720p or MPEG-4 1080p under preset
- Make sure you have your video selected
- Click Convert
- If everything is set correctly, you should see a terminal open and the conversion process should run
There is still an issue even with using libfdk_aac as the video is not coming out like its supposed to. I am going to look into this a little deeper to see what is going on. I am also trying Handbrake to see how that works with converting videos to different formats.
From a post that I found:
“As of FFmpeg 3.0 (Feb 2016), libvo-aac has been removed from FFmpeg because the built-in AAC encoder has superior quality and is no longer experimental. It is suggested to use the built-in encoder (
-c:a aac) or libfdk-aac (
-c:a libfdk_aac) instead.”
To look for the aac codecs, use the command, ffmpeg -codecs.
I took the libvo_aacenc codec from MPEG-4 and replaced it with the stock aac and the app worked. From what I have been reading on this subject, the libvo_aacenc codec has been removed from the repositories as a poor quality product and it was recommended to use one of the aac codecs instead. For a list of available codecs, see the links shown at the bottom of the page.