javascript - FFMPEG - 如何将覆盖视频的大小设置为输入大小

标签 javascript reactjs ffmpeg next.js ffmpeg-wasm

好的,我在 NextJS 项目中使用 FFMPEG wasm,但我认为一般的 FFMPEG 解决方案会起作用,因为 FFMPEG wasm 将解析正常的 FFMPEG 命令。我要做的是在输入视频的顶部添加一个覆盖视频,我还更改了覆盖视频的不透明度,以便我可以看到下面的主视频。我已经有了这个工作,用这行代码:-i input.mkv -i overlay.mov -filter_complex [1:v]format=argb,geq=r=\'r(X,Y)\':a=\'0.5*alpha(X,Y)\'[zork];[0:v][zork]overlay -pix_fmt yuv420p -preset ultrafast -c:a copy output.mkv .
问题是 input.mkv大小可能会改变,overlay.mov , 我想设置 overlay.mov大小与 input.mkv 相同(所以解决方案最好也不能使用固定值)。我在stackoverflow中看到了其他关于此的问题,但是由于我已经在使用命令来更改覆盖层的不透明度,因此我无法使用该命令来更改覆盖层的大小,因此我没有使用FFMPEG的经验无论如何,所以即使我已经看到如何更改覆盖的不透明度以及如何更改覆盖的大小,我无法弄清楚如何将这些命令组合成一个同时执行这两个命令的命令。

最佳答案

首先使用 scale2ref 缩放,然后更改不透明度。-i input.mkv -i overlay.mov -filter_complex [1:v][0:v]scale2ref[zork][video]; [zork]format=argb,lutrgb=a=val*0.5[zork];[video][zork]overlay -pix_fmt yuv420p -preset ultrafast -c:a copy output.mkv

关于javascript - FFMPEG - 如何将覆盖视频的大小设置为输入大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72062512/

相关文章:

video - 如何使用 ffmpeg 从 YUV 视频中提取帧(或特定帧)

ffmpeg - ffmpeg中来自一个来源的多个音轨

Javascript 函数在 JSFiddle 中工作,但当我将其复制到本地页面时不起作用

javascript - jquery背景图片url失败

javascript - React Material-UI Select 使用对象数组作为源

javascript - REACT 动态注入(inject) SVG。 react svg

ffmpeg 如何选择正确的音轨?

javascript - javascript中括号与 `this`绑定(bind)的效果

javascript - 如何在 Chrome 中显示 JavaScript 数组/对象的所有属性?

javascript - Redux + Hooks useDispatch() in useEffect calling action 两次