14

I got a video who needs some delicate tweaks. In that video I recite several poems. My voice sounds too low, while the background noise is too high. If someone turns its sound at maximum to be able to hear and understand me, his ears will be hurt by the final applauses.

So, I really need to edit this video before I can make it public, but, as you can see, this task is very delicate and complicated. I was not able to find a proper solution for it while i was using Windows. Now, that I am a new Linux user, the task gets even harder. But I hope that with your help and your vast experience, I can find the right app for this.

I know that there is a list of video editing software on the wiki section of askubuntu site, but that list by itself, can't help me. I need an exact answer from someone who went trough the same problem and found the solution.

Please, take into consideration the fact that I am a newbie in Linux and I have a Gnome environment on my PC.

Cristiana Nicolae
  • 4,570
  • 10
  • 32
  • 46

2 Answers2

25

To get a good noise reduction we cannot simply rely on basic denoise filters, as these may not be much more than low or high pass filters which then may lead to a rather muffled result.

A better approach will be using a dedicated audio processor designed to have good noise reduction algorithms on the audio content of our video only.

To do so the following short tutorial uses Audacity for audio processing, and FFmpeg for audio extraction and rebuilding the video.

  1. Extract the audio from our video file
    To keep the original's audio encoding we need to find out what codec the audio of our video file uses. This will e.g. be displayed on the right click file Properties > Video/Audio tab. You e.g will find it is AAC or mp3 encoded. Then we can extract the audio of an mp4 file with the following command:

     ffmpeg -i infile.mp4 -acodec copy outfile.aac
    

The option -acodec copy says we do not resample audio

  1. Use Audacity's noise reduction filters:
  1. Merge audio and video again.

Again, to avoid resampling we need the option copy to just use the data as they are. The source video's audio track will be remapped to the denoised sample with the following command:

    ffmpeg -i infile.mp4 -i denoised-audio.m4a -vcodec copy -acodec copy -map 0:0 -map 1:0 denoised-video.mp4
Takkat
  • 144,580
1

So the audio level needs to be 'compressed', that is, the loudest and the quietest volumes need to be brought closer together. That could be done manually by someone 'riding the gain' (manually adjusting the audio level, or Audacity does that automatically for audio).

However, you need to keep the audio synchronized with the video, and Audacity won't do video, so I suggest you register at the Avidemux forum and post your question there, for Avidemux is the most popular video-audio editor for Linux (based on frequency of http://SourceForge.net downloads).

There's also a list of other video+audio editors here on Video editing software options? and from the screenshot, PITIVI will also do what you need.

K7AAY
  • 17,705