Merge multiple webm files using avconv

I have multiple .webm files in one location, say as inside video folder. I'm using Ubuntu 13.10 32bit system. I want to merge all my webm files in one output.webm file.

I have read about ffmpeg, but when I tried ffmpeg with concat function I got:

Unknown input format: 'concat'; And ffmpeg is deprecated and use avconv instead.

Please suggest how to use avconv for merging multiple webm files to one.


Solution 1:

Download

The first step is to download ffmpeg. It's a standalone binary so you don't need to install it. Just execute it directly.

Your (expired) Ubuntu version offers avconv which is missing many features including several concatenation functions.

Concatenate

Use the concat demuxer if you want to attempt to join them with no re-encoding. All videos must have the same parameters.

Use the concat filter if the videos vary in width, height, frame rate, etc. The filter will require re-encoding.

Note: You never did provide the info I requested a year and a half ago in my comments to your question, so I can't suggest which one you specifically need to use. Also, I can't provide examples specific to your inputs without this info, so the following examples are generic and may not work without additional options.

concat demuxer

Make a text file listing your inputs:

file 'input0.webm'
file 'input1.webm'
file 'input2.webm'

Now run ffmpeg:

ffmpeg -f concat -i input.txt -c copy output.webm

concat filter

In this example input1.webm has a bigger width x height than the others. This example command will scale input1.webm so it matches the other videos:

ffmpeg -i input0.webm -i input1.webm -i input2.webm -filter_complex \
"[1:v]scale=640:-1[v1]; \
 [0:v][0:a][v1][1:a][2:v][2:a]concat=n=3:v=1:a=1[v][a]" \
-map "[v]" -map "[a]" output.webm

Also see

  • FFmpeg Wiki: Concatenate