-1

这个学期我有一个关于数据库设计的期末项目。而我的老师给了我们很多任务,比如学生信息管理系统,航空公司预订系统等等。但是,我想设计这样一个播放器,它允许用户上传自己的作品并一起分享。当然它也提供下载服务。我今年大二。我熟悉c++编程,但对网络编程知之甚少。此外,我这学期学习了 T-SQL,还做了一些关于 Java 中的 MySQL 的工作(本学期也有课程)。我的想法在这里(我画了一张图片):http ://tmjfzy.blog.163.com/blog/static/66447025201242553045/ 我需要一些关于网络编程的建议。你能给我一些来帮助我实现我的想象力吗?谢谢 :-)。

4

1 回答 1

1

那么,您基本上是在重塑 YouTube,但拥有专门的客户?

实际上它很容易在没有任何客户端或 C++ 的情况下启动:您所需要的只是一个带有 MySQL、Apache 和 PHP 的服务器。如果您在 Windows 上,我推荐 WAMP 服务器。FlowPlayer 是一个很容易集成的 Flash 视频播放器,但今天使用 HTML5 视频功能应该是一个更好的主意。我相信您可以在大约 3 到 6 天内启动并运行参考 Web 系统。(我也是一名 C++ 程序员,学习足够多的 HTML、PHP 和 JavaScript 来做非常相似的事情没有问题)。

一旦您的系统启动并运行(可能对视频文件格式有限制),您就可以设计和实现 API。从服务器端看,它只不过是 PHP 文件,只是以您选择的格式(例如 JSon、XML)返回数据,而不是生成 HTML。完成服务器端 API 后,您可以开始在客户端上工作。注册、登录、从文件上传和下载到文件应该先进行。一旦客户端可以获取视频文件,您就可以实现播放器。接下来是流媒体播放器。如果您在播放视频文件时遇到问题,这是打破与 Web 版本的兼容性并更改视频文件格式的好时机。现在您知道支持哪些播放格式,您可以在上传前实现转换。(如果您希望服务器上的所有文件都以一种格式保存,则转换是有意义的。否则它' s 不是很有用:如果客户端可以转换视频,它应该能够播放它。这意味着所有其他客户端也应该了解格式并能够播放它。)

此时可以考虑重写服务器。或者其他学生可以在您忙于客户端的同时编写服务器。一直有工作的 Apache-PHP 参考使这种并行性变得轻而易举。

以上所有都需要使用 HTTP 作为底层协议。我认为 Qt 已经内置了支持。如果没有,您可以使用一些库(如 cURL)或在套接字上从头开始实现它。最终流媒体,如 RTP+RTSP,可以添加播放。

如果你真的很喜欢冒险,你可以开始设计自己的协议,但这是最后一步,在让自己的客户端和自己的服务器在手动实现的 HTTP 上完美运行之后。

于 2012-05-25T10:58:40.980 回答