2010-11-25 70 views
0


在PHP中是否有任何实现RTSP和/或MMS协议从RTSP & MMS服务器(PHP中的RTSP/MMS客户端)下载流?PHP中的RTSP和MMS协议实现

+0

“执行”是什么意思? – 2010-11-25 10:50:41

+0

嗨,我的意思是PHP代码/这些协议的类作为客户端。 – RYN 2010-11-25 10:55:18

+0

客户端如何处理流 - 将它们保存到磁盘? – 2010-11-25 10:58:15

回答

1

您可以使用php curl来获取供稿,然后显示/保存该供稿。

1

你试图做的是从根本上不工作。 MMS是一种实时多媒体流媒体协议 - 客户端和服务器之间通过对话来回同步数据传输(使视频和音频同步),并根据数据包延迟和数据包丢失率协商比特率,等等......并且只要媒体正在流式传输就保持在会话中。它按照媒体的速率进行传输,而不是以连接的比特率进行传输。如果是一小时长的视频,您的客户必须保持连接一小时。

PHP是一种查询/响应脚本语言 - 您向它发送请求,它发送一个答案,挂起然后忘记它为您的请求做的所有事情 - 它不会保留“状态”(除非您推送查询数据返回给浏览器客户端)。网络服务器会最终超时脚本并杀死它(当然,你可以让超时时间很长)......但实际上有一个可以“保存”MMS流的php客户端意味着本质上是用PHP编写Windows Media Player,因此它管理着两个套接字 - 每个方向一个套接字 - 全部试图实现专有的无证复杂流协议。

正如其他人指出的,您需要从服务器名称中删除mms://以连接到服务器 - 但即使这样也不简单。 Windows Media Player使用各种端口尝试连接到服务器,因为防火墙和路由器可能会阻止它。它的终极回归是80端口,愚弄守门人,WMP只是下载一个未知大小的长长的无辜grahpics图像。您可能能够验证您在另一端有一个实时MMS服务器,但除此之外,它非常快速地变得非常复杂。

这是该工作的错误工具。