【发布时间】:2010-11-05 21:02:40
【问题描述】:
我希望能够通过我在 Qt 中执行的应用程序观看视频流 首先我检查了 vlc,但它的 GPL,而且我不需要它的所有选项然后我看到它使用 live555,即 LGPL 用于流媒体,我的问题我可以在 mt Qt 应用程序中使用这个库吗?以及如何
【问题讨论】:
标签: c++ qt video-streaming rtsp live555
我希望能够通过我在 Qt 中执行的应用程序观看视频流 首先我检查了 vlc,但它的 GPL,而且我不需要它的所有选项然后我看到它使用 live555,即 LGPL 用于流媒体,我的问题我可以在 mt Qt 应用程序中使用这个库吗?以及如何
【问题讨论】:
标签: c++ qt video-streaming rtsp live555
首先,你在什么平台上运行?
您可以仅将 Live555 用于 RTSP/RTP 目的。但是 Live555 不包含任何解码器等。
VLC 在内部使用 Live555 进行 RTSP AFAIK,但还包含一堆其他插件、解码器、解复用器等。
您仍然需要一个媒体框架来处理特定于媒体格式的解码、解复用、渲染等。在 Windows 上,这可以使用 DirectShow 完成。在这种情况下,您可以将 live555 包装在 DirectShow 源过滤器中并构建媒体管道。要让视频显示在 Qt 应用程序中,您需要研究如何将 DirectShow 视频渲染器窗口作为父级添加到 Qt 应用程序中。
另一个我不熟悉的跨平台媒体框架是gstreamer。
编辑:
你看过 Qt Phonon 吗?看起来他们已经开始将多媒体集成到框架中,但您必须调查他们是否支持 RTSP,如果不支持,如何将通过 Live555 接收的媒体数据获取到 Qt 媒体管道中。
【讨论】:
是的,您可以在应用程序中使用 LGPL 的 Live555 库。前端可以使用 QT、MFC 或 Java 来实现。 Live555 提供了用于建立 RTSP 会话的 API,对于音频/视频实现,您可能需要覆盖一些函数。浏览 live555 在其 testProgs 文件夹中提供的示例应用程序。
如果您正在制作商业应用程序,请不要忘记在您的版本中包含 Live555 许可证。
【讨论】: