【问题标题】:Create a RTSP video stream on a .NET platform在 .NET 平台上创建 RTSP 视频流
【发布时间】:2011-06-09 08:36:27
【问题描述】:

我想从静态图像创建 RTSP/h264 视频流,并将其合并到我的 .NET 应用程序中。到目前为止,我已经找到了两种可能的方法:

  1. 使用ffmpeg/ffserver,但我需要在windows上编译ffserver,然后依赖它...而且我不一定要依赖外部应用程序

  2. 使用 LIVE555 (http://www.live555.com) 库,但他们没有任何 .NET 库,因此我需要花费一些精力使其与我的 .NET 库的其余部分一起工作。 NET 应用程序。

您能否评论一下#1、#2,或者哪个更好。有没有更快的方法在 .NET 中启动 RTSP 服务器?如果有一个需要时间的可靠解决方案,我不介意投入开发时间,但最好有一些我们可以快速使用的东西,用于原型设计和演示。

谢谢,

【问题讨论】:

    标签: .net vb.net streaming ffmpeg rtsp


    【解决方案1】:

    这需要即时完成,还是您可以上传图片,然后创建视频,然后只提供 h264 视频流?如果可以的话,我会从代码中的命令行调用 FFMpeg 并输出视频并跳过 RTSP。如果您使用 qt-faststart,您还可以获得可搜索的流,而无需先下载整个 MP4。

    【讨论】:

    • 这需要即时进行,因为流需要 24/7 实时。使用静态图片生成流,图片每隔几分钟左右更新一次。
    【解决方案2】:

    1 你可以使用已经编译好的 ffmpeg/ffserver for Windows。只需 google 一下,您就可以找到许多适用于 Windows 的预编译库。

    2 对于 live555,您可以在 VC6、YS2003 或 VS2008 中构建库。请参阅链接如何在 Windows 上配置和构建代码。编译非常简单,只需 1 小时。

    *这些库是用 C/C++(非托管代码)编写的,为了在您的托管代码中使用这些库,您可能需要进行编组或编写某种接口。

    【讨论】:

      【解决方案3】:

      h264 转码部分将是困难的部分。 X264 for .Net 的包装器并不多。

      在您有一种编码方式之后,您仍然必须将数据打包以使其通过 Rtp 工作,这是 Rtsp 用来将媒体发送到每个客户端的方式。这意味着以正确的方式将数据放入 RtpPackets 中,在这种情况下由 RFC 确定 https://www.rfc-editor.org/rfc/rfc6184

      我在 c# 中有一个 RtspClient 和 RtspServer,它们可以为您获取各个数据包,以便您将它们获取到解码器。

      这里还有一篇关于它的codeproject文章 http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp

      VLC 是另一种选择,因为它可以进行转码并为您提供 Rtsp 流供客户端同时使用。

      查看 VLC 文档http://www.videolan.org/doc/streaming-howto/en/ch05.html

      如果您还需要什么,请告诉我!

      【讨论】:

        【解决方案4】:

        虽然这不是一个永久的解决方案,但迄今为止最简单的方法是使用 .net Process 库将 vlc 嵌入到程序中:

        Dim p As New ProcessStartInfo
        p.FileName = "vlc"  'Assuming vlc.exe is already in the path variable
        p.Arguments = "vlc CLI options for setting up the stream"
        p.WindowStyle = ProcessWindowStyle.Hidden
        Process.Start(p)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多