将.avi转换为.gif与ffmpeg质量好和字幕 [英] Convert .avi to .gif with ffmpeg with good quality AND subtitles
问题描述
我想使用ffmpeg将.avi转换为.gif,具有良好的质量和字幕。
I want to use ffmpeg to convert .avi to .gif with good quality and subtitles.
现在,我使用这个脚本从质量将.avi转换为.gif:
Now, I use this script to convert from .avi to .gif with good quality:
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。
I generate a palette and then using it to output the gif.
然后,我使用此脚本将字幕添加到 gif :
Then I am using this script to add subtitles to gif:
ffmpeg -v warning -i output.gif -vf "ass=subtitles.ass" -y outputWithSubs.gif
所有这些都很好。问题是,第一个脚本给了我很好的质量,没有字幕,第二个给我没有质量好的字幕。
All that works just fine. The problem is that the first script gives me good quality without subtitles and the second gives me subtitles without good quality.
当我试图将它们与这个脚本结合起来时:
When I am trying to combine them with this script:
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
我收到此错误:
通过-vf / -af / -filter选项为输出流0:0指定了过滤器'ass = subtitles.ass',该输出流是从复杂的过滤器提供的。
-vf / -af / -filter和-filter_complex不能一起用于同一个流。
有没有办法我可以同时组合好的质量和字幕?
Is there any way that I could combine good quality and subtitles at the same time?
推荐答案
使用 -filter_complex
,而不是 -vf
,并在一个过滤器中进行所有过滤。
Use -filter_complex
, not -vf
, and do all of your filtering in one filtergraph.
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.gif
这篇关于将.avi转换为.gif与ffmpeg质量好和字幕的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!