ffmpeg 'palettegen' cospe uma paleta 'paletteuse' não pode usar

1

Estou tentando usar uma paleta para melhorar a renderização de gifs a partir de MP4s, como foi sugerido . No entanto, estou correndo para um problema bizarro:

$ ffmpeg -v warning -i test.mp4 -vf "fps=15,scale=320:-1:flags=lanczos,palettegen" -y /tmp/palette.png

$ ffmpeg -v warning -i /tmp/palette.png -i test.mp4 -lavfi paletteuse -y test.gif
[Parsed_paletteuse_0 @ 0x7f83a8c0eb20] Palette input must contain exactly 256 pixels. Specified input has 480x480=230400 pixels

palettegen parece estar cuspindo uma paleta que paletteuse não pode realmente usar. Isso seria menos confuso se os documentos não especificassem que esse não é o comportamento esperado:

reserve_transparent

Create a palette of 255 colors maximum and reserve the last one for transparency. Reserving the transparency color is useful for GIF optimization. If not set, the maximum of colors in the palette will be 256. You probably want to disable this option for a standalone image. Set by default.

Então, uh. Fazer o que? (Para o registro: OsX 10.12, ffmpeg 3.2.4)

    
por Gastove 15.04.2017 / 02:36

1 resposta

2

O filtro paletteuse espera que a segunda entrada seja a paleta. Em seu comando atual, como as entradas não são explicitamente rotuladas, o filtro indaga as entradas na ordem em que são especificadas. Então,

ffmpeg -v warning -i test.mp4 -i /tmp/palette.png -lavfi paletteuse -y test.gif
    
por 15.04.2017 / 07:37

Tags