将图像文件序列转换为单个视频文件

时间:2012-09-03 17:33:18

标签: c# .net

  

可能重复:
  bitmaps to avi file c# .Net

我有点想把序列图像文件转换成单个视频文件。我使用dotnet作为平台。我该怎么办?没有明确的想法...... 还有更多需要在显示图像序列的同时添加音频(mp3)语音......

1 个答案:

答案 0 :(得分:0)

这里的一般想法是你希望通过编码器传递原始图像并以这种方式对文件进行编码。编码器将负责生成所有关键帧和中间(P和B)帧,以及生成需要存储的任何必要的解码元数据。最重要的是,通过编码工具(如ffmpeg)运行它还将负责以已知的容器格式保存视频文件并正确构建视频标头。所有这些都是手工操作的复杂和繁琐,更不用说容易出错了。

无论您使用ffmpeg还是其他编码器,都取决于您。我建议使用ffmpeg,因为它具有您需要的必要功能。如果你想在代码中完成所有这些,ffmpeg是开源的,你可以将你需要的部分包装在.net shell中并以这种方式调用。但是,如果您正在开发可分发的应用程序,请记住ffmpeg的licenses

这应该让你开始:Making movies from image files using ffmpeg/mencoder

要添加音频,请检查:https://stackoverflow.com/questions/1329333/how-can-i-add-audio-mp3-to-a-flv-just-video-with-ffmpeg

现在,如果你想要同步音频和视频(假设图像序列是人们说话而音频是他们的语音),那么你手上就会遇到更困难的问题。此时,您需要根据其持续时间正确地复用音频和视频帧。 FFMpeg可能不会那么好,因为它会将视频序列中的每个图像设置为以相同的持续时间播放,这通常不会与音频帧正确关联。