【问题标题】:Stream video file while it's recording在录制时流式传输视频文件
【发布时间】:2014-06-01 04:42:47
【问题描述】:

我目前正在做一个学生项目,我们必须创建一个具有这些限制的视频直播服务

  • 我们使用 OpenCV 从网络摄像头捕获视频
  • 我们希望在录制视频的同时进行流式传输
  • 我们有一个文件 capture.avi 保存到计算机中,在保存此文件时,我们希望将其流式传输。

目前,我们不知道该怎么做,我们不知道从 A 传输到 B 的文件是否可以在 B 中打开(例如通过 VLC),以及我们是否不会有任何中断。

我们计划使用 RTSP 作为网络协议。我们用 C++ 编写所有代码。

这里有问题:

  • RTSP 是否注意流式传输正在写入的文件
  • 我们应该使用什么格式的源文件?我们应该将 OpenCV 捕获的帧从 A 流式传输到 B(因此在 B 中我们必须使用 OpenCV 将帧转换为视频),还是应该让 OpenCV 在 A 中创建一个视频文件,并将该视频文件从 A 流式传输到乙?

谢谢!

【问题讨论】:

  • 尝试使用 mjpeg 编码进行实时流式传输。视频编码不会很昂贵,也不会依赖很多帧。
  • 应该如何处理音频?
  • @Zaw Lin 你打算只使用 OpenCV 进行录制,还是在录制和流式传输之前有任何预处理?
  • @Haris,我只是想知道这是否是操作的问题。如果可以丢弃音频,事情就简单了
  • 好吧对不起,我的愚蠢错误我的意思是 OP。

标签: c++ opencv video-streaming rtsp


【解决方案1】:

我认为这样做并不安全,您需要的是两个缓冲区。

  • 第一个允许您使用任何库将录制的视频写入本地文件系统。
  • 后者将允许您的视频通过您的网络进行流式传输。

两者应该共享相同的上下文,因此管理两个缓冲区同步的相同数据。

【讨论】:

    猜你喜欢
    • 2010-10-25
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    相关资源
    最近更新 更多