app-starlock/lib/talk/starChart/proto/talk_expect.proto

42 lines
2.1 KiB
Protocol Buffer
Raw Normal View History

// 预期接收
syntax = "proto3";
package main;
option go_package = "./spb/talk";
// 视频类型
enum VideoTypeE {
NONE_V = 0;
H264 = 1; // 也称为 AVC采用了多种高效的编码技术如帧间压缩、运动估计、变换编码等能够在保持较高画质的同时减小文件大小具有广泛的兼容性和硬件支持
IMAGE = 2; // 一种简单的视频压缩格式它将每一帧视频都压缩成单独的JPEG图像帧 经常用于低延迟的视频流应用 如网络摄像头、数字视频录像机、监控视频。它也常用于一些老旧的设备中。
VP8 = 3; // 由Google开发开源软件编码器WebRTC默认编码器 广泛用于WebRTC视频会议、YouTube视频播放等。VP8 已被Google广泛推广尤其在HTML5视频和实时视频应用中有着广泛应用。
}
// 音频类型
enum AudioTypeE {
NONE_A = 0;
AAC = 1; // AAC 是一种有损压缩音频编解码器,广泛应用于多媒体和流媒体传输。
G711 = 2; // 无损压缩算法使用8 kHz的采样率每个采样点使用8位数据。虽然压缩效率低但非常高的音质广泛应用于电话和VoIP中。
OPUS = 3; // 开源WebRTC默认编码器 低延迟、广泛的比特率范围从6 kbps到510 kbps以及适应性强的特性特别适合用于实时通信如VoIP和高质量的音乐流媒体。
}
// 预期接收为渲染方发送,含义为:“我可以理解这些格式,你看看你方便提供什么格式”
message TalkExpectReq {
// 如果接收到NONE的话意味着对方关闭了喇叭或者视频显示发送方应该停止发送
// 支持的类型是数组
repeated VideoTypeE VideoType = 1;
repeated AudioTypeE AudioType = 2;
}
// 这是音视频提供方的回应,含义为:“马上我就会为你发送这个格式的音视频,你准备好解析器吧”
message TalkExpectResp {
// 宽度,单位像素
uint32 Width = 1;
// 高度,单位像素
uint32 Height = 2;
// 旋转角度 默认0
uint32 Rotate = 3;
// 即将发送的音视频格式
VideoTypeE VideoType = 4;
AudioTypeE AudioType = 5;
}