I wanted to create some simple tutorial videos using a screen recording software (with gtk-recordMyDesktop to be precise), but the audio quality was terrible. There was a constant white noise in the background. I could reduce the noise with Audacity but 1) I couldn’t eliminate the noise, 2) it distorted my voice, and 3) the audio became weaker.
I had a cheap headphone / microphone that was connected with a jack plug. I think there was also some inference that caused the noise. So I bought a USB headset (Logitech H390) and the damn noise is gone! It works very well for me.
I tried it under Manjaro and here is how to make it work. Plug it and start Audacity. Next to the microphone icon there is a dropdown list. Select your headset and try to record some audio.
Try “pavucontrol” too. Under the Recording tab I had to select “Headset H390 Analog Mono”. Talk in the microphone and the sound feedback line should be moving.
How to record audio with gtk-recordMyDesktop? Start “pavucontrol” and “gtk-recordMyDesktop” too. In gtk-recordMyDesktop, go to Advanced -> Sound tab. Next to the device name I had “DEFAULT”. Change it to “pulse” (without quotes). Start recording with gtk-recordMyDesktop. Now switch to pavucontrol and go the Recording tab. At the bottom select “Show: Applications”. Now recordmydesktop should appear. Next to it there is a dropdown menu where select “Headset H390 Analog Mono”. It should do the trick.
Here I sum up how I use gtk-recordmydesktop. gtk-recordmydesktop produces huge
.ogv files that I like to convert to much smaller
.mp4 files (without quality loss).
My gtk-recordmydesktop settings:
- video quality 100%
- audio quality 100%
- in Advanced -> Performance:
- frames per second: 20
- full shots at every frame: yes
Convert .ogv to .mp4:
/opt/ffmpeg/ffmpeg -i "input.ogv" -codec:v libx264 -quality good -cpu-used 0 -profile:v baseline -level 30 -y -maxrate 2000k -bufsize 2000k -threads 4 -codec:a copy -b:a 128k "output.mp4"
I record audio with a microphone but it always has some white noise. To get rid of it, extract the audio:
/opt/ffmpeg/ffmpeg -i file.mp4 -f wav output.wav
.wav file with Audacity, remove the noise and save the result in
.mp3 format. Finally, replace the audio in the
/opt/ffmpeg/ffmpeg -i audio.mp3 -i video.mp4 -c copy final_video.mp4
You have a video with an audio track (call it
video.mp4). You have an audio file (e.g.
audio.mp3) that you want to put on the video, replacing the original audio of the video file.
With Audacity, you can open both
audio.mp3 and you can synchronize the
mp3 to match the original audio. Important points: speech/music should start at the same time, and its length should be the same or a little bit less than the original audio.
Once you have a good
audio.mp3 file, do the replacement with the following command:
ffmpeg -i audio.mp3 -i video.mp4 -c copy final_video.mp4
Before the previous solution, I used Avidemux, but it tends to crash sometimes :) When I have such videos where Avidemux crashes, I use ffmpeg from the command-line.