11

I'm quite new to multimedia things, I'm trying to find a way to make nice screencasts, I've already been able to capture my desktop with ffmpeg:

$ ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 -y out.mkv

It works pretty nice, but I'd like to add music in the background, if I add it with mencoder:

mencoder  -ovc copy -oac mix -audiofile track.mp3 out.mkv -o out.mp4

It delete the video sound, I don't want to replace it, I want to add music to my explanation, any ideas?

Oli
  • 299,936

3 Answers3

18

You can install mkvtoolnix;

sudo apt-get install mkvtoolnix

Then use mkvmerge from the installation to mux audio and video into the mkv container from the command line.

There is also a Gui tool, mkvtoolnix-gui that is a front end to mkvtoolnix.

sudo apt-get install mkvtoolnix-gui

Example to mux video file called, input-video.mkv with a sound file called soundfile.mp3, creating a new muxed mkv file called output-with-sound.mkv, do the following in the directory where you have the video without audio and the audio file:

mkvmerge -o output-with-sound.mkv -A input-video.mkv soundfile.mp3

More examples including synchronization here: http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge.html

Sabacon
  • 41,594
3

kdenlive and add a second audio track, then remux

RobotHumans
  • 30,182
3

I'm not sure why mencoder didn't work for you, but you can also do the same thing with ffmpeg. You just need to use two inputs to ffmpeg.

 ffmpeg -i track.mp3 -i out.mkv -vcodec copy -acodec libfaac -ab 192k final.mkv

I didn't try it, but I don't think you can do -acodec copy, especially since you're using two different codecs. Just pick whatever you want in the output and add that in, its really fast compared to the video.

Jorge Castro
  • 73,907
teeks99
  • 312
  • 1
    VLC cannot open the mkv file after adding or removing an audio track using this command. – user2513149 Jan 30 '19 at 16:14
  • Yes, mkv muxing in ffmpeg is busted. See this issue https://trac.ffmpeg.org/ticket/6037, they don't even seem to care. Ffmpeg is notorious for being slow, but this is even closing the eyes on the issue. – Tiwenty Mar 25 '21 at 10:02