本页面介绍如何通过标准的实时流式传输协议为视频串流添加注释。
Video Intelligence Streaming API 支持对实时媒体进行实时流式分析。支持的功能包括:
实时标签检测
实时镜头变化检测
实时露骨内容检测
实时对象检测和跟踪
AIStreamer 提取库提供一组可连接到 Video Intelligence API Streaming API 的开源接口和示例代码。该库支持以下协议:
HTTP Live Streaming (HLS):基于 HTTP 的媒体流式传输和通信协议。
实时流式传输协议 (RTSP):用于流式传输媒体服务器的网络控制协议。该协议与实时协议 (RTP) 和实时控制协议 (RTCP) 结合使用。
实时消息传递协议 (RTMP):用于通过互联网流式传输音频、视频和数据的协议。
开始使用 AIStreamer
AIStreamer 提取库包括以下示例(包括 Docker 示例)。
实时流式传输:在 Video Intelligence API 中支持实时流式传输协议(HLS、RTSP 和 RTMP)的说明。
Docker 和 Kubernetes:使用 Docker 示例和 Kubernetes 部署的说明。
实时标签检测:流式传输标签分析的说明。
实时镜头变化检测:流式传输镜头变化分析的说明。
实时露骨内容检测:流式传输露骨内容分析的说明。
实时对象检测和跟踪:流式传输对象检测和跟踪分析的说明。
代码架构
AIStreamer 提取库包括以下三个目录:
client:用于连接到 Video Intelligence 的 Python 和 C++ 客户端库。
env:AIStreamer 提取的 Docker 示例。
proto:Video Intelligence 的 Proto 定义和 gRPC 接口。
第三方依赖项
开源 AIStreamer 提取库基于以下 Google 拥有的开源库和第三方开源库。
Bazel:具备多语言支持的构建和测试工具。
gRPC:高性能开源通用 RPC 框架。
Protobuf:用于对结构化数据进行序列化的 Google 可扩展机制,该机制独立于语言和平台。
rules_protobuf:用于构建协议缓冲区和 gRPC 服务的 Bazel 规则。
glog:Google 日志记录模块的 C++ 实现。
gflags:实现命令行标志处理的 C++ 库。
ffmpeg:用于记录、转换和流式传输音频与视频的完整跨平台解决方案。
gStreamer:另一个跨平台多媒体处理和流式传输框架。