我目前正在努力用 C# 创建一个应用程序来与我的 Apple TV 交互。
以下链接是Apple TV使用的AirPlay协议(非官方): http: //nto.github.io/AirPlay.html
从文档的顶部开始,到目前为止,我的应用程序使用 http 请求来回成功地将照片/幻灯片/视频发送到 appletv。
但是,我知道关于镜像的文档部分。根据(非官方)协议,客户端在端口 7100 上连接到 Apple TV,并发送典型的 HTTP POST 请求,然后是有关会话的参数的二进制 PLIST。我对这部分没有任何问题。由于缺乏经验,我对下一部分要做什么感到有些困惑。
在发送初始 HTTP 标头后,Apple TV 需要一个 H.264 分组流,这我完全不知道,特别是因为我不知道这种流的有效负载/NAL 结构,以及如何构造这些字节遵守协议的数组(主要是因为我只处理过您的典型数据类型。
我的主要问题是:如何设置要发送的正确值以遵守以下要求:
6.2. 流数据包
视频流使用 128 字节的标头进行分组,后跟可选的有效负载。似乎只使用了头的前 64 个字节。标头以以下 little-endian 字段开头:
大小描述
4 字节负载大小
2 字节负载类型
2 字节 0x1e 如果类型 = 2,否则 6
8 字节 NTP 时间戳
有 3 种类型的数据包:
类型描述
0 视频比特流
1 编解码器数据
2 心跳
任何帮助我朝着正确的方向前进的帮助都将非常感激,因为我觉得我已经碰到了一堵砖墙。