我正在开发一个Android应用程序,其中包括将照片和视频上传/下载到Firebase存储。我对firebase的功能感到非常满意,但是即使我在高速互联网上,上传/下载图像和视频也只花很少的时间。
图片和视频的上传和下载工作正常,但是我不能指望Google支持的平台会出现这种情况。我在上传之前压缩图像,尽管花费的时间更多。说,例如。我在WhatsApp个人资料照片上上传了7Mb大小的图片,最多需要5-6秒即可完成。但是在我的android应用中,同一张图片上传将花费60秒钟以上。
伙计们,如果您有任何更好的解决方案或最终实现的任何方法,请分享。
关于, 斯里尼
答案 0 :(得分:1)
所有与媒体压缩有关。 您还可以通过压缩媒体来上传与WhatsApp相同的图像,视频和其他媒体文件。 压缩后,检查Firebase的速度以进行上传和下载。您也会感觉到它的速度。
这是压缩工具
等等。 我正在使用这两个库来压缩视频和图像文件。
以这种方式使用Firebase上传。
@(Html.Kendo().Scheduler<BusSchedulingSystem.Web.ViewModels.SchedulerViewModel>()
.Name("scheduler")
.Date(new DateTime(2018, 8, 13))
//.StartTime(new DateTime(2013, 6, 13, 7, 00, 00))
.Height(600)
.Views(views =>
{
views.TimelineMonthView();
})
.Timezone("Etc/UTC")
.Group(group => group.Resources("Company").Orientation(SchedulerGroupOrientation.Vertical))
.Events(events => events.DataBound("onLoad") )
.Resources(resource =>
{
resource.Add(m => m.Company.Id)
.Title("Company")
.Name("Company")
.DataSource(ds => ds
.Custom()
.Transport(transport => transport.Read(read => read.Action("Read", "Scheduler")))
.Schema(schema => schema
.Data("Data")
.Total("Total")
.Errors("Errors")
.Model(model =>
{
model.Field("Name", typeof(string));
})
)
)
.DataTextField("Name");
})
答案 1 :(得分:0)
尝试
// Get the data from an ImageView as bytes
Bitmap bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] data = baos.toByteArray();
UploadTask uploadTask = mountainsRef.putBytes(data);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, etc.
// ...
}
});
答案 2 :(得分:0)
您是否尝试过检出WebP和WebM中的照片和视频?
这是Google的一些团队开发的一种格式,旨在将文件大小减小到最小,而又不大幅度改变文件的质量。与其他格式的图像和视频相比,结果非常好。 WebP还支持编码器和解码器。
在此处查看WebP的工具:
只需下载该工具并将其放在您的工作文件夹中,调用命令提示符并运行
cwebp -q int fileName.jpg -o fileName.webp
并查看结果。
查看用于WebM的工具: