Konvertible
Audio Extractors/Converters
Score 72%
Description:

Konvertible is a program to convert audio files to other audio formats via ffmpeg. Konvertible simplifies file conversion for ffmpeg users. You can add more than one audio file and then click the convert button to transcode them one after the other.

In version 1.0 the metadata tags of source files are exported to output files if built with TagLib. You can also edit them by right-clicking and choosing Edit Track Details.

Requirement
-----------
TagLib should be installed if you want to export tags.
Last changelog:

7 years ago

v 1.0.1 -- 5 June 2010
----------------------
* Fix to avoid compile errors if TagLib is not installed

v 1.0 -- 3 June 2010
--------------------
* Tags are now imported to ouput file and are editable

v 0.1.4 -- 6 Jan 2010
---------------------
*Now has a nice progress dialog
*AMR codec double point bitrates can be entered
*User interface enhanced
*Bugfixes

v 0.1.3 -- 22 Dec 2009
--------------------------
*Can determine audio encoders for newer ffmpeg versions which use -codecs switch(thanks to R. Benito)
*Added What's This?

ArTourter

6 years ago

Hi,

would it be possible to select the name format of the output file from the tags of the file:

<root destination>/$author/$year-$ablum/$track-%title.$ext

for example, adding options to strip non vfat compliant character and replacing <space> with some other character such as _?

That would be a very useful feature!

Thanks for the apps, I will start making a slackware slackbuild for it and put it on slackbuilds.org

Cheers

Report

msnkambule

6 years ago

Hello,

Thank you for feedback. I will consider your suggestion.

Report

bigbrovar

7 years ago

This is an awesome application and something I have been looking for in very long time. I use to use soundconverter which is also decent but its gnome/gtk. One thing I would love to add is a way to make the menus options (the options for choosing the different codec format a bit more user friendly. Like mp3, OGG, WMA etc. Thanks for the great job and keep it up :)

Report

bigbrovar

7 years ago

while trying to compile I got this error running make

/konvertible-1.0/window.cpp:714: error: ‘OUTFILE’ was not declared in this scope
/konvertible-1.0/window.cpp:715: error: ‘SOURCEFILE’ was not declared in this scope
/konvertible-1.0/window.cpp: In member function ‘void CWindow::clearStatusIcons()’:
/konvertible-1.0/window.cpp:854: error: ‘STATUS’ was not declared in this scope
make[2]: *** [CMakeFiles/konvertible.dir/window.o] Error 1
make[1]: *** [CMakeFiles/konvertible.dir/all] Error 2

Report

msnkambule

7 years ago

Sorry for that. The error occures if TagLib is not detected. I've uploaded an update that compiles even if there is no TagLib, but tags exporting and editing are then disabled.

Report

jajaX

7 years ago

Hi

Nice ! I must try that !!

Report

rbenito

7 years ago

I just tried the new konvertible 1.0, and it works fine, including the imported tags. You might want to add to the INSTALL file that the TagLib development files are needed, though. Without them, any use of the Column enum gave me compiler errors about it being out of scope (probably because it's defined inside the #IFDEF, so another option might be to define it somewhere else, not sure since C/C++ isn't exactly my thing).

Report

msnkambule

7 years ago

Thanks. I removed the enum and placed it outside the #ifdef.

Report

gerstavros

7 years ago

nice app, but can you fix it, so that the new files have the id3 tags of old files?

Report

msnkambule

7 years ago

Hello. Thank you for feedback.

I have made some changes that I will upload later that take care of this problem.

Report

joethefox

7 years ago

thank you

Report

dglent

7 years ago

it is ok for mandriva too http://www.mandrivalinux.gr/rpm/2010.0/i586/konvertible-0.1.4-1mgr2010.0.i586.rpm

Report

ssuominen

7 years ago

Thanks for 0.1.2, this is now media-sound/konvertible in Gentoo's Portage.

Compiles, installs, works.

Only thing I'm missing is a application icon for the desktop entry. ;-)

Report

Leiche

7 years ago

Thanks for 0.1.4. ;)

I pack it for PCLinuxOS, and it works for me :)
I like it +1

Report

bugmenot1234

7 years ago

0.1.1 compiled just fine... But it segfaults on startup. Here is the backtrace in case it helps:

Application: The Konvertible (konvertible), signal: Segmentation fault
The current source language is "auto; currently c".
[KCrash Handler]
#5 QBasicAtomicInt::ref (this=0x7fff0ff7e860) at /usr/include/qt4/QtCore/qatomic_x86_64.h:121
#6 QString (this=0x7fff0ff7e860) at /usr/include/qt4/QtCore/qstring.h:712
#7 CWindow::changeExtension (this=0x7fff0ff7e860) at /home/user/Source/konvertible-0.1.1/window.cpp:232
#8 0x000000000040b602 in CWindow (this=0x7fff0ff7e860, parent=<value optimized out>, f=<value optimized out>) at /home/user/Source/konvertible-0.1.1/window.cpp:172
#9 0x00000000004066ea in main (argc=1, argv=0x7fff0ff7eb98) at /home/user/Source/konvertible-0.1.1/main.cpp:50

/home/user/Source/konvertible-0.1.1 is, of course, the path where I uncompressed the source of konvertible. Any idea as to what might be going on here?

Report

msnkambule

7 years ago

Hi.
I was going to ask you if you have ffmpeg installed, but from where the program crashes it tells me you have it. Before I change something in the code, can you please post me the first 4 or five lines of the output of:
ffmpeg -formats |grep "EA" |less

There is something I think I might have overlooked.

Report

bugmenot1234

7 years ago

Sure I can. The whole output of ffmpeg -formats | grep "EA" is as follows:


FFmpeg version SVN-r20654, Copyright (c) 2000-2009 Fabrice Bellard, et al.
built on Nov 29 2009 08:11:53 with gcc 4.3.4
configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libtheora --enable-libdc1394 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-avfilter-lavf --enable-libopenjpeg --enable-version3 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
libavutil 50. 5. 1 / 50. 5. 1
libavcodec 52.42. 0 / 52.42. 0
libavformat 52.39. 2 / 52.39. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.11. 0 / 1.11. 0
libswscale 0. 7. 2 / 0. 7. 2
libpostproc 51. 2. 0 / 51. 2. 0

Report

bugmenot1234

7 years ago

Sure I can. The whole output of ffmpeg -formats | grep "EA" is as follows:


FFmpeg version SVN-r20654, Copyright (c) 2000-2009 Fabrice Bellard, et al.
built on Nov 29 2009 08:11:53 with gcc 4.3.4
configuration: --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libtheora --enable-libdc1394 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-avfilter-lavf --enable-libopenjpeg --enable-version3 --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
libavutil 50. 5. 1 / 50. 5. 1
libavcodec 52.42. 0 / 52.42. 0
libavformat 52.39. 2 / 52.39. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.11. 0 / 1.11. 0
libswscale 0. 7. 2 / 0. 7. 2
libpostproc 51. 2. 0 / 51. 2. 0

Report

msnkambule

7 years ago

I think the program crashes when its codecs list is empty which means that it can't determine audio formats ffmpeg encodes. I have fixed that in the code so that it gives error message instead of crashing and you can try the update.

ffmpeg -formats | grep "EA" gives a list of those and konvertible runs that to get the list. I'm not sure why in your case it segfaults since there are always audio formats ffmpeg encodes.

Report

bugmenot1234

7 years ago

I have good news and I have bad news. The good news is that the new error message works, so the app doesn't segfault anymore. The bad news is that the new error message works, so the app apparently is not seeing my ffmpeg installation (or maybe it does but still refuses to work for whatever reason).

Report

bugmenot1234

7 years ago

And I know where exactly it's failing. When I run ffmpeg -formats, none of the lines that you use to populate the codec list contain "EA", they all contain either "E" or "DE". So where you have "if (codecls[0].contains("EA"))", I changed it to "if (codecls[0].contains("E"))", and it no longer gives the error message.

I don't know if that's a fix or a workaround, or if it should be "E", "DE" or "EA", or if it really works (haven't tested it with my changes except to see if the error message still appeared). What I do know is that the loop in which you populate the codec list needs some work, 'cause I don't think I should be seeing values like "muxing supported (=)" in the combobox.

Report

bugmenot1234

7 years ago

I finally got to test it (with the aforementioned change so the list of codecs actually contains something). It does not work. I tried to convert a flac file to mp3, and it says: Unknown encoder 'mp3'

And that's strange, because according to the output ffmpeg -formats, my installation of ffmpeg is able to both decode and encode mp3 (it is listed as "DE", which apparently means "Decoding and Encoding supported"). I'll take another look at the code, just in case the issue is in konvertible and not in ffmpeg, and post the results of my research if I find anything relevant.

Report

bugmenot1234

7 years ago

Target located! I think you want to check ffmpeg -codecs, not ffmpeg -formats. At least that worked for me.

So apparently, the fix is to leave the original "EA" as it is, and change "ffmpeg.start("ffmpeg", QStringList() << "-formats")" to "ffmpeg.start("ffmpeg", QStringList() << "-codecs")".

Report

msnkambule

7 years ago

Thanks for taking your time to fix the program. I'm not sure about the -codecs as the documentation of my installed ffmpeg does not contain it, and when I try it on the command line I get an error.

Concerning -formats, the documentation states that it will "show available formats, codecs, bitstream filters, protocols, and frame size and frame rate abbreviations." That is why I used it.

Report

bugmenot1234

7 years ago

You're welcome. It's good to play with someone else's code just for fun once in a while, as opposed to reading and fixing code (mine and/or my lab group's members') as part of my homework... ;)

As for the -codecs switch, it could be an option specific of my version of ffmpeg (0.5+svn20091129 installed from the debian-multimedia.org unofficial repos for Debian Testing, so the maintainers of the repos may or may not have modified the program)... So a better fix would be to support both possibilities. That can be accomplished in at least two ways:

Use ffmpeg -formats and if the size of the list is zero, repopulate it, this time using ffmpeg -codecs. But that could require an additional loop in the case where ffmpeg -formats is not the right option to use, so it's less than optimal...

Another option is, if the Qt Process class supports it, to check if ffmpeg -codecs returns an error, or an exit code different from zero (as I assume it would if you use a version of ffmpeg that does not understand the -codecs option) and use -formats if it does, -codecs if it doesn't. That would not require an extra loop doing the same thing, just an if/else.

Report

7 years ago

v 1.0.1 -- 5 June 2010
----------------------
* Fix to avoid compile errors if TagLib is not installed

v 1.0 -- 3 June 2010
--------------------
* Tags are now imported to ouput file and are editable

v 0.1.4 -- 6 Jan 2010
---------------------
*Now has a nice progress dialog
*AMR codec double point bitrates can be entered
*User interface enhanced
*Bugfixes

v 0.1.3 -- 22 Dec 2009
--------------------------
*Can determine audio encoders for newer ffmpeg versions which use -codecs switch(thanks to R. Benito)
*Added What's This?

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
1.0.1
updated Jun 04 2010
added Dec 11 2009
downloads today
0
page views today 0