【问题标题】:Create a Video Stream (AVI) from a Series of Images从一系列图像创建视频流 (AVI)
【发布时间】:2010-12-24 14:45:33
【问题描述】:

有一个 IP 网络摄像头,我在不久前编写了一个 .NET 类。它基本上是一个 Timer 实现,每五秒从相机 ping 一个快照 CGI 脚本。相机本身非常简陋。它没有任何类型的 API 可供我使用,我唯一能以编程方式(远程)执行的操作就是调用此脚本。该脚本返回 640x480 JPEG 图像。很简单。

现在我需要做的是花几天时间处理这些图像,并从中创建一个“延时”AVI 视频流,最终将其嵌入到网页中。如何使用 VB.NET 做到这一点?

【问题讨论】:

标签: .net vb.net video-streaming jpeg avi


【解决方案1】:

有几个命令行工具可以获取一系列图像并输出 AVI 文件。我建议您从您的应用中调用其中一个。

我会提供建议的链接,但我已经好几年没有使用了。

编辑:显然你可以使用 ffmpeg 做到这一点:http://ffmpeg.org/ffmpeg-doc.html

用于从许多图像创建视频:

ffmpeg -f image2 -i foo-%03d.jpeg -r 12 -s WxH foo.avi

语法 foo-%03d.jpeg 指定 使用由三个组成的十进制数 用零填充的数字表示 序号。这是相同的 C printf 支持的语法 函数,但只接受格式 普通整数是合适的。

【讨论】:

    【解决方案2】:

    FFMpeg 具有 Windows 二进制文件并且非常受欢迎。

    Making movies from image files using ffmpeg/mencoder

    您必须检查可用的输出格式是否适合您。

    【讨论】:

      【解决方案3】:

      .net 不直接支持视频格式。您最好的选择是使用第 3 方工具来生成 .avi。

      ffmpeg 是一种选择。您可以通过这样的命令行直接访问它:

      ffmpeg -f image2 -i img%d.jpg /output/a.mpg
      

      您需要将图像命名为 img1.jpg、img2.jpg 等。有关详细信息,请参阅ffmpeg faq。您还应该在常见问题解答中找到有关如何输出不同视频格式的详细信息。

      您可以使用 Process.Start() 从 vb 启动一个进程。像这样的:

      Process.Start("ffmpeg.exe", "-f image2 -i img%d.jpg /output/a.mpg")
      

      您还可以查看ffmpeg-sharpTao.FFmpeg,它们是 ffmpeg 库的 .net 包装器。我没有亲自尝试过,但看起来它可能会对你有所帮助。

      另一种选择是查看MEncoder,它具有类似的功能。您应该能够查找此工具的类似命令行。

      [相关SO问题:271003]

      【讨论】:

      • 看起来是个不错的解决方案。希望有一个图书馆,但我可以毫无问题地启动这个单独的进程。
      • @Josh。我添加了一些您可能想要查看的包装库的链接。
      • ffmpeg-sharp 无法编译,也找不到下载Tao.FFmpeg的地方
      • 我想我会自己启动这个过程。我以前用LAME MP3音频编码器做过这个,所以对它有点熟悉。
      • TAO 下载地址在这里:sourceforge.net/projects/taoframework,但如果您对在命令行上执行此操作感到满意,那可能是最简单的方法。
      【解决方案4】:

      这是 Codeproject 中某人的 C# 包装器:

      http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx

      该包装器应该为您提供所需的东西。

      【讨论】:

      • 啊,当我发布这个答案时它不在那里(没有刷新页面)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 2012-08-01
      相关资源
      最近更新 更多