我正在尝试构建一个设备,可以在raspberrypi上对h.264视频进行编码,并将其流式传输到云中的单独web服务器。我遇到的主要问题是我搜索的大多数实现,要么让web服务器直接在pi上运行,要么让嵌入式播放器直接从设备上播放视频。
我希望它是相当多的即插即用,无论我在什么网络上,即没有任何类型的端口转发,所有我需要做的就是将设备连接到网络,流将在网页上可见。
这个问题的一个可能的解决方案是简单地将base 64中的帧编码为jpeg,并将它们发送到for服务器上的端点,然而,这是对带宽的巨大浪费,并且不会考虑到h.264的帧率。
有没有一些可能的技术可以用来做这件事?
我觉得这可以通过一些websockets或者zmq和ffmpeg来完成,但是我不确定。
发布于 2019-03-08 04:13:03
如果你能提供更多关于设备架构的描述,那将是很有帮助的。由于它是RPI,因此它可能还用于通过摄像头扩展端口进行视频采集。如果是这种情况,您可以访问视频设备,并使用可用的命令行工具组合执行大量有关流的操作。
类似以下内容将从摄像机主机生成RTMP流。
raspivid [preferred options] -o - | ffmpeg -i - [preferred options] rtmp://[IP ADDR]/[location]
从那时起,FFmpeg
将为您做很多繁重的工作。
这将使远程主机能够访问RTMP流。
补充该体系结构的其他工具可以是ffserver
,其中可以获取来自rpi主机的rtmp流,然后使其可用于各种客户端,例如网页中的播放器。快速浏览显示,ffserver
可能已经过时,但也有类似的组件。
https://stackoverflow.com/questions/55051968
复制相似问题