有两个图像:a.jpg和b.jpg.
我只是想知道如何使用它们将它们连接成一个图像ffmpeg.
我应该如何完成ffmpeg -i a.jpg -i b.jpg命令以获得c.jpg输出图像?
这是我想要实现的一个例子:
A.JPG

B.JPG

C.JPG

llo*_*gan 18
使用hstack过滤器:
ffmpeg -i a.jpg -i b.jpg -filter_complex hstack output
Run Code Online (Sandbox Code Playgroud)
如果你想垂直堆叠使用vstack而不是.
请注意LordNeckbeard 的答案,因为它比我的 hack 好得多。
\n\n\xc3\x81lvaro\ 的答案对我不起作用,所以我做了更多研究来解决这个问题。这是我学到的:
\n\n我将使用以下变量。
\n\nA_HEIGHT=458\nA_WIDTH=370\nB_HEIGHT=600\nB_WIDTH=750\nB_CROP_X=112\nB_CROP_Y=0\nA_IMAGE=a.jpg\nB_IMAGE=b.jpg\nB_IMAGE_SCALED=b-scaled.png\nB_IMAGE_CROPPED=b-cropped.png\nC_IMAGE_WITHOUT_A=c-without-a.png\nC_IMAGE=c.png\nRun Code Online (Sandbox Code Playgroud)\n\n如果您的图像的宽度和高度不同。
\n\n该脚本将 B 缩放为 A 的大小。
\n\n# Scale.\nffmpeg -y -i ${B_IMAGE} -vf \\\n scale=${A_HEIGHT}*${B_WIDTH}/${B_HEIGHT}:${A_HEIGHT} ${B_IMAGE_SCALED}\n\n# Crop.\nffmpeg -y -i ${B_IMAGE_SCALED} -vf \\\n "crop=${A_WIDTH}:${A_HEIGHT}:${B_CROP_X}:${B_CROP_Y}" ${B_IMAGE_CROPPED}\nRun Code Online (Sandbox Code Playgroud)\n\nffmpeg -y -i ${B_IMAGE_CROPPED} -filter_complex tile=2x1 ${C_IMAGE_WITHOUT_A}\nRun Code Online (Sandbox Code Playgroud)\n\n现在C_IMAGE_WITHOUT_A缺少A;取而代之的是黑色背景。(您应该会得到类似于下图的内容。)

尽管如此,我还是找到了一种方法来连接这两个图像:
\n\nffmpeg -y -i ${C_IMAGE_WITHOUT_A} -i ${A_IMAGE} \\\n -filter_complex overlay=${A_WIDTH}:0 ${C_IMAGE}\nRun Code Online (Sandbox Code Playgroud)\n
Álv*_*aro -5
我认为瓷砖是你的ffmpeg命令。
您可以找到有关超级用户的更多信息。
尝试:
ffmpeg -i a.jpg -i b.jpg -filter_complex scale=120:-1,tile=2x1 output.jpg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8858 次 |
| 最近记录: |