gpt4 book ai didi

Android:我想录制可能的超低质量视频源并以离散数据包发送。可能吗?你会如何处理它?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:36 25 4
gpt4 key购买 nike

基本上,我希望能够在不到 3 克的时间内发送几秒延迟的“实时”提要。如果它的质量很低也没关系。如有必要,我什至可以使用 4 位灰度(尽管最好使用 128-256 色)。如有必要,我愿意以 >1fps 的速度降低到 160x120。在这种最糟糕的设置下完全未压缩意味着低带宽连接过饱和。

我是否应该考虑简单地将快照作为图像?是否有人熟悉 Bitmapfactory 在处理最低质量 JPEG 方面的功能?

我应该查看 PNG 还是 GIF?我的理解是固体场最适合这些。我不确定除了大部分天空之外,我是否可以在很大程度上依赖于固体场,因为我希望能够控制发回“视频”的无人机。具有几秒延迟的伪视频很好,甚至更可取,因为我希望经常失去和重新获得服务器连接。

我在“3g”上获得了 128k 的信号,信号不错,但我不能完全依赖它。我可以做任何必要的解码服务器端 - 这应该不是问题。

所以我问你,Stack,你想通过互联网从你的智能手机上看,不能依赖良好的连接。你如何处理它?<​​/p>

最佳答案

我认为最简单的方法是抓取预览图像并发送它们。

这是我找到的一段很好的代码,用于将预览图像抓取为 JPEG。它既好又快,应该可以满足您的需求。我也用它来上传,所以我追求的是非常小的文件大小。

当输出 1920x1080 图像时,文件大小在 150-300KB 之间。

    camera.setOneShotPreviewCallback(new PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
try {
Camera.Parameters parameters = camera.getParameters();
Size size = parameters.getPreviewSize();
YuvImage image = new YuvImage(data, parameters.getPreviewFormat(),
size.width, size.height, null);
File file = new File(getCacheDir().getPath() + "/out.jpg");
FileOutputStream filecon = new FileOutputStream(file);
image.compressToJpeg(
new Rect(0, 0, image.getWidth(), image.getHeight()), 90,
filecon);
} catch (FileNotFoundException e) {
}
}
});

这里是我如何将预览大小设置为最大设置,但您可以将其设置为较小的设置以加快速度。

Camera.Parameters parameters = camera.getParameters();
List<Camera.Size> previewSizes = parameters.getSupportedPreviewSizes();
imageWidth = previewSizes.get(0).width;
imageHeight = previewSizes.get(0).height;
parameters.setPreviewSize(imageWidth, imageHeight);
camera.setParameters(parameters);

关于Android:我想录制可能的超低质量视频源并以离散数据包发送。可能吗?你会如何处理它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9296373/

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