【发布时间】:2015-04-19 01:42:38
【问题描述】:
我正在为 Android 和 iPhone 设备编写一个应用程序。该应用程序将视频的 base64 编码字符串上传到 PHP 服务器,并将编码字符串存储在 MySQL 数据库中。显然,我希望视频能够在应用程序的 Android 和 iPhone 版本上播放,只需请求 Web URL 以及要检索的视频 ID。到目前为止,我已经验证了视频的 base64 编码字符串已成功发送到 PHP 服务器并存储在数据库中。
我只是不确定通过 PHP 提供视频解码版本的正确方法,以便可以通过 Android 和 iPhone 设备上的应用程序查看它而不会出现兼容性问题。我的假设是,该方法类似于我提供存储在数据库中的 base64 编码图像的方式,但存在一些差异,例如 PHP 代码中指定的标头类型以及之后提供视频的特定 PHP 命令它已从数据库中选择并解码。
谁能告诉我我是否在正确的轨道上?是否有任何人可以提供的经验教训?
我可以在 iPhone 上成功播放以下链接上的视频,但我还没有在 Android 上尝试过:
http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v
我已经阅读了很多信息,但其中一些信息似乎已经过时了,我担心这些信息的相关性仍然是合法的。这是我在 2008 年发现的一篇文章 http://mobiforge.com/design-development/content-delivery-mobile-devices
非常感谢任何正确方向的帮助或点。
【问题讨论】:
-
在我看来,将视频存储在数据库中会有点低效。使用文件系统并在数据库中存储对位置的引用可能会更好。 MySQL 不是文件系统,不应作为一个文件系统使用。
-
感谢您的回复,德文郡。过去我已经能够成功地使用 MySQL 来存储图像。我喜欢用它来存储这种类型的数据,因为它把所有东西都放在中心而不是两个地方(数据库和文件系统)。我发现通过这种方式备份数据和恢复也更容易一些。
-
@play2win - 我认为德文郡的回应确实是最好的方式。即使它确实适用于图像,视频也要大几个数量级。将视频存储在文件系统中并将元数据存储在数据库中是此类应用程序的常用模式。
-
我认为你们俩都是对的。我切换到将视频存储在文件系统上。对于较大的文件,它肯定会产生性能问题。谢谢两位的回复。
标签: php android ios iphone video