【问题标题】:best way to upload a large image上传大图的最佳方式
【发布时间】:2014-09-07 09:50:02
【问题描述】:

我每秒从我的 720x576 网络摄像头捕获一张图像。

我最终通过我的服务器将其显示在画布控件中。

我将此 jpeg 转换为字节 (31553) 并使用 WCF 上传。

我一直在争论是否要将这张图片分成 4 张较小的图片,然后一张一张地上传。当每张图片上传时,它都会被绘制在一个隐藏的画布上。然后,一旦上传了所有 4 张图片,我将使用“缓存”画布更新可见画布。

通过拆分为 4 张图片来上传图片会更好/更快吗?还是完全没有区别?

我现在将为这段代码编写和执行测试,但我认为我会接受教育,了解已完成/接受的智慧是什么。

谢谢

【问题讨论】:

    标签: image-processing html5-canvas


    【解决方案1】:

    如果从压缩的角度来看,四张图片的总大小应该不止一张。您可以想象将冗余信息压缩 4 次。如果你继续分割和压缩,你最终可能会发送每个像素。

    另一种看待这个问题的方式是从网络的角度来看。很多时候,互联网带宽是限制因素,因此最好发送一个文件(因为它会更小)。在另一种情况下,网络可能会出现拥塞,因此多个数据流(如果您并行上传它们并且服务器是多线程的)更有可能获得更大的带宽。

    【讨论】:

    • 您好,感谢您提出的非常有趣的观点。一切都很好。我知道如果图像具有更高的对比度,则字节数组会变得更大。我曾考虑过只上传一个仅包含已更改像素的 jpeg 并以这种方式应用于画布。此外,带宽对于这 1 个客户端来说是个问题,这就是我考虑发送较小数据包的原因。我可能不得不说需要为上传提供特定的带宽。目前他使用 0.5mb 但即使是 1mb 也足以上传。虽然我不确定这对于有宽带的人来说有多普遍。
    • 我知道,如果图像具有更高的对比度,则字节数组会变得更大。我曾考虑过只上传一个仅包含已更改像素的 jpeg 并以这种方式应用于画布。此外,带宽对于这 1 个客户端来说是个问题,这就是我考虑发送较小数据包的原因。目前他使用 0.5mb 但即使是 1mb 也足以上传。虽然我不确定这对于有宽带的人来说有多普遍?我会在几个小时内不勾选它,以防得到更好的答案(以防万一!)
    • 大声笑 - 不知道我在那里发帖时发生了什么。它似乎已经变异和分裂了!
    • 如果您要发送一系列图像,看看 MPEG 编解码器会很有趣,它们正是为此而设计的,它们具有块匹配算法并且仅发送与块对应的运动矢量在完全传输新帧之前一定数量的帧,但是如果一秒钟内运动太多,我不确定它会如何工作
    • 嗨,再次感谢您的持续时间和建议。如果我通过我的服务器按顺序显示 jpeg,我将/应该如何为此调整编解码器? (总新手:))..
    猜你喜欢
    • 2018-12-22
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2013-08-13
    • 1970-01-01
    • 2016-05-01
    • 2012-06-21
    相关资源
    最近更新 更多