生成透明视频覆盖或其他方式?
generate transparent video overlay or another way?
我的 src 文件有很多 png 和 b.mp4
我想要什么:
在 b.mp4
上叠加 png(作为动画)
我试过的方法:
200张png大小都快40M了,装不下android phone..
所以我生成 pngs 到透明视频使用这个命令:
"ffmpeg -i %04d.png -vcodec png a.mov
"
然后使用
"ffmpeg -i b.mp4 -i a.mov -vf overlay=0:0:0 out.mp4
",
有效。
但我得到的问题是 a.mov 的大小太大(200 png,每个文件是 100k,a.mov 大约是 100M),我试过 -vcodec copy,rawvideo,qtle,also got一个非常大的文件。有解决这个问题的办法吗?
然后我试图找到另一个 way:I 生成 png 到 mp4,使用
ffmpeg -i %04d.png -vcodec libx264 a.mp4
而且我知道 libx264 和 yuv420p(libx264 不支持 yuva420p)不能保持 alpha 通道?但我仍然想要 try.then 我在 b.mov;
上叠加了 a.mp4
很明显,a.mp4 下的黑色背景....因为它失去了它的 alpha 通道?
然后我尝试混合滤镜,我发现 blend=all_mode=lighten
看起来和我想要的有点一样?但它仍然与效果(叠加)
不一样
谁能帮帮我,谢谢
您可以通过一个命令将 png 文件直接覆盖在视频上。例如:
ffmpeg -i b.mp4 -framerate 30 -i %04d.png -filter_complex [0:v][1:v]overlay=format=yuv420[vid] -map [vid] -r 30 output.mp4
过去,我发现 png 文件比 mov 文件更适合叠加。确保为 png 输入提供帧速率,否则它将假定为 25 fps(这可能与视频 b.mp4 的 fps 不同)。
我的 src 文件有很多 png 和 b.mp4
我想要什么: 在 b.mp4
上叠加 png(作为动画)我试过的方法:
200张png大小都快40M了,装不下android phone..
所以我生成 pngs 到透明视频使用这个命令:
"ffmpeg -i %04d.png -vcodec png a.mov
"
然后使用
"ffmpeg -i b.mp4 -i a.mov -vf overlay=0:0:0 out.mp4
",
有效。
但我得到的问题是 a.mov 的大小太大(200 png,每个文件是 100k,a.mov 大约是 100M),我试过 -vcodec copy,rawvideo,qtle,also got一个非常大的文件。有解决这个问题的办法吗?
然后我试图找到另一个 way:I 生成 png 到 mp4,使用
ffmpeg -i %04d.png -vcodec libx264 a.mp4
而且我知道 libx264 和 yuv420p(libx264 不支持 yuva420p)不能保持 alpha 通道?但我仍然想要 try.then 我在 b.mov;
上叠加了 a.mp4很明显,a.mp4 下的黑色背景....因为它失去了它的 alpha 通道?
然后我尝试混合滤镜,我发现 blend=all_mode=lighten
看起来和我想要的有点一样?但它仍然与效果(叠加)
谁能帮帮我,谢谢
您可以通过一个命令将 png 文件直接覆盖在视频上。例如:
ffmpeg -i b.mp4 -framerate 30 -i %04d.png -filter_complex [0:v][1:v]overlay=format=yuv420[vid] -map [vid] -r 30 output.mp4
过去,我发现 png 文件比 mov 文件更适合叠加。确保为 png 输入提供帧速率,否则它将假定为 25 fps(这可能与视频 b.mp4 的 fps 不同)。