经过查阅一些资料以及对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. 一流科技CEO袁进辉:人工智能产业化困局和机遇
  2. linux常用命令1
  3. NetDevOps — NETCONF/YANG 协议
  4. OpenCASCADE:Modeling Data之3D几何
  5. 图像处理的傅里叶变换理解
  6. Quartz.Net分布式任务管理平台
  7. 无光驱不支持USB设备启动的笔记本,如何使用Ghost来安装系统
  8. 网络设备和OSI参考模型关系
  9. 通过mysql实现leader election
  10. 浙大java语言程序设计_浙江大学java语言程序设计实验答案全集.doc
  11. haproxy是如何工作的?
  12. python提高——类(私有化,封装、继承、多态)
  13. selenium启动火狐浏览器_selenium之nodejs入门使用
  14. 关于NSStringFromClass的一点见解
  15. 计算机一级考word几,计算机一级word考试主要内容
  16. html中语音聊天怎么实现,微信小程序语音聊天功能怎么实现?
  17. 【排序算法(三)】直接插入排序及其改进
  18. 高效解决阿里云远程桌面连接出现credssp加密oracle修正
  19. 2022年起重机械指挥考试题及模拟考试
  20. R basics: R语言修改默认显示语言

热门文章

  1. 【diannaoxitong】支付宝余额宝是什么?阿里巴巴余额宝功能介绍
  2. POWER8内核加密
  3. 学习笔记(1):EXCEL VBA编程进阶-2.6 工作表与工作簿结合应用(拆分工作表到工作簿)...
  4. Benewake(北醒) 快速实现TF03-CAN与电脑通信操作说明
  5. 深入浅出云服务一ECS
  6. Bugtags移动开发bug管理系统
  7. 17栋杭州东站旁的别墅,“麒麟计划”这个大招,远比你想象的厉害!
  8. 解决win7自带天气小工具不能使用
  9. 数学诺贝尔奖2008阿贝尔奖揭晓
  10. c语言程序设计精编教程答案,新编C语言程序设计教程