前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云视频上传问题总结

腾讯云视频上传问题总结

作者头像
Java架构师必看
发布2021-06-17 18:11:27
5.3K0
发布2021-06-17 18:11:27
举报
文章被收录于专栏:Java架构师必看

腾讯云视频上传问题总结

强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

使用腾讯云提供java sdk4.4 MultipartUploadVodFile使用此接口,分片上传,分片大小设置1024*1024*20会被腾讯服务器拒绝,无法上传, 目前设置为1024*1024*5 最小分片设置为1024*512


代码语言:javascript
复制
/** * 域名:vod.qcloud.com * 接口名: MultipartUploadVodFile * @Description:本地上传至腾讯云 * @param * @return * @author zhiwei.yan * @date 2017/8/16 0016 8:49 */
    public static String localToTcCloud (UploadParam uploadParam) {
        QcloudApiModuleCenter module = getModule("POST");
        try{
            System.out.println("starting...");
            String fileName = uploadParam.getFileLocalPath();
            //文件大小
            long fileSize = new File(fileName).length();
            //文件sha1值
            String fileSHA1 = SHA1.fileNameToSHA(fileName);
            //每次上传字节数,可自定义
            int fixDataSize = 1024*1024*5;
            //切片上传:最小片字节数(默认不变),如果:dataSize + offset > fileSize,把这个值变小即可
            int firstDataSize = 1024*512;
            //
            int tmpDataSize = firstDataSize;
            long remainderSize = fileSize;
            int tmpOffset = 0;
            int code, flag;
            String fileId = null;
            String result = null;
            if(remainderSize<=0){
                System.out.println("wrong file path...");
            }
            long startTime = System.currentTimeMillis();
            while (remainderSize>0) {
                TreeMap<String, Object> params = new TreeMap<String, Object>();

                params.put("fileSha", fileSHA1);
                params.put("fileType", uploadParam.getFileType());
                params.put("fileName", uploadParam.getFileName());
                params.put("fileSize", fileSize);
                params.put("dataSize", tmpDataSize);
                params.put("offset", tmpOffset);
                params.put("file", fileName);
                params.put("isTranscode", 0);
                params.put("isScreenshot", 0);
                params.put("isWatermark", 0);

                result = module.call("MultipartUploadVodFile", params);
                System.out.println(result);
                JSONObject json_result = new JSONObject(result);
                code = json_result.getInt("code");
                if (code == -3002) {               //服务器异常返回,需要重试上传(offset=0, dataSize=10K,满足大多数视频的上传)
                    tmpDataSize = firstDataSize;
                    tmpOffset = 0;
                    continue;
                } else if (code != 0) {
                    return null;
                }
                flag = json_result.getInt("flag");
                if (flag == 1) {
                    fileId = json_result.getString("fileId");
                    break;
                } else {
                    tmpOffset = Integer.parseInt(json_result.getString("offset"));
                }
                remainderSize = fileSize - tmpOffset;
                if (fixDataSize < remainderSize) {
                    tmpDataSize = fixDataSize;
                } else {
                    tmpDataSize = (int) remainderSize;
                }
                long costTime = System.currentTimeMillis() - startTime;
                LOG.info("-------this video cost time : " + costTime + "ms," + costTime / 1000 + "s");
            }
            long totalTime = System.currentTimeMillis() - startTime;
            LOG.info("-------this video cost time : " + totalTime + "ms," + totalTime / 1000 + "s");
            System.out.println("end...");
            return result;
        }
        catch (Exception e) {
            e.printStackTrace();
            System.out.println("error..."+e.toString());
        }
        return null;
    }

有一份测试完整的代码,抽时间整理到github上 完整代码地址:https://github.com/yanhua711/morefeels 仅供参考,有问题欢迎一起研究

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档