在 linux 上将已编码的数据流式传输到网络

Streaming already encoded data to network on linux

我有一个连接到 odroid 板的 USB 3.0 basler 相机。我使用 c++ 通过相机 sdk 抓取帧并通过硬件编码器对其进行编码(这比软件编码器快得多,几乎是 30 fps 和 2.0 mp 图像的 10 倍)。我想在 rtsp 上通过网络流式传输它以从另一台电脑接收以便处理它。到目前为止我所做的是,通过硬件编码器对抓取的帧进行编码,并将它们保存在内存或磁盘中。

如果你问我为什么喜欢这样的方式,会有很多odroid板,它们都有一个2.0 mp的usb摄像头,它们都需要在工作站上处理和存储。该工作站和所有 odroid 板将连接到同一网络。

我检查了 ffserver 和 libvlc 以逐帧传输此编码数据,但目前没有结果。这些流媒体需要访问媒体文件或设备本身来抓取和编码自己然后流式传输,这不适合我的情况。换句话说,我需要能够操作要发送的数据,我将负责准备数据。到目前为止,他们不允许我向他们提供我的编码数据。 (如果他们已经这样做了,很高兴知道)

我在 linux 和流媒体上都没有这方面的经验,也不知道如何实现。

如果你能给我指出正确的方向,我会很高兴。

提前致谢。

我将采用 h.264。将您的流作为附件 b 写入标准输出。管道到 ffmpeg。 'ffmpeg -i - -codec copy rtsp://whatever'