经过查阅一些资料以及对TVAnts软件的分析,基本得出TVAnts的实现方法。当然本文中的说明大多数是根据极少数已知内容进行的推断。仅做交流之用。

结点的组成

TVAnts包括以下主要节点:

TVAnts服务器      TVAnts服务器是系统的核心部件,在此服务器上存放所有client的连接数据和内容的数据。在client之间建立连接时起中介作用(类似于WebService的UDDI)

媒体发布服务器    流媒体内容的初始发布者。通过流行的流媒体服务对外发布内容。如MS Media Service和Real 的媒体服务器等,采用的协议是MMS(TVAnts应该是采用MMS)或RSTP等

客户端    在客户机上安装的TVAnts客户端软件,负责从TVants读取节目列表和与其他客户端或/和媒体发布服务器读取数据流、缓冲和向播放器发送数据以及向其他客户端程序上传数据流

媒体播放器    为了支持公开的格式和降低软件开发的风险,大多数p2p流媒体软件都采用广泛流行的媒体播放器/或他们的核心,其中微软的Windows Media Player就是被用到最多的播放器。包括QQLive、TVAnts等。

流程

客户端启动-〉到TVAnts服务器读取节目列表-〉用户选择要观看的节目-〉到TVAnts服务器注册IP及当前播放内容-〉从TVAnts获取所有正在播放此内容的服务器端(可以是媒体发布服务器或其他TVAnts客户程序)-〉调用p2p引擎和/或mms流引擎读取内容到缓冲-〉媒体发布模块从缓冲读取数据,通过模拟本地的mms协议/或http协议将数据流发布出去-〉媒体播放器从本地的mms发布点读取流数据

客户端软件的主要模块构成和功能

本地缓冲

P2P 引擎

发布模块

媒体播放器

客户端软件示意图

P2P Stream引擎负责与其他客户机交换数据

MMS引擎   负责从媒体发布服务器直接读取MMS流

MMS发布模块   负责将缓冲区模块中的数据转换为MMS协议流发布给媒体播放器。TVAnts会在本地模拟出:mmst://localhost:16900/1这样的地址,直接通过媒体播放器/或ie地址栏即可打开观看此节目(前题是上面提到的模块已启动)。

播放器 标准的Windows Media Player。

辅助模块

其他相关内容

P2P 引擎 可采用开源软件

发布模块和MMS直接读取模块 可参考Windows Media SDK

转载于:https://www.cnblogs.com/Ankh/archive/2005/11/15/276757.html

TVAnts技术实现猜想相关推荐

  1. 苹果iPhone5八大技术的猜想

    摘要: 无论是你是否喜欢iPhone,但都不得不承认它所拥有的话题性和关注度是其他智能手机所无法相提并论的.尤其随着iPhone4在全球的疯狂热卖以及就此产生的超高影响力和人气,也让即将于今年6月份推 ...

  2. 北京实时公交手机APP技术实现猜想

    昨天我在路边等公交时,下了一款北京公交的APP软件,感觉比较好用,起初我不相信这款app软件能够做到清楚的展现路上有几辆车以及其车辆目前处在什么位置,但是当我用了之后,就深深的被这款软件的简单而又实用 ...

  3. 轮到苹果追赶国产厂商了?苹果新专利曝光iPhone将使用屏幕指纹解锁

    一直以来,苹果以走在科技前沿,引领手机厂商设计和技术的顶端,最开始将指纹解锁用在手机上的iPhone后来成为了所有手机几乎必备的一项功能,随后一项面容ID又带起了人脸识别解锁的新潮流,当然在人脸识别上 ...

  4. Kinect应用开发实战:用最自然的方式与机器对话

    <Kinect应用开发实战:用最自然的方式与机器对话> 基本信息 作者: 余涛 出版社:机械工业出版社 ISBN:9787111400929 上架时间:2012-11-6 出版日期:201 ...

  5. SwiftUI AVKit 之合并和叠加音频mp3 并输出

    实战需求 SwiftUI AVKit 之合并和叠加音频mp3 并输出 本文价值与收获 看完本文后,您将能够作出下面的界面 截屏2020-08-28 上午12.58.10.png 看完本文您将掌握的技能 ...

  6. 我想请你,书写新世界!

    点击左上方蓝字关注我们 眼前的世界,是想象的起点. 往前,是可探索的无尽历史:往后,是可创造的无穷可能--科幻,在这里开始. 科技因科幻而启蒙.我们始终坚信,那些关于科幻的奇思妙想终将在时空变换中坍缩 ...

  7. Android连接多个ble设备

    蓝牙4.0ble的最多可以同时连接7个设备,这是有SIG标准决定的,修改协议栈可以增加到8个,如果想要连接多个的话,可以升级蓝牙到4.2,具备mesh功能;@_@我不太清楚Android最多能连几个设 ...

  8. ChatGPT原理解读

    目录 GPT痛点 基于人类反馈的强化学习机制(ChatGPT) step1:Fine-tune SFT模型 step2:训练Reward模型 step3:强化学习训练PPO模型 一些技术问题猜想 Ch ...

  9. 物联网(莹石云)WIFI一键配置原理分析(zz)

    最近打算做一款自己的无线传输模块用来实现光伏电站的数据接入,希望可以尽量简化接入流程,其中wifi密码的配置就是一个比较麻烦的事情,想到最近使用萤石摄像头时,wifi密码配置似乎很简单,他们是怎么做到 ...

最新文章

  1. 机器学习第五章 神经网络
  2. java泛型怎么用反射生成_Java 之 使用反射生成并操作对象
  3. 群晖218J安装mysql_ds216(群晖218j可以换内存吗)
  4. linux 两块硬盘 分区,linux 两块硬盘分区,这个是什么/dev/mapper/VolGroup00-LogVol00
  5. 生活中java继承例子_简单继承例子:java
  6. Global.asax 文件
  7. django-xadmin出现Models aren't loaded yet错误
  8. Android的onCreateOptionsMenu()创建菜单Menu详解
  9. HBuilder开发APP(二)——网络请求
  10. WPF 入门教程RelativeSources
  11. 前端布局面典型案例 面试题
  12. php 验证码不正确,php验证码提示错误
  13. php中验证码显示不出,PHP验证码显示不出来
  14. 电池电压值转换为百分比
  15. 介绍java糊涂Hutool工具
  16. 每日一题#10-22 Ransomware
  17. 微信公众号js-sdk定位 获取经纬度和详细位置
  18. C++的html模板库——google-ctemplete
  19. 如何安装第三方站点下载的Matlab工具箱或硬件支持包,亲测有效。
  20. 思考与总结:对佣金系统的思考

热门文章

  1. 阿里国际站详情页上装修轮播功能代码怎么做动画gif图片步骤教程方法技巧
  2. underscore可能存在的问题
  3. 高建忠对哮病的认识和治疗
  4. 【大学生竞赛以及项目】群体智能-——人工智能的必然趋势
  5. 音特电子EMC测试与整改服务实验室
  6. Android开发之在APP中打开ppt
  7. cn域名注册十元_.cn域名
  8. 计算机网络---中小型企业网络建设
  9. 对excel文件批量去重
  10. This version of ChromeDriver only supports Chrome version 88 Current browser version is 91.0.4472.12