Hi bubibabubi, On Mon, Jul 14, 2014 at 22:04:21 -0700, bubibabubi wrote: > http://stackoverflow.com/questions/24604689/how-to-join-two-image-to-one-by-ffmpeg [...] > ffmpeg.exe -i b.jpg -i a.jpg -filter_complex scale=120:-1,tile=2x1 -s > 1920x1080 out.jpeg -y
That answer on stackoverflow is totally incorrect. The tile filter takes (two) _consecutive_ frames from _one_ stream. This command is trying to apply it to two streams. (Well, sort of.) Using the concat filter, you could make one stream out of your two images: ffmpeg -i b.jpg -i a.jpg -filter_complex 'concat,tile=2x1' -s 1920x1080 out.jpeg -y or better ffmpeg -i b.jpg -i a.jpg -filter_complex 'concat,tile=2x1,scale=1920x1080' out.jpeg -y The originally given scale=120:-1 is for making the inputs have the same size, which is important for the concat filter, but doesn't work inside a filter_complex. So using this method with differently sized images, you will need more magic to make them the same size. Assuming everything is fine and you don't want to scale your output, the basic answer according to your question is: ffmpeg -i a.jpg -i b.jpg -filter_complex 'concat,tile=2x1' c.jpg Álvaro's second response is totally different, and makes the inputs into a single "image2" stream, which is also a viable solution. I think s/he doesn't quite understand the details of ffmpeg though. Another solution is to use the overlay filter with multiple inputs, as outlined here: https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos which would turn out somewhat like this for you: ffmpeg -i a.jpg -i b.jpg -filter_complex '[0]scale=1920:1080[sc0];[1]scale=1920:1080[sc1];[sc0]pad=iw*2:ih[pad];[pad][sc1]overlay=w' c.jpg Have fun, Moritz _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
