我正在为c大学编写一些物理模拟,现在我输出一系列数百个png,然后我以快速顺序观看...有没有办法将它们合并到c中的视频中无损编解码库?
P.S。我正在使用cairo图形,并且在图形编程方面经验很少
答案 0 :(得分:3)
如果您想避免使用外部程序,libavcodec可能是生成视频的最佳方式。它在C中,并且有很好的文档记录(参见上面的链接)。
使用mencoder的Jonas解决方案的更多文档是here。
答案 1 :(得分:2)
不完全是你要求的但是我不会自己动手,我会使用mencoder:
mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc raw -oac copy -o output.avi
PS。 mencoder是MPlayer的一部分,是开源的。 DS。
答案 2 :(得分:2)
您只想将某些PNG视为视频?您无需合并它们:
mplayer -fps 2 mf://*.png
ffmpeg的libavcodec中有快速无损编解码器,如果你想这样做而不是写PNG。例如ffvhuff,或者huffyuv。
或者如果您不想使用libavcodec,您可以编写y4m原始输出并将其输出到某些内容。 yuv4mpeg是一个包含帧速率和帧大小的标题,然后是每个帧的未压缩像素。