Skip to main content
edited body
Source Link
llogan
  • 60.6k
  • 17
  • 130
  • 152

Wrong concat

You're using the wrong concat (protocol, filter, and demuxer). You should use the filter or the demuxer, but in your case I recommend the filter since you're filtering and re-encoding anyway.

As mentioned in the wiki link you provided:

While the demuxer works at the stream level, the concat protocol works at the file level. Only certain files (mpg and mpeg transport streams, possibly others) can be concatenated with the concat protocol. This is analogous to using cat on UNIX-like systems or copy on Windows.

Example concat filter command

ffmpeg -i input0.mp4 -i input1.mp4 -i input2.mp4 -filter_complex \
"[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=2a]concat=n=3:v=1:a=1[v0][a0]; \
 [v0]scale=960:-2,format=yuv420p[v]; \
 [a0]volume=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 22 -c:a libvorbis -q:a 5 output.mkv

Wrong concat

You're using the wrong concat (protocol, filter, and demuxer). You should use the filter or the demuxer, but in your case I recommend the filter since you're filtering and re-encoding anyway.

As mentioned in the wiki link you provided:

While the demuxer works at the stream level, the concat protocol works at the file level. Only certain files (mpg and mpeg transport streams, possibly others) can be concatenated with the concat protocol. This is analogous to using cat on UNIX-like systems or copy on Windows.

Example concat filter command

ffmpeg -i input0.mp4 -i input1.mp4 -i input2.mp4 -filter_complex \
"[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=2:v=1:a=1[v0][a0]; \
 [v0]scale=960:-2,format=yuv420p[v]; \
 [a0]volume=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 22 -c:a libvorbis -q:a 5 output.mkv

Wrong concat

You're using the wrong concat (protocol, filter, and demuxer). You should use the filter or the demuxer, but in your case I recommend the filter since you're filtering and re-encoding anyway.

As mentioned in the wiki link you provided:

While the demuxer works at the stream level, the concat protocol works at the file level. Only certain files (mpg and mpeg transport streams, possibly others) can be concatenated with the concat protocol. This is analogous to using cat on UNIX-like systems or copy on Windows.

Example concat filter command

ffmpeg -i input0.mp4 -i input1.mp4 -i input2.mp4 -filter_complex \
"[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[v0][a0]; \
 [v0]scale=960:-2,format=yuv420p[v]; \
 [a0]volume=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 22 -c:a libvorbis -q:a 5 output.mkv
added another input as requested
Source Link
llogan
  • 60.6k
  • 17
  • 130
  • 152

Wrong concat

You're using the wrong concat (protocol, filter, and demuxer). You should use the filter or the demuxer, but in your case I recommend the filter since you're filtering and re-encoding anyway.

As mentioned in the wiki link you provided:

While the demuxer works at the stream level, the concat protocol works at the file level. Only certain files (mpg and mpeg transport streams, possibly others) can be concatenated with the concat protocol. This is analogous to using cat on UNIX-like systems or copy on Windows.

Example concat filter command

ffmpeg -i input0.mp4 -i input1.mp4 -i input2.mp4 -filter_complex \
"[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=2:v=1:a=1[v0][a0]; \
 [v0]scale=960:-2,format=yuv420p[v]; \
 [a0]volume=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 22 -c:a libvorbis -q:a 5 output.mkv

Wrong concat

You're using the wrong concat (protocol, filter, and demuxer). You should use the filter or the demuxer, but in your case I recommend the filter since you're filtering and re-encoding anyway.

As mentioned in the wiki link you provided:

While the demuxer works at the stream level, the concat protocol works at the file level. Only certain files (mpg and mpeg transport streams, possibly others) can be concatenated with the concat protocol. This is analogous to using cat on UNIX-like systems or copy on Windows.

Example concat filter command

ffmpeg -i input0.mp4 -i input1.mp4 -filter_complex \
"[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v0][a0]; \
 [v0]scale=960:-2,format=yuv420p[v]; \
 [a0]volume=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 22 -c:a libvorbis -q:a 5 output.mkv

Wrong concat

You're using the wrong concat (protocol, filter, and demuxer). You should use the filter or the demuxer, but in your case I recommend the filter since you're filtering and re-encoding anyway.

As mentioned in the wiki link you provided:

While the demuxer works at the stream level, the concat protocol works at the file level. Only certain files (mpg and mpeg transport streams, possibly others) can be concatenated with the concat protocol. This is analogous to using cat on UNIX-like systems or copy on Windows.

Example concat filter command

ffmpeg -i input0.mp4 -i input1.mp4 -i input2.mp4 -filter_complex \
"[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=2:v=1:a=1[v0][a0]; \
 [v0]scale=960:-2,format=yuv420p[v]; \
 [a0]volume=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 22 -c:a libvorbis -q:a 5 output.mkv
Source Link
llogan
  • 60.6k
  • 17
  • 130
  • 152

Wrong concat

You're using the wrong concat (protocol, filter, and demuxer). You should use the filter or the demuxer, but in your case I recommend the filter since you're filtering and re-encoding anyway.

As mentioned in the wiki link you provided:

While the demuxer works at the stream level, the concat protocol works at the file level. Only certain files (mpg and mpeg transport streams, possibly others) can be concatenated with the concat protocol. This is analogous to using cat on UNIX-like systems or copy on Windows.

Example concat filter command

ffmpeg -i input0.mp4 -i input1.mp4 -filter_complex \
"[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v0][a0]; \
 [v0]scale=960:-2,format=yuv420p[v]; \
 [a0]volume=2[a]" \
-map "[v]" -map "[a]" \
-c:v libx264 -crf 22 -c:a libvorbis -q:a 5 output.mkv