[FFmpeg-user] Convert just audio and preserve original video?

Ron Barnes rbarnes at njdevils.net
Wed May 8 15:25:07 EEST 2019


Hi Again Moritz,

Is there a way to assign a frequency to the audio when converting? The good sounding version has EAC @ 48000 Hz.  When I convert it, it says EAC and unknown, no Hz.  It sounds better but still low.

I have googled this command but I just keep getting links to the FFMPG document site but I am unable to fine the switch command to assign a frequency.

Can you assist?

-Ron


-----Original Message-----
From: ffmpeg-user <ffmpeg-user-bounces at ffmpeg.org> On Behalf Of Moritz Barsnick
Sent: Sunday, April 28, 2019 12:21 PM
To: FFmpeg user discussions <ffmpeg-user at ffmpeg.org>
Subject: Re: [FFmpeg-user] Convert just audio and preserve original video?

Hi Ron,

On Sun, Apr 28, 2019 at 07:48:20 -0400, Ron Barnes wrote:
> I have a few movies and the Audio on them for some reason plays very, 
> very low and I have to turn the volume on my TV to near max in order 
> to hear.

Have you checked whether the volume on the audio track is actually low?

$ ffmpeg -i input -map 0:a -af volumedetect -f null -

> I have noticed that a separate video encoded with EAC3 works perfect.

As a side note, I have the same effect, because (E)AC3 gets passed on to my TV by my media player, while other codecs are converted to PCM.
(My player isn't outputting as much volume as it could, apparently. Or the TV has different internal "data paths".)

Anyway:

> I am trying to compile the correct line command to convert JUST the 
> existing audio stream or streams (there may be multiple) to the above 
> yet preserve all existing data such as Subtitles and video quality.

Yes, that's easy and I do it quite often:
$ ffmpeg -i input -map 0 -c copy -c:a ac3 output

"-map 0" tells ffmpeg to use all input streams, as you requested.
"-c copy" tells ffmpeg to not re-encode.
"-c:a ac3 tells ffmpeg to re-encode audio.
(You can replace "ac3" with "eac3" if you actually need EAC3.)

You may need to tweak the output audio bandwidth for quality using "-b:a". I *believe* ac3/eac3 automatically uses 96 kBits/s per channel.

If, instead of going to a different codec, want to actually boost the volume (probably a different use-case than yours), you would do:

$ ffmpeg -i input -map 0 -c copy -c:a aac -af volume=+6dB output

Note that this can lead to clipping if you boost more is technically feasible. The volume filter tells you how much headroom you have. (I believe there's a new soft-clip filter to avoid all too heard clipping
effects.) If only some audio segments are too silent, while some are okay, the dynaudnorm filter is also very helpful.

Cheers,
Moritz
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-user mailing list