gpt4 book ai didi

php - 如何将视频文件作为 json 数据发送。 (不是文件名或路径而是内容)到 Android

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:30 26 4
gpt4 key购买 nike

我正在使用用 php 开发的 Restful 网络服务。 Web 服务将发送数据图像。对于图像,它将发送图像名称,我们将准备图像的 url 以下载它。但是现在有下载视频文件的需求。我们可以按照下载图片一样的方式(ex: image name = "myimage1.jpeg"url=www.xyz.com/images/myimage1.jpeg", 我们会直接读取这个并在本地创建文件),但是想知道php 有什么方法可以从 php 发送二进制字符串等数据,并在 Android 端将其转换为电影文件。

(我们可以从 php webservice 发送图像作为 json 数据吗?请给出一些代码)

注意:如何从 restful webservice 将图像/视频文件作为 json 数据发送

最佳答案

当然,您可以发送 JSON 格式的视频数据,但由于 JSON 本质上是一种具有多个保留字符的字符串格式,因此您必须对视频数据进行编码。您可以使用任何您喜欢的方案 - 但 BASE64 是一个被广泛接受的标准,所以我会使用它。

只需创建一个 JSON-String 对象并用 BASE-64 编码的视频数据填充它。

但是要小心缓冲区溢出!!!因为许多 JSON 实现通常不会期望 JSON 中有巨大的数据元素,所以建议将数据流分成几个较小的 block 并一次传送一个......当然你也可以只流式传输 JSON 数据本身,但据我所知,大多数 JSON 堆栈都是串行操作的,因为您只能解析完整的有效 JSON 字符串。

所以最好的性能明智的事情(如果你真的想将视频数据打包成 JSON,这显然不是 JSON 的目的,几乎所有设置都应该有更好的解决方案)应该是 BASE64 编码流中的视频,因此您可以将它的 block 读取到内存中,将它们打包成 JSON 字符串并将它们发送到服务器,服务器可以使用这些 block 将视频流式传输到文件或播放它,或在内存中重建它。 ..

之前提到过@BSON - 建议使用它,因为 JSON 数据将被压缩。但这并没有改变您必须以不利的格式对视频数据进行编码的事实,这会使传输的数据膨胀,并且会在两端消耗其公平份额的性能!


但我可以想象使用 JSON 进行视频传输的场景可能是可取的。如果您有大量小视频(用户可以选择和整理的小歌曲或视频 fragment ),那么一个可靠且易于处理的数据结构来管理这些视频可能非常值得额外的传输成本......

关于php - 如何将视频文件作为 json 数据发送。 (不是文件名或路径而是内容)到 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21168936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com