【问题标题】:Capture videostream using C/C++使用 C/C++ 捕获视频流
【发布时间】:2014-02-20 22:50:32
【问题描述】:

我正在开发一个基于客户端-服务器的项目。客户端是 Windows 应用程序 (Visual Studio 2012),服务器是在 Linux 上运行的 C 程序。

服务器使用网络摄像头来捕获和流式传输视频 (ffserver)。问题是我不知道如何对客户端进行编程以接收和播放视频(可能通过对话框)。我是否必须使用 WMPlayer、VLC 等播放器?

我是新手,如有任何帮助或建议,我们将不胜感激。

【问题讨论】:

标签: c++ c visual-studio-2012 video-streaming windows-applications


【解决方案1】:

客户端您始终可以使用 DirectShow 来解码和呈现您的流。 Live555 可以处理流并将其传递给图表。

Render RTSP H.264 video stream using live555

如果你不熟悉 DirectShow 和过滤器,MSDN 上有很多东西

About DirectShow Filters

这应该允许您渲染到您选择的表面,但在没有信号的情况下渲染某些东西总是明智的,这样您就可以区分无流和空白流之间的区别。

【讨论】:

    【解决方案2】:

    我认为您会在两端使用简单的 vlc 播放器找到服务器和客户端解决方案,请点击以下链接 http://xmodulo.com/2013/09/live-stream-video-webcam-linux.html

    【讨论】:

    • 我已经在客户端用 ffplay 尝试过类似的事情。但是,我不想要一个显示流的弹出窗口,每次我运行命令 vlc http://<ip_address_of_webcam_host>:8080/stream.wmv 而是一个 .exe(例如,每次服务器流式传输视频时都会填充一个对话框)。你认为这可能吗?无论如何,谢谢。
    • 如果您担心每次在提示符下运行命令,您可以创建一个 .exe 文件并在其中使用 system("vlc http://:8080/stream.wmv"),有了这个,您只需单击将为您运行 vlc 命令的 .exe 文件
    • 还有一件事可能是windows有它的api和其他功能你也可以使用windows媒体播放器库,我猜vs2012中有msdn.microsoft.com/en-us/library/hh828986%28v=vs.85%29.aspx
    • [in refering to system()]:你说得对,但弹出窗口仍然存在。我正在寻找一个应用程序,即使我没有视频流,也会显示“视频显示窗口”(在视频流到达之前它不会显示任何内容)。
    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 2013-01-22
    • 2013-03-02
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 2013-07-12
    相关资源
    最近更新 更多