Skip to main content
add another zample
Source Link
llogan
  • 10.3k
  • 2
  • 46
  • 58

use a loop

If you're a Linux or OS X user then you can use a Bash for loop:

mkdir outputdir
for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -vf scale=640:-2 -c:a copy "outputdir/${f%.*}.mp4"; done

Maybe a Windows user can add a similar example that works for that OS.

or simply cram it all in one command

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 \
-map 0 -s 640x480 -c:a copy 1_2.mp4 \
-map 1 -s 640x480 -c:a copy 2_2.mp4 \
-map 2 -s 640x480 -c:a copy 3_2.mp4 \
-map 3 -s 640x480 -c:a copy 4_2.mp4

You have to use -map otherwise the default stream selection will choose the same input for each output.

use a loop

If you're a Linux or OS X user then you can use a Bash for loop:

mkdir outputdir
for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -vf scale=640:-2 -c:a copy "outputdir/${f%.*}.mp4"; done

Maybe a Windows user can add a similar example that works for that OS.

use a loop

If you're a Linux or OS X user then you can use a Bash for loop:

mkdir outputdir
for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -vf scale=640:-2 -c:a copy "outputdir/${f%.*}.mp4"; done

Maybe a Windows user can add a similar example that works for that OS.

or simply cram it all in one command

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i 4.mp4 \
-map 0 -s 640x480 -c:a copy 1_2.mp4 \
-map 1 -s 640x480 -c:a copy 2_2.mp4 \
-map 2 -s 640x480 -c:a copy 3_2.mp4 \
-map 3 -s 640x480 -c:a copy 4_2.mp4

You have to use -map otherwise the default stream selection will choose the same input for each output.

Source Link
llogan
  • 10.3k
  • 2
  • 46
  • 58

use a loop

If you're a Linux or OS X user then you can use a Bash for loop:

mkdir outputdir
for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -vf scale=640:-2 -c:a copy "outputdir/${f%.*}.mp4"; done

Maybe a Windows user can add a similar example that works for that OS.