【问题标题】:C++ - RTSP Client with Qt GUI using live555 lib what else do i need?C++ - 带有 Qt GUI 的 RTSP 客户端使用 live555 lib 我还需要什么?
【发布时间】:2010-11-05 21:02:40
【问题描述】:

我希望能够通过我在 Qt 中执行的应用程序观看视频流 首先我检查了 vlc,但它的 GPL,而且我不需要它的所有选项然后我看到它使用 live555,即 LGPL 用于流媒体,我的问题我可以在 mt Qt 应用程序中使用这个库吗?以及如何

【问题讨论】:

    标签: c++ qt video-streaming rtsp live555


    【解决方案1】:

    首先,你在什么平台上运行?

    您可以将 Live555 用于 RTSP/RTP 目的。但是 Live555 不包含任何解码器等。

    VLC 在内部使用 Live555 进行 RTSP AFAIK,但还包含一堆其他插件、解码器、解复用器等。

    您仍然需要一个媒体框架来处理特定于媒体格式的解码、解复用、渲染等。在 Windows 上,这可以使用 DirectShow 完成。在这种情况下,您可以将 live555 包装在 DirectShow 源过滤器中并构建媒体管道。要让视频显示在 Qt 应用程序中,您需要研究如何将 DirectShow 视频渲染器窗口作为父级添加到 Qt 应用程序中。

    另一个我不熟悉的跨平台媒体框架是gstreamer

    编辑:

    你看过 Qt Phonon 吗?看起来他们已经开始将多媒体集成到框架中,但您必须调查他们是否支持 RTSP,如果不支持,如何将通过 Live555 接收的媒体数据获取到 Qt 媒体管道中。

    【讨论】:

      【解决方案2】:

      是的,您可以在应用程序中使用 LGPL 的 Live555 库。前端可以使用 QT、MFC 或 Java 来实现。 Live555 提供了用于建立 RTSP 会话的 API,对于音频/视频实现,您可能需要覆盖一些函数。浏览 live555 在其 testProgs 文件夹中提供的示例应用程序。

      如果您正在制作商业应用程序,请不要忘记在您的版本中包含 Live555 许可证。

      【讨论】:

      • lib 是否给了我视频选项,我的意思是表示层?
      • 图书馆将为您提供视频/音频缓冲区。显示您必须管理的部分。
      • - 您不能将 Live555 与 Java 一起用于前端。 Live555 是一个 c++ 库。此外,这不是覆盖一些函数的问题:live555 不提供解码功能,只处理传输层。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 2012-11-02
      • 1970-01-01
      • 2015-07-11
      相关资源
      最近更新 更多