FFMPEG Bit Rate as 16Bit for Audio Conversion - audio

I am using FFMPEG Audio Converter to convert the file format. At Present it bit rate is 176.4 kbit/s, so it file size to big.
I want to convert it as possible at low bit rate but unable to find any solution.
I use below command line to convert the file
ffmpeg.exe -i "Audio Input FilePath" "Audio Output FilePath"

You can define with -b:a the target bitrate so try for example:
ffmpeg.exe -i "Audio Input FilePath" -b:a 64k "Audio Output FilePath"

Related

Is there some way to configure ffmpeg to include support for signed 24-bit WAV output?

24-bit sample sizes are not at all uncommon for PCM/WAV data, so I was surprised to see this:
Invalid sample format 's24'
... when I ran this:
ffmpeg -i input.oga -y -f wav -ar 44100 -sample_fmt s24 -ac 2 output.wav
When I look at the ffmpeg FAQ page it says that it doesn't support signed 24-bit sample sizes.
Fair enough, but I'm having a hard time accepting that this very powerful tool which supports an impressively large number of formats is somehow missing support for this really common sample width.
All I can think of is that maybe it's a build configuration issue.
So this question is...
Is there some way to configure ffmpeg to include support for signed 24-bit WAV output?
There is no sample format to compactly store 24-bit samples, but they can be stored in 32-bits with padding. For that, select a 24-bit PCM encoder
ffmpeg -i input.oga -y -f wav -ar 44100 -c:a pcm_s24le -ac 2 output.wav
Run ffmpeg -encoders | grep 24 to get a list of all 24-bit encoders.

Changing bitrate of mp3 in ffmpeg - file doesnt run

I am writing a small mp3 conversion tool. We upload a mp3 file & would like to convert it to a 96kbps file & a 320 kbps file. I have written the conversion script & it runs. But these files do not play.
Am i missing something?
the code i've written is:
/usr/local/bin/ffmpeg -i test.mp3 -vn -ar 441000 -ac 2 -ab 96k -f mp2 music/96/test.mp3 2>&1
Thanks!
There are two major issues here:
The audio rate you're setting (-ar 441000) is incorrect. You want 44.1 kHz (-ar 44100).
You're forcing the use of MPEG2 audio (-f mp2), which is not what you want, and is probably not supported by the player you're using either. Leave that option out entirely; the .mp3 extension on the output file will be used as a hint anyway.

Normalize audio in an avi file

I have an avi file that has different levels of audio. Is there a way to decrease and increase appropriately where needed the audio of my file using ffmpeg?
In ffmpeg you can use the volume filter to change the volume of a track. Make sure you download a recent version of the program.
Find out the gain to apply
First you need to analyze the audio stream for the maximum volume to see if normalizing would even pay off:
ffmpeg -i video.avi -af "volumedetect" -f null /dev/null
Replace /dev/null with NUL on Windows. This will output something like the following:
[Parsed_volumedetect_0 # 0x7f8ba1c121a0] mean_volume: -16.0 dB
[Parsed_volumedetect_0 # 0x7f8ba1c121a0] max_volume: -5.0 dB
[Parsed_volumedetect_0 # 0x7f8ba1c121a0] histogram_0db: 87861
As you can see, our maximum volume is -5.0 dB, so we can apply 5 dB gain. If you get a value of 0 dB, then you don't need to normalize the audio.
Apply the volume filter:
Now we apply the volume filter to an audio file. Note that applying the filter means we will have to re-encode the audio stream. What codec you want for audio depends on the original format, of course. Here are some examples:
Plain audio file: Just encode the file with whatever encoder you need:
ffmpeg -i input.wav -af "volume=5dB" output.mp3
Your options are very broad, of course.
AVI format: Usually there's MP3 audio with video that comes in an AVI container:
ffmpeg -i video.avi -af "volume=5dB" -c:v copy -c:a libmp3lame -q:a 2 output.avi
Here we chose quality level 2. Values range from 0–9 and lower means better. Check the MP3 VBR guide for more info on setting the quality. You can also set a fixed bitrate with -b:a 192k, for example.
MP4 format: With an MP4 container, you will typically find AAC audio. We can use ffmpeg's build-in AAC encoder.
ffmpeg -i video.mp4 -af "volume=5dB" -c:v copy -c:a aac -strict experimental -b:a 192k output.mp4
Here you can also use other AAC encoders. Some of them support VBR, too. See this answer and the AAC encoding guide for some tips.
In the above examples, the video stream will be copied over using -c:v copy. If there are subtitles in your input file, or multiple video streams, use the option -map 0 before the output filename.
The author's info is: Jon Skarpeteig in SuperUser
You can use my ffmpeg-normalize script for that.
First, install a recent version of ffmpeg. Then, install via pip install ffmpeg_normalize, then run it on an AVI file:
ffmpeg-normalize input.avi -o output.mkv -c:a aac -b:a 192k
Here, we're choosing to re-encode the audio with AAC at 192 kBit/s, and copy the video stream over to the output. This will perform EBU R128 normalization, but simple peak/RMS normalization is also possible.

FFmpeg audio conversion

I have been using FFMPEG for some time for audio file conversions. I just downloaded the newest version and the command below:
ffmpeg -i x.flac -ab 128k x.mp3
no longer produces a 128k file.
It produces a 48k file no matter what the -ab command requests. Any suggestions?
According to the documentation
`-ab bitrate'
Set the audio bitrate in bit/s (default = 64k).
So this is the bitrate, which means that per second by default 64k bits are used for storing sound information. So only a one second file would return a 128k file.
If I misunderstood your question and you mean that the bitrate is 48k instead of 128k then double check if ffmpeg is not using variable bit rate. If this is not the case I suggest you submit a bug report.

getting error while converting wav to amr using ffmpeg

I am using ffmpeg to convert amr to wav and wav to amr.Its successfully converting amr to wav but not viceversa. As ffmpeg is supporting amr encoder decoder, its giving error.
ffmpeg -i testwav.wav audio.amr
Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
You can try setting the sample rate and bit rate.
Amr supports only 8000Hz sample rate and 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k or 12.2k bit rates:
ffmpeg -i testwav.wav -ar 8000 -ab 12.2k audio.amr

Resources