Loops 仅使用ffmpeg,是否可以使用源GIF图像并输出设定长度的视频>;一个循环通过输入GIF?
假设我有一个8帧的动画GIF,2秒长。我想建立一个视频文件(编解码器在这一点上并不重要),是30秒长的,由源GIF重复一遍 是否可以仅使用Loops 仅使用ffmpeg,是否可以使用源GIF图像并输出设定长度的视频>;一个循环通过输入GIF?,loops,video,ffmpeg,gif,pandastream,Loops,Video,Ffmpeg,Gif,Pandastream,假设我有一个8帧的动画GIF,2秒长。我想建立一个视频文件(编解码器在这一点上并不重要),是30秒长的,由源GIF重复一遍 是否可以仅使用ffmpeg?使用convert或其他一些预处理实用程序的答案不算数[原因是我想在没有该实用程序的PandaStream上使用它]。我们还假设shell脚本也是不可能的,尽管它可以是多个ffmpeg命令 我尝试过但不起作用的事情(虽然可能是我做错了,但我对ffmpeg不太熟悉): 使用中的-loop\u输入,-loop\u输出选项。使用ffmpeg 1.2和
ffmpeg
?使用convert
或其他一些预处理实用程序的答案不算数[原因是我想在没有该实用程序的PandaStream上使用它]。我们还假设shell脚本也是不可能的,尽管它可以是多个ffmpeg命令
我尝试过但不起作用的事情(虽然可能是我做错了,但我对ffmpeg不太熟悉):
-loop\u输入
,-loop\u输出
选项。使用ffmpeg 1.2和2.0,我得到一个无法识别的选项“loop|[input | output]”
错误消息。我可能用错了,因为这个错误是关于没有识别这个选项,尽管文档说它不推荐使用-循环
选项。似乎对GIF->Video没有任何作用。我认为这个标志和上面的标志与生成动画GIF作为输出有关我在这里有点不知所措(我已经尝试了上述概念的许多其他排列),我现在正处于“用棍子戳它”的时刻,希望有人已经这样做了 可能吗?对 看,我们可以将gif和转码转换为mpeg流(您可以将第一个复制两次): 然后将它们连接起来,以gif格式输出
ffmpeg -i "concat:image1.ts|image2.ts|image3.ts" -pix_fmt rgb24 output.gif
从mp4或类似的开始,似乎可以得到更好的结果;将第一步替换为
ffmpeg -i image.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts image1.ts
对其他副本重复上述步骤
我创建了同一文件的多个副本,因为如果我多次尝试concat:
同一文件(concat:image1.ts | image1.ts | image1.ts
),它就无法工作
享受一下多么好玩的事-1表示接受答案,无任何评论。这就是为什么我不再发布堆栈溢出。但是GIF的质量非常好pixelated@AjayShrestha尝试在
-f mpegts
之前添加-q:v1
,以提高输出质量
ffmpeg -i image.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts image1.ts