将图像序列转换为无损电影

46

我有一系列的TIF格式图像,希望创建一个以固定FPS(例如每秒10张图片)且无损压缩的电影。是否有简单的方法?我已经尝试了Imagemagick的convertffmpeg,但我无法确定使用哪些设置可以避免任何压缩。


如果你有一台Mac电脑,你可以使用Apple Script和QuickTime。你有Mac电脑吗? - JoshRoss
请参见http://superuser.com/questions/347433/how-to-create-an-uncompressed-avi-from-a-series-of-1000s-of-png-images-using-ff。 - Hugues
相关文章:https://dev59.com/tV8f5IYBdhLWcg3wK__4 - Ciro Santilli OurBigBook.com
"对我来说,ffmpeg -r 15 -i img%04d.jpg -vcodec libx264 -b 800k -filter minterpolate='fps=120' out.mp4" 这个命令非常有效。" - Peter
另一个提示:还要检查不同的fps=设置。根据手头的问题,较低/较高的fps可能更好。 - Peter
1个回答

55

尝试使用无损编解码器,如HuffYUVFFV1

  • ffmpeg -i frame%04d.png -c:v huffyuv test.avi
  • ffmpeg -i frame%04d.png -c:v ffv1 -qscale:v 0 test.avi

这两种编解码器看起来很流行。HuffYUV似乎更受欢迎,但出现了某些问题,我的系统上huffyuv编码时会出现奇怪的颜色和黑色横向条纹。这可能与输入是RGB(来自PNG)而不是YUV有关(从原始YUV420视频文件输入可以正常工作)。所以这里有一些替代方案(不完全无损,但视觉效果相当好):

  • ffmpeg -i frame%04d.png -qscale:v 0 test.avi
  • ffmpeg -i frame%04d.png -c:v mjpeg -qscale:v 0 test.avi

1
HuffYUV确实支持RGB,所以我不确定那是否是问题所在。 - Todd Partridge 'Gen2ly'
4
根据定义,MJPEG几乎不可能是无损的。HuffYUV可以实现无损压缩,但由于颜色转换可能会引入舍入误差。我无法对FFV1做出任何声明。然而,我想提醒大家关注无损H.264选项:http://ffmpeg.org/trac/ffmpeg/wiki/x264EncodingGuide#LosslessH.264 - P.R.
如何让每个图像正好是1帧,并使输出文件的FPS为1(不复制图像,只是慢慢播放)?谢谢。 - Royi
@Royi 我所做的是 ffmpeg -r <DESIRED_FPS> -f image2 -s <FRAME_WIDTH>x<FRAME_HEIGHT> -i ./frames/frame_%d.png -vcodec libx264 -pix_fmt yuv420p ./output.mp4你感兴趣的部分是 -r <FPS> 标志。 - Will Brickner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接