要掌握的有关实现网络播放器的技术
Techniques to master about implementing a network player
这学期我有一个期末项目数据库设计。我的老师给了我们很多替代方案的任务,例如学生信息管理系统,机票预订系统等。但是,我想设计这样一个播放器,它允许用户上传自己的作品并一起分享。当然,它也提供下载服务。我今年是大二学生。我熟悉 C++ 编程,但对网络编程了解不多。此外,我本学期学习了T-SQL,并在java中做了一些MySQL的工作(本学期的课程也是如此)。我的想法在这里(我画了一张图片):http://tmjfzy.blog.163.com/blog/static/66447025201242553045/我需要一些关于网络编程的建议。你能给我一些帮助我实现我的想象力吗?谢谢 :-)。
所以,你基本上是在重塑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上完美工作之后。
- SFML纹理像播放器
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 旋转播放器模型以指向一个点
- 播放器未在程序中的"X"和"O"之间切换
- DwmGetWindowAttribute 在全屏模式下无法获得媒体播放器的正确矩形大小
- 可以访问一个类中的播放器结构,但不能访问另一个类中的播放器结构
- C++ 播放器墙与 SFML 的冲突
- 如何在不显示媒体播放器的情况下在libVLC中拍摄快照
- OpenGL沿方向矢量移动播放器
- 如何将 cdparanoia 读取的 CD 音频数据移交给 ALSA 播放器?
- 我应该如何在文本RPG中调用播放器咒语
- 类静脉::静脉未找到网络管理器
- 类模板"没有用于调用播放器的匹配函数::P layer()"
- 使用 Struct 进行 mp3 播放器模拟C++(不需要播放 mp3 的唯一显示列表)
- 如何修复结构播放器对象中的矢量位置,以便它在 Main 中与 me.position 一起使用?
- 将超能力高级音频播放器同步到绝对位置
- QT 5.8 WebEngine HTML 5视频播放器支持
- 克里昂未初始化记录类型:播放器
- 要掌握的有关实现网络播放器的技术