Linux 使用ffmpeg将实时视频从raspberry pi流到web服务器进行分发

Linux 使用ffmpeg将实时视频从raspberry pi流到web服务器进行分发,linux,video,ffmpeg,stream,video-streaming,Linux,Video,Ffmpeg,Stream,Video Streaming,我正在尝试构建一个设备,将h.264视频编码到raspberrypi上,并将其流式输出到云中的一个单独的web服务器。我遇到的主要问题是,我搜索的大多数实现要么直接在pi上安装web服务器,要么让嵌入式播放器直接从设备上播放视频 我希望它几乎是即插即用的,无论我在什么网络上,ie没有任何类型的端口转发,我需要做的就是将设备连接到网络,流将在网页上可见 解决这个问题的一个可能的方法是简单地将Base64中的帧编码为JPEG并将其发送到Web服务器上的一个端点,然而,这是对带宽的巨大浪费,并且不考虑

我正在尝试构建一个设备,将h.264视频编码到raspberrypi上,并将其流式输出到云中的一个单独的web服务器。我遇到的主要问题是,我搜索的大多数实现要么直接在pi上安装web服务器,要么让嵌入式播放器直接从设备上播放视频

我希望它几乎是即插即用的,无论我在什么网络上,ie没有任何类型的端口转发,我需要做的就是将设备连接到网络,流将在网页上可见

解决这个问题的一个可能的方法是简单地将Base64中的帧编码为JPEG并将其发送到Web服务器上的一个端点,然而,这是对带宽的巨大浪费,并且不考虑h.264的帧速率

有没有关于可以用来实现这一点的一些可能的技术的想法


我觉得可以用一些WebSocket或zmq和ffmpeg以某种方式完成,但我不确定。

如果您能提供更多关于设备架构的描述,那将很有帮助。由于它是一个RPI,因此可能还通过摄像头扩展端口用于视频采集。如果是这种情况,您可以访问视频设备,并使用可用的命令行工具组合进行大量的流式处理

类似于以下内容的内容将从摄像机主机生成RTMP流

raspivid [preferred options] -o - | ffmpeg -i - [preferred options] rtmp://[IP ADDR]/[location]
从那以后,
FFmpeg
将为您带来很多重担

这将使远程主机能够访问RTMP流


可以补充该架构的其他工具可以是
ffserver
,其中可以获取来自rpi主机的rtmp流,然后将其提供给各种客户端,例如网页中的播放器。快速查看显示,
ffserver
可能已过时,但有类似的组件。

很抱歉,我将使用USB网络摄像头。在其他示例中,我发现这段代码中有很多是用来发送RTMP流的。未涵盖的部分是如何接收流并在服务器端对其进行拖缆。请更新您的问题,以包括RTMP接收器端的架构需求。看看Wowza的服务,了解这是如何在商业上实现的。