首先让我开始,我了解这个协议主要是封闭源代码和 Apple 专有的。撇开法律后果不谈,我仍然需要一些帮助。
标题:AirPlay 流式传输到 HTML 视频播放器。
我想做的是将 AirPlay MOV 文件流式传输到 HTML 视频播放器(可能是 Flash)播放器。
我已经使用 Node JS 构建了 AirPlay 服务器,并将 AppJS 作为我的 Window (webkit) 容器,并且可以正确显示照片。MDNS 已经完成。Airplay 客户端和服务器正确通信和切换协议等。这也不是视频的问题。协议部分完成。
我还可以从 airplay 客户端获取视频文件,然后当文件完成后,我可以通过 VLC、Quicktime 等播放该文件。我现在正在寻找的是一种可以播放视频的渐进式下载(一种流式传输)随着数据的进入。
注意:我无法通过 VLC 播放文件,而它仍在下载。可能是我在下面提到的一个问题。
我尝试在下载过程中使用 VLC 打开视频文件(通过 airplay 客户端链接),但无法进行。可能是 MOV 文件信息位于文件末尾。如果是这种情况,AppleTV 等如何在无需先下载的情况下即时播放视频?
到目前为止,我一直在使用以下链接获取协议文档,但似乎部分内容已过时,并且视频部分没有说明如何检索视频文件。
AirPlay 协议: http: //nto.github.io/AirPlay.html#video
Flowplayer 起初是一个绝妙的主意,直到我发现它不支持 MOV 文件类型。另外,另一个问题 - MOV 是实际的视频文件类型还是容器?
问题是: 是否有基于 Flash 的播放器可以从流中播放 MOV 文件而无需下载完整文件?文件信息也可能在文件末尾,我不确定。
更新:看来我找到了有关 AirPlay 协议的更多信息。
从这个网站:https ://github.com/unused/airstream
airplay 协议基本上可以播放可通过 http 访问的 mpeg-4(mp4、mov、ts、m4v)格式的视频。
我可能只是对那个项目的客户端部分进行逆向工程,看看我是否可以让一个工作的服务器实现继续下去。
但是查看另一个网站的部分:http: //diveintohtml5.info/video.html
说:
MPEG 4,通常带有 .mp4 或 .m4v 扩展名。MPEG 4 容器基于 Apple 较早的 QuickTime 容器 (.mov)。Apple 网站上的电影预告片仍然使用较旧的 QuickTime 容器,但您从 iTunes 租借的电影是在 MPEG 4 容器中交付的。