我想用ffmpeg把.avi转换成.gif,有高质量的和字幕。
现在,我使用这个脚本将.avi转换为.gif,并使用优质
ffmpeg -v warning -ss 10:00 -t 5 -i input.avi -vf "fps=15,scale=420:-1:flags=lanczos,palettegen" -y palette.png
ffmpeg -v warning -ss 10:00 -t 5 -i input.avi -i palette.png -lavfi "fps=15,scale=420:-1:flags=lanczos [x]; [x][1:v] paletteuse" -y output.gif我生成一个调色板,然后使用它输出gif。
然后我使用这个脚本将字幕添加到gif中。
ffmpeg -v warning -i output.gif -vf "ass=subtitles.ass" -y outputWithSubs.gif一切都很好。问题是,第一个脚本给我好的质量没有字幕,第二个给我字幕没有好的质量。
当我试图将它们与这个脚本结合时:
ffmpeg -v warning -ss 10:00 -t 5 -i input.avi -vf "fps=15,scale=420:-1:flags=lanczos,palettegen" -y palette.png
ffmpeg -v warning -ss 10:00 -t 5 -i input.avi -i palette.png -vf "ass=subtitles.ass" -lavfi "fps=15,scale=420:-1:flags=lanczos [x]; [x][1:v] paletteuse" -y output.gif我得到了这个错误:
Filtergraph 'ass=subtitles.ass' was specified through the -vf/-af/-filter option for output stream 0:0, which is fed from a complex filtergraph. -vf/-af/-filter and -filter_complex cannot be used together for the same stream.
我有没有办法把好的质量和字幕同时结合起来呢?
发布于 2015-12-01 19:14:55
使用-vf,并在一个滤光片中完成所有的过滤。
ffmpeg -y -ss 10:00 -t 5 -i input.avi -filter_complex "fps=15,scale=420:-1:flags=lanczos,ass=subtitles.ass,palettegen" palette.png
ffmpeg -y -ss 10:00 -t 5 -i input.avi -i palette.png -filter_complex "fps=15,scale=420:-1:flags=lanczos,ass=subtitles.ass[x];[x][1:v]paletteuse" output.gifhttps://stackoverflow.com/questions/34027422
复制相似问题