Combine Audio and Video with ffmpeg

By  on  

We have audio.  We have video.  We appreciate each of those media on their own but you can create an awesome work of art if you combine the two.  After all, how could you watch a sports highlight video without setting the visuals to some obscure techno track?  Blasphemy.

My favorite A/V utility, ffmpeg, allows you to merge an audio file and a video file into one brilliant piece of art:

ffmpeg -i video.mp4 -i audio.m4a -c:v copy -c:a copy output.mp4

You can even use an animated GIF for the video piece:

ffmpeg -i video.gif -i audio.m4a -c:v copy -c:a copy output.mp4

Banter aside, there are many good cases for combining an audio track with a video track, many examples being seen on YouTube.  Happy media creation!

Recent Features

  • By
    How I Stopped WordPress Comment Spam

    I love almost every part of being a tech blogger:  learning, preaching, bantering, researching.  The one part about blogging that I absolutely loathe:  dealing with SPAM comments.  For the past two years, my blog has registered 8,000+ SPAM comments per day.  PER DAY.  Bloating my database...

  • By
    JavaScript Promise API

    While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready?  Promises are becoming a big part of the JavaScript world...

Incredible Demos

  • By
    Create a CSS Cube

    CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals.  Add animation and you've got something really neat.  Unfortunately each CSS cube tutorial I've read is a bit...

  • By
    iPhone-Style Passwords Using MooTools PassShark

    Every once in a while I come across a plugin that blows me out of the water and the most recent culprit is PassShark: a MooTools plugin that duplicates the iPhone's method of showing/hiding the last character in a password field. This gem of...

Discussion

  1. Antoni

    There is a Firefox extension for this if anybody prefers UI over command line, https://addons.mozilla.org/en-US/firefox/addon/media-converter-and-muxer

  2. If you don’t want to re-encode audio and video, you can use following command:

    ffmpeg -i video.mp4 -i audio.m4a -c:v copy -c:a copy output.mp4
    

    It will execute a lot faster.

    • Updated! Thank you!

    • Bumpledink Scrotleworth

      You can specify to copy both at once like this:

      ffmpeg -i video.mp4 -i audio.m4a -c copy output.mp4
    • This works like charm and looks few flags shorter too.

  3. Hi David,

    Nice article. Would these same commands work efficiently on android too?

    We have a mute video to which we hope to add audio recorded from phone.

    Any guidance would be great.

  4. JC

    Can’t find ffmpeg in a zip file. Any other similar tool that opens in Windows?

  5. Kevin

    I’m not a programmer so I’m sort of confused and frustrated at what I’m looking at. I have no idea how to use this lol

  6. howard Johnson

    Here is an example batch file that you can drag the two files onto to do the joining, delete the two files and rename to the original. (drag by the mp4 file)

    @echo off 
    "C:\Program Files (x86)\ffmpeg\bin\ffmpeg.exe" -i %1 -i %2 -c:v copy -c:a copy d:\folder\output.mp4
    del %1
    del %2
    copy d:\folder\output.mp4 %1
    del d:\folder\output.mp4 
    pause
    
  7. Ravi Sharma

    where do we keep ffmpeg.exe file and that audio and video files to whom we merge.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!