1:不用media server或者共享目录的.
2:不过其实还是用了media server的原理而已.也就是说自己的程序就是一个media server
http://www.138soft.com/htm/kiss.jpg这个就是用这个原理的.
实际上,media server向mediaplay的端口发数据(80端口)服务器的响应头大概如下
(mediaplay请求Weblogic时截取下来的)
HTTP/1.1 200 OK
Server: WebLogic 5.1.0 04/03/2000 17:13:23 #66825
Content-Length: 49987
Content-Type: text/plain
Last-Modified: Wed, 16 Jun 1999 06:59:58 GMT
Connection: Keep-Alive
用这个方法.可以支持MEDIAPLAY可以支持的任何格式.包括MPEG1,2,4.
超级解霸的作者说成功解决了网络播放MPEG2的问题.开始的时候还以为他自己写了一个
FILTER.实际上后来跟踪程序发现,他还是用Mediaplay server搞定的.呵呵.
3:用Directx Show可以做流式的.DAT,MPG,AVI,MP3,WAV都可以广播播放.
不过现在大家一般做的都是基于PULL方式而不是PUSH方式的.所以有延迟.
不过很多人不知道,做了个32768*10的内存缓冲就可以实现一个简单的PULL到PUSH的转换,
就没有了DX在RENDER时,等待它干些乱七遭八事情时的痛苦,还可以随时切换到接受任意
字节的流数据输入
http://www.138soft.com/dvbtest.zip
这个版本只能播放MPG文件
其它格式的已经做好.未添加进去.最近很忙
遇到问题要用最简单的方法来考虑和实现.注意跟踪系统.
比如说多年前我发现冰河的服务端配置没有写注册表.原来它放在自己身上了.
远程配置的时候怎么写进去呢?我分析如下:
第一步:
先修改注册表:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/WinoldApp
键名:Disabled 键值:1
作用是禁止运行DOS程序(包括批处理文件)
你也可以用超级兔子之类的程序来修改。
-----------------------------------------------
第二步:配置服务端种种子,我们选择安装在<TEMP>目录下(原因:文件比<windows>、<system>下都要少),把<TEMP>目录下尽量清空,以便于我们下一步分析。
-----------------------------------------------
第三步:运行服务端,用客户端成功连接后修改配置系统会弹出一个窗口:本次操作受限制,云云。
------------------------------------------------
第四步:打开<TEMP>目录,发现除了服务端文件外,多了两个文件:NewFile.exe和sysclr.bat。击右键查看属性可以看出NewFile.exe跟服务端文件大小一样,从而知道它是服务端的备份。打开sysclr.bat,内容如下:
@echo off
:loop
del c:/windows/TEMP/NewFile.exe
if exist c:/windows/TEMP/NewFile.exe goto loop
del %0
--------------------------------------------------
得出结论了吧:)然后自己打开DELPHI,花87秒钟自己写一个来验证。
所以分析问题的方法比具体解决问题的方法重要的多.
对于这个问题,我只能回答到这里.很抱歉.