本学期我有一个最终项目abount数据库设计。我的老师为我们提供了许多替代方案,例如学生信息管理系统,航空公司预订系统等。但是,我想设计一个这样的播放器,它允许用户上传自己的作品并一起分享。当然它还提供下载服务。我今年二年级。我熟悉c ++编程,但对网络编程知之甚少。此外,我在本学期学习了T-SQL,并在java中做了一些关于MySQL的工作(本学期也是如此)。我的想法在这里(我画了一张照片):http://tmjfzy.blog.163.com/blog/static/66447025201242553045/ 我需要一些关于网络编程的建议。你能给我一些帮助我实现想象力吗?谢谢: - )。
答案 0 :(得分:1)
那么,你基本上是在重新发明YouTube,但是有专门的客户?
实际上,没有任何客户端或C ++就可以轻松启动:您只需要一台带有MySQL,Apache和PHP的服务器。如果你在Windows上,我推荐使用WAMP服务器。 FlowPlayer是一个非常容易集成的flash视频播放器,但今天使用HTML5视频功能应该是一个更好的主意。我相信您可以在大约3到6天内启动并运行参考Web系统。 (我也是一名C ++程序员,我学习了足够多的HTML,PHP和JavaScript来做类似的事情没有问题。)
一旦系统启动并运行(可能限制视频文件格式),您就可以设计和实施API。从服务器端来看,它只不过是PHP文件,只是以您选择的格式返回数据(例如JSon,XML),而不是生成HTML。 使用服务器端API,您可以开始在客户端上工作。应首先注册,登录,从文件上传和下载到文件。一旦客户端获得视频文件,您就可以实现播放器。一个流播放器接下来。如果您在播放视频文件时遇到问题,这是打破与网络版兼容和更改视频文件格式的好时机。既然您知道支持哪种播放格式,您可以在上传之前实现转换。 (如果你想让服务器上的所有文件都采用一种格式,那么转换是有意义的。否则它并不真正有用:如果客户端可以转换视频,它应该能够播放它。这意味着所有其他客户端也应该理解格式并且能够回放它。)
此时您可以考虑重写服务器。或者其他学生可以在您忙于客户的同时编写服务器。 一直在使用Apache-PHP引用使这种并行性变得轻而易举。
以上所有要求使用HTTP作为底层协议。我认为Qt已经建立了支持。如果没有,你可以使用一些库(如cURL)或在套接字上从头开始实现它。 最终可以添加流媒体(如RTP + RTSP)进行播放。
如果您真的喜欢冒险,那么您可以开始设计自己的协议,但这是最后一步,让自己的客户端和自己的服务器在手动实现的HTTP上完美运行。