流媒体常见传输协议
RTSP(Real-Time Streaming Protocol)
是一种网络流媒体传输协议,可用于从网络摄像头等设备中获取实时视频流。许多网络摄像头和视频服务器都支持RTSP协议。
HLS(HTTP Live Streaming)
是一种基于HTTP的流媒体传输协议,主要用于在互联网上直播和点播视频流。
HLS使用分段技术,将视频流分成多个小段,并通过HTTP协议分发到客户端。
HLS是基于文件的,而要把流写入文件一定是以I帧为单位,因此HLS延迟可能高达2GOP,等到第一个I帧然后再将接下来的一个GOP写入文件。
WebRTC(Web Real-Time Communication)
是一种开放源代码的实时通信协议,可用于在浏览器之间进行点对点视频通话和数据传输。WebRTC支持UDP和TCP传输协议,并具有低延迟和高可靠性。
WebSocket
在浏览器直播摄像头实时流时,可通过ws传输flv格式的视频数据。
FLV:Flash Video
是一种网络视频格式,内容体积小,视频质量高。
流媒体常见处理框架
OpenCV
是一个开源的计算机视觉库,可用于处理图像和视频。它支持多种编程语言,包括C++、Python和Java等。
FFmpeg
是一个开源的多媒体框架,可用于处理音频、视频和流媒体。它支持多种编解码器和容器格式,并具有高度可定制的特性。
GStreamer
是一个基于Linux的多媒体框架,可用于处理音频和视频。它支持多种编解码器和容器格式,并具有高度可定制的插件体系结构。
mediapipe
Google开源的,对AI和ML友好的流媒体处理框架。
可以直接使用其提供的Solution,在自己的AI视觉解决方案中;
也可以使用其提供的Framework,开发自己的流媒体应用。
GitHub - google/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.
Monibuca
开源Go语言流媒体服务器开发框架