【问题标题】:How to stream webcam video using ffmpeg?如何使用 ffmpeg 流式传输网络摄像头视频?
【发布时间】:2019-02-09 17:26:59
【问题描述】:

我对 ffmpeg 非常陌生,只是阅读了一些有关如何打开视频文件并解码其流的示例。 但是是否可以打开网络摄像头的流,例如:

http://192.168.1.173:80/live/0/mjpeg.jpg?x.mjpeg

有这方面的例子/教程吗? 我需要使用 ffmpeg 作为解码器来解码我自己的基于 Qt 的程序中的流。

【问题讨论】:

  • “有这方面的示例/教程吗?” 大量的谷歌 “ffmpeg 流媒体”。在顶部结果中,您会找到例如this article 包括处理网络摄像头源 IIRC。这与 c++ BTW 有什么关系?
  • 是的,我需要使用它作为解码器来解码我自己基于 Qt 的程序中的流。我找不到任何关于那个的教程......
  • 好吧,就你的 Qt 程序而言,我想说你可以通过 system() 或类似的方式调用 ffmpeg(可能 Qt 提供了它自己的类/函数来启动另一个进程)你的程序)。
  • @πάνταῥεῖ > 这与 C++ 有什么关系? FFmpeg 提供库(具有一些 C99 功能的 ISO C90)。只要他将它们包装在extern "C" 中,他就可以在需要时使用它们。
  • @aergistal 我认为不需要使用 ffmpegs C-API 从网络摄像头进行流式传输?这个 API 更难使用,然后只需调用 ffmpeg 作为一个单独的进程(考虑到过多的选项,这已经够难了)。

标签: ffmpeg video-streaming


【解决方案1】:

夜子,

首先检查您的网络摄像头是否受支持...做

ffmpeg -y -f vfwcap -i list

接下来,

ffmpeg -y -f vfwcap -r 25 -i 0 out.mp4 for encoding

这个网站有有用的信息;

http://www.area536.com/projects/streaming-video/

祝你好运。

【讨论】:

    【解决方案2】:

    这适用于实时视频流:

    ffplay -f dshow -video_size 1280x720 -i video0
    

    使用 ffmpeg 的另一个选项是:

    ffmpeg -f dshow -video_size 1280x720 -i video0 -f sdl2 -
    

    以上两种解决方案均由FFMPED提供

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-23
      • 2014-08-06
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多