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