用于从嵌入式设备流式传输图像的协议/标准

时间:2016-09-20 08:30:48

标签: video embedded streaming h.264 rtsp

我正在寻找可用于处理能力和内存有限的嵌入式设备的流媒体库/协议。在我的搜索中很快就遇到了rtsp标准,具体而言,我遇到了https://github.com/ykst/librtsp看起来很有希望。还有其他可以推荐的库吗?

一般情况下,我有一个位图图像(bayer或rgb)。我希望将此Feed转换为可以使用标准媒体播放器查看的流式广播。让我们说我想要针对VLC媒体播放器。尽管符合(无损)压缩方案会很好,但我不希望在图像转换上花费任何处理(Bayer-> YUV)。

考虑到这一点,我正在阅读更多关于h.264 / x264的具体关于NAL单位(http://yumichan.net/video-processing/video-compression/introduction-to-h264-nal-unit/)的内容,如果这是可以用该标准实现的。但我对解释信息的材料不够熟悉。到目前为止,我所阅读的内容最简单的可能是编码一系列与关键帧类似的IDR相框。但我怀疑即使IDR图片帧是在块中创建的,也不仅仅是引用整个位图(就像未压缩的avi一样)。

总的来说:

关于我的用例,我可以/应该考虑哪些库?是否有更好的协议,除了rtsp更好/更简单的入门?我使用h.264编码走在正确的轨道上吗?如果我是,有人可以给我一个小概述我基本上应该做些什么来将我的图像转换为相应的NAL单位吗?

1 个答案:

答案 0 :(得分:-1)

作为一般规则,最好在视频方面对服务器端进行任何繁重的工作。

典型的体系结构,假设您希望多个客户端能够连接到流,那么将是:

嵌入式设备---> RTSP流---> Streaming Sever ---> HTTP / DASH等流--->客户端设备

此方法允许您使嵌入式设备上的处理尽可能简单,并且还允许将流的复杂性移至应变服务器。根据您拥有的客户端数量以及您希望用户体验的内容,流式视频可能非常复杂,因此使用专用的流媒体服务器通常是最简单的方法。

它还允许您在服务器端进行任何您想要进行的转换。

对您的端到端服务的快速评论 - 如果图像之间的时间相对较长,那么简单地将谨慎的图像发送到服务器并让服务器将它们构建成视频流实际上可能更容易一些 - 再次,驱动程序将最小化嵌入式设备必须完成的工作。

相关问题