【问题标题】:FFmpeg Windows directshow filterFFmpeg Windows 直接显示过滤器
【发布时间】:2012-01-16 19:00:38
【问题描述】:

我正在尝试使用 ffmpeg api 打开一个 directshow 视频源(网络摄像头/推送源),但是我没有任何运气。 我试过使用

av_open_input_file()

但是我认为这不是正确的方法...有人有任何指示吗?

我在 Windows 系统上使用 Visual Studio 和 C++

【问题讨论】:

    标签: c++ filter ffmpeg directshow


    【解决方案1】:

    这不使用 ffmpeg API,但可能会帮助您抓取视频。

    我找到了一个sample app on codeproject called LiveVideo,它可以使用 DirectShow 从网络摄像头抓取视频。它是从 2004 年开始的,但有一些类封装了永远难以理解的 DirectShow API,这非常有用。我能够修改这个项目以同时从我的 XP 笔记本电脑上的两个网络摄像头中抓取。

    【讨论】:

    • 看起来是个不错的项目!但是我有点希望使用 ffmpeg,因为我已经使用它构建了一些我希望添加的东西!
    【解决方案2】:

    也许使用 DirectShow + ffmpeg 包装器来获得所需的输出格式?所以,使用 DirectShow 方式打开网络摄像头,而不是 ffmpeg。

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

        使用 ffmpeg,您可以找到有数据(视频或音频)的设备。

        ffmpeg -list_devices true -f dshow -i dummy
        

        就我而言,我的输出如下。

        我可以用这段代码轻松打开它。

        ffplay -f dshow -i video="ManyCam Virtual Webcam":audio="Mikrofon (ManyCam Virtual Microphone)"
        

        我还可以使用 ffmpeg 重新流式传输或保存此输出。 (注:桌面屏幕也可以通过这段代码获取)

        我的例子是使用 ffmpeg 构建而不是核心库。我现在没有 ffmpeg c++ lib,但我可以用 opencv ffmpeg 合并项目来展示它。

        【讨论】:

          【解决方案5】:

          您还可以查看OpenCV examples

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-09-22
            • 1970-01-01
            • 2014-09-06
            • 1970-01-01
            • 2023-03-19
            相关资源
            最近更新 更多