puppeteer-lottie-cli icon indicating copy to clipboard operation
puppeteer-lottie-cli copied to clipboard

How to generate from lottie json with no background

Open jeb218 opened this issue 4 years ago • 5 comments

Even with -b "transparent" explicitly set, there is always a black background in the generated files. I know the background isn't embedded in the json, because I have also displayed the same files in lottie-react-native, and there is no background there.

I need to generate an mp4 from the lottie json, and then use ffmpeg to overlay the generated mp4 over another mp4 - but the lottie generated video has a large black background around it that covers the other video.

Do you have any tips for getting an mp4 out that has no background?

jeb218 avatar May 21 '20 21:05 jeb218

mp4 videos don't support transparency.

Your best bet is to output a series of transparent png images and use that "image-*.png" type pattern as your overlay input.

transitive-bullshit avatar May 22 '20 02:05 transitive-bullshit

Yeah I realized the mistake in my thought process right after I posted. I tried to delete the issue but I guess they don't allow that. I was able to do the image series however

jeb218 avatar May 22 '20 02:05 jeb218

good issue! i have the same problem.

gnipbao avatar Sep 09 '20 06:09 gnipbao

@transitive-bullshit u can use -vcodec png filter in ffmpeg command

khaledzag avatar Jun 19 '23 13:06 khaledzag

  1. puppeteer-lottie -i ruledme.json -o 'frame-%d.png' --width 1024
  2. ffmpeg -framerate 30 -i frame-%d.png -c:v gif -filter_complex "[0]split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" out.gif
  3. ffmpeg -framerate 30 -i frame-%d.png -c:v libvpx-vp9 -b:v 0 -pix_fmt yuva420p out.webm

I went with webm instead of gif, easier.

att1sb avatar Jan 30 '24 20:01 att1sb