Page 1 of 1

QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Tue Jul 06, 2021 9:04 pm
by greengeek

I just want to highlight the usefulness of QWinFF - which is a front end gui for ffmpeg.
(QWinFF is available ootb in Bionic64 rightclick menu - I'm not sure about other pups yet)
(QWinFF can do much more than wav-mp3 conversion but that is what I needed at the time)

I have been trying to convert various media formats recently and one of the tasks was to transform a large directory of .WAV files into mp3 files.

Usually I will do this sort of thing one file at a time using mhwaveedit or ffconvert multimedia converter - but the sheer number of files made this an unsuitable method.

I noticed in Tahr32 6.0.6 there is a right-click option to convert an entire directory of wavs to mp3 using "wav2mp3" and this worked well for most wav files but did not work for me on this occasion.

At first I thought it might be that the file extension was capitalised ".WAV" so I converted some to lowercase ".wav" but still no success. In the end it seems that the problem was that my .WAV files were encoded as RIFF MS adpcm which is a microsoft codec.

wav2mp3 did not have the ability to see those files as wavs - it told me that no wavs could be found.

Then I discovered that Bionic64 has QWinFF in it's rightclick menu and I was able to rightclick the directory holding the WAV files and have them all converted to mp3 easily.

QWinFF had a very clear interface and was so straightforward. Looks like a very capable utility.

I don't know if it is available on other pups or just Bionic64 - but it is well worth a look if you are wanting to convert media files.

EDIT :
see here for a simple script for wav-mp3 batch conversion


Re: QWinFF media converter (Bionic64). WAV conversion.

Posted: Wed Jul 07, 2021 1:36 pm
by rcrsn51

What happens with one of these problem files if you try to convert it directly using lame?

Code: Select all

lame input.wav output.mp3

Re: QWinFF media converter (Bionic64). WAV conversion.

Posted: Thu Jul 08, 2021 1:29 am
by greengeek
rcrsn51 wrote: Wed Jul 07, 2021 1:36 pm

What happens with one of these problem files if you try to convert it directly using lame?

Code: Select all

lame input.wav output.mp3

Thanks, i will try this out tonight.


Re: QWinFF media converter (Bionic64). WAV conversion.

Posted: Thu Jul 08, 2021 5:18 am
by greengeek
rcrsn51 wrote: Wed Jul 07, 2021 1:36 pm

What happens with one of these problem files if you try to convert it directly using lame?

Code: Select all

lame input.wav output.mp3

Result as follows:

Code: Select all

root# lame input.wav output.mp3
Unsupported data format: 0x0002
root# 

EDIT : I then tried to see if ffprobe would give me some info but got an error:

Code: Select all

root# ffprobe input.wav
ffprobe: relocation error: /usr/lib/libswresample.so.0: symbol av_calloc, version LIBAVUTIL_52 not defined in file libavutil.so.52 with link time reference

- so then i tried a basic ffmpeg conversion to see what info it provided:

Code: Select all

root# ffmpeg -i input.wav some.mp3
ffmpeg version 3.1.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.7 (Debian 4.7.2-5)
  configuration: --prefix=/mnt/sda6/ffmpeg-static-master/sffmpeg/build --datadir=/mnt/sda6/ffmpeg-static-master/sffmpeg/build/etc --disable-shared --enable-static --enable-gpl --enable-version3 --enable-nonfree --disable-doc --disable-debug --disable-ffplay --disable-ffserver --disable-outdevs --enable-runtime-cpudetect --enable-memalign-hack --extra-cflags='-I/mnt/sda6/ffmpeg-static-master/sffmpeg/build/include --static' --extra-ldflags=-L/mnt/sda6/ffmpeg-static-master/sffmpeg/build/lib --extra-libs='-lstdc++ -lexpat -ldl' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libvpx --enable-libopus --enable-librtmp --enable-libfreetype --enable-libass --enable-avresample --enable-x11grab
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 48.101 / 57. 48.101
  libavformat    57. 41.100 / 57. 41.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 47.100 /  6. 47.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, wav, from 'input.wav':
  Metadata:
    Rock            : 
  Duration: 00:00:57.60, bitrate: 64 kb/s
    Stream #0:0: Audio: adpcm_ms ([2][0][0][0] / 0x0002), 16000 Hz, 1 channels, s16, 64 kb/s
[mp3 @ 0xc664600] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, mp3, to 'some.mp3':
  Metadata:
    Rock            : 
    TSSE            : Lavf57.41.100
    Stream #0:0: Audio: mp3 (libmp3lame), 16000 Hz, mono, s16p
    Metadata:
      encoder         : Lavc57.48.101 libmp3lame
Stream mapping:
  Stream #0:0 -> #0:0 (adpcm_ms (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Multiple frames in a packet from stream 0
size=     165kB time=00:00:56.27 bitrate=  24.1kbits/s speed=71.7x    
video:0kB audio:165kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.143178%
root# 

The result was a playable file so maybe that gives me a syntax that could potentially be used for batch conversion?


Re: QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Thu Jul 08, 2021 7:28 am
by greengeek

I just came up with this script that i can put in the directory containing my WAVs and have it process each WAV using that ffmpeg syntax.
I also found a way on stackexchange to get it to process lowercase wavs at the same time. (using {.WAV,.wav} syntax )

Code: Select all

#! /bin/bash
#Put in directory containing .WAV and/or .wav files then click.
#Converts .WAV and/or .wav files to mp3
clear
for file in *{.WAV,.wav}; do
FILE=$file
BASE=$(echo "${FILE%.*}")
ffmpeg -i $file $BASE.mp3
done

Seems to work ok.


Re: QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Thu Jul 08, 2021 11:03 am
by rcrsn51

Just out of curiosity, what happens if you run the "file" command on one of these files?

Code: Select all

file input.wav

Re: QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Thu Jul 08, 2021 1:50 pm
by Luke2021
rcrsn51 wrote: Thu Jul 08, 2021 11:03 am

Just out of curiosity, what happens if you run the "file" command on one of these files?

Should be

Code: Select all

ffmpeg -i input.wav output.mp3

Re: QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Thu Jul 08, 2021 1:56 pm
by rcrsn51
Luke2021 wrote: Thu Jul 08, 2021 1:50 pm
rcrsn51 wrote: Thu Jul 08, 2021 11:03 am

Just out of curiosity, what happens if you run the "file" command on one of these files?

Should be

Code: Select all

ffmpeg -i input.wav output.mp3

?????

I don't think that you understand the purpose of the "file" command. It's to see how Linux identifies the content of the file. That will help to select the appropriate conversion tool.


Re: QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Thu Jul 08, 2021 7:36 pm
by greengeek
rcrsn51 wrote: Thu Jul 08, 2021 11:03 am

Just out of curiosity, what happens if you run the "file" command on one of these files?

Code: Select all

file input.wav

Code: Select all

root# file input.wav
input.wav: RIFF (little-endian) data, WAVE audio, Microsoft ADPCM, mono 16000 Hz
root#

and here is what ffmpeg sees the file as:

Code: Select all

Stream #0:0: Audio: adpcm_ms ([2][0][0][0] / 0x0002), 16000 Hz, 1 channels, s16, 64 kb/s

Re: QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Thu Jul 08, 2021 8:06 pm
by rcrsn51

Interesting. I guess that's sufficiently different from a conventional .wav file that the lame-based encoders can't handle it.

Thanks.


Re: QWinFF media converter (Bionic64). WAV conversion to mp3

Posted: Fri Jul 09, 2021 3:36 pm
by mikeslr

Your post reminded me about shinobar's FFConvert. Rather than hijack this thread, I've posted about it here, viewtopic.php?f=88&t=3429