学习
实践
活动
专区
工具
TVP
写文章
专栏首页全栈程序员必看腾讯云 上传视频_云点播系统源码

腾讯云 上传视频_云点播系统源码

2860元腾讯云代金券免费领取,付款直接抵现金,立即领取>>>

腾讯云海外服务器1折限时抢购,2核4G云主机661元/1年,立即抢购>>>

腾讯云服务器1折限时抢购,2核4G云主机698元/3年,立即抢购>>>

web利用腾讯云点播上传视频到云服务器

第一步导入

<script src="//imgcache.qq.com/open/qcloud/js/vod/sdk/ugcUploader.js"></script>

Jetbrains全家桶1年46,售后保障稳定

第二步在服务端设置秘钥,我用的是javaee 编写一个Signature类

所需jar包http://download.csdn.net/download/sinat_36596988/10195891

import javax.crypto.Mac;

import javax.crypto.spec.SecretKeySpec;
import Decoder.BASE64Encoder;


public class Signature {
private String secretId;
private String secretKey;
private long currentTime;
private int random;
private int signValidDuration;


private static final String HMAC_ALGORITHM = "HmacSHA1";
private static final String CONTENT_CHARSET = "UTF-8";


public static byte[] byteMerger(byte[] byte1, byte[] byte2) {
byte[] byte3 = new byte[byte1.length + byte2.length];
System.arraycopy(byte1, 0, byte3, 0, byte1.length);
System.arraycopy(byte2, 0, byte3, byte1.length, byte2.length);
return byte3;
}
public String getUploadSignature() throws Exception {
String strSign = "";
String contextStr = "";


long endTime = (currentTime + signValidDuration);
contextStr += "secretId=" + java.net.URLEncoder.encode(secretId, "utf8");
contextStr += "¤tTimeStamp=" + currentTime;
contextStr += "&expireTime=" + endTime;
contextStr += "&random=" + random;
try {
Mac mac = Mac.getInstance(HMAC_ALGORITHM);
SecretKeySpec secretKey = new SecretKeySpec(this.secretKey.getBytes(CONTENT_CHARSET), mac.getAlgorithm());
mac.init(secretKey);
byte[] hash = mac.doFinal(contextStr.getBytes(CONTENT_CHARSET));
byte[] sigBuf = byteMerger(hash, contextStr.getBytes("utf8"));
strSign = new String(new BASE64Encoder().encode(sigBuf).getBytes());
strSign = strSign.replace(" ", "").replace("\n", "").replace("\r", "");
} catch (Exception e) {
throw e;
}
return strSign;
}


public void setSecretId(String secretId) {
this.secretId = secretId;
}


public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}


public void setCurrentTime(long currentTime) {
this.currentTime = currentTime;
}


public void setRandom(int random) {
this.random = random;
}


public void setSignValidDuration(int signValidDuration) {
this.signValidDuration = signValidDuration;
}
}
//通过shangchuan.do方法得到秘钥
//APPID APPKEY 进入腾讯云控制台获取https://console.cloud.tencent.com/cam/capi
@RequestMapping("shangchuan.do")
	@ResponseBody
	public String shangchuan(Model model){
		Signature sign = new Signature();
		sign.setSecretId("你的APPID");
		sign.setSecretKey("你的APPKEY");
		sign.setCurrentTime(System.currentTimeMillis() / 1000);
		sign.setRandom(new Random().nextInt(java.lang.Integer.MAX_VALUE));
		sign.setSignValidDuration(3600 * 24 * 2);


		try {
			String signature = sign.getUploadSignature();
			//System.out.println("signature : " + signature);
			return signature;
		} catch (Exception e) {			
			e.printStackTrace();
			return "获取签名失败";
		}
	}
第三步通过ajax方法得到秘钥并且上传
<html> <head> <title>My JSP 'shang.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script src="//imgcache.qq.com/open/qcloud/js/vod/sdk/ugcUploader.js"></script> <script src="js/jquery.min.js"></script> </head> <body> <form id="form1"> <input id="uploadVideoNow-file" type="file" /> </form> </body> </html> <script> var getSignature = function(callback) { $.ajax({ url : "shangchuan.do", //服务器获取客户端上传签名的URL type : "POST", success : function(result) { //result.returnData.signature为获取到的签名 callback(result); //callback(result.returnData.signature); } }); }; $('#uploadVideoNow-file').on('change', function(e) { var videoFile = this.files[0]; var resultMsg = qcVideo.ugcUploader.start({ videoFile : videoFile, getSignature : getSignature, allowAudio : 1, isTranscode: 1, success : function(result) { alert("上传成功"); }, error : function(result) { alert("上传失败"); }, progress : function(result) { alert("上传进度:" + result.curr); }, finish : function(result) { alert("上传完成"); } }); }); </script>

具体事件/document/product/266/9239

然后登录腾讯云控制台的点播功能查看上传的视频 (需要转码成功后(会自动转码,需要一定时间))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/222750.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 腾讯云服务视频,腾讯云点播的视频上传和转码功能

    有些用户烦恼腾讯云储存上传大文件的各种不方便,比如不能转码(要转码得先把mp4文件从云存储上下载下来,然后通过服务器执行ffmpeg操作,最后再把切割的ts文件...

    tengxunyun8点com活动整理
  • 腾讯云服务视频,腾讯云点播的视频上传和转码功能

    有些用户烦恼腾讯云储存上传大文件的各种不方便,比如不能转码(要转码得先把mp4文件从云存储上下载下来,然后通过服务器执行ffmpeg操作,最后再把切割的ts文件...

    用户6459747
  • 腾讯云服务视频,腾讯云点播的视频上传和转码功能

    有些用户烦恼腾讯云储存上传大文件的各种不方便,比如不能转码(要转码得先把mp4文件从云存储上下载下来,然后通过服务器执行ffmpeg操作,最后再把切割的ts文件...

    用户6592874
  • 云点播-腾讯云点播服务

    腾讯云点播(Video on Demand,VOD)是集音视频上传、直播录制、媒体资源管理、自动化转码处理、视频 AI、分发加速、播放器 SDK 于一体的一站式...

    用户3570397
  • 云点播-腾讯云点播服务

    腾讯云点播(Video on Demand,VOD)是集音视频上传、直播录制、媒体资源管理、自动化转码处理、视频 AI、分发加速、播放器 SDK 于一体的一站式...

    用户6465376
  • 云点播-腾讯云点播服务

    腾讯云点播(Video on Demand,VOD)是集音视频上传、直播录制、媒体资源管理、自动化转码处理、视频 AI、分发加速、播放器 SDK 于一体的一站式...

    用户6592820
  • 腾讯云视频云(点播&直播)产品月刊(2019.12)

    适用对象:适用于需要实现在不同网络环境下,自动调节分辨率从而保证观众流畅观看的客户。

    腾讯云音视频
  • 腾讯云视频云(点播&直播)产品月刊(2020.2)

    2月,腾讯云视频云都有哪些重大发布?又带给大家哪些惊喜呢? 文章推荐 复工助力 | 腾讯视频云大促钜惠来袭,资源包低至0.09元/GB武汉90万中小学...

    腾讯云音视频
  • 腾讯云视频云(点播&直播)产品月刊(2020.2)

    3、推出9.9元体验包,包含流量,存储,普通转码,极速高清转码,视频审核时长五种资源类型,低成本快速体验点播所有功能。

    腾讯云音视频
  • 腾讯云视频点播套餐包优惠--腾讯云最新优惠

    腾讯云点播存储资源包售卖方式为包年,即购买存储资源包后会获得相应的存储容量一年的使用权限,系统会每天对您占用的存储空间进行统计,在资源包容量之内的不再进行扣费,...

    用户5899228
  • 【腾讯课堂】视频点播上云实践

    本文首发于 IMWeb 社区网站 imweb.io。点击阅读原文查看 IMWeb 社区更多精彩文章。 总体介绍 腾讯课堂是一款通过线上的直播与点播向用户提供在...

    用户1097444
  • 【腾讯课堂】视频点播上云实践

    腾讯课堂是一款通过线上的直播与点播向用户提供在线教育服务的产品,从 2014 年成立至今,已累计存储了 250 万个视频,共 600 TB,累计时长 150 万...

    IMWeb前端团队
  • 通过腾讯云cos做视频点播服务

    我有很多视频,文件非常大,上传到百度云的话,下载太慢了,在线观看又非常慢,于是使用腾讯云的cos可以做点播服务,在线观看非常快,相当于在本地观看一样,一点都不卡...

    小小呆
  • 云点播视频上传加速方案,提高上传质量,速度提升60%!

    随着互联网的发展,来自用户的音视频媒体上传体量日益增加,媒体上传的速度正在成为影响用户体验的关键因素。由于用户所在地的网络基础设施、网络环境等因素的差异,上传可...

    腾讯云音视频
  • 云点播服务器软件是什么?云点播怎么上传水印?

    云点播是一种非常主流的视频解决方案,可以帮助用户解决很多关于视频的问题。视频因为其格式特殊,因此占用的容量非常大,会对服务器造成非常大的压力。云点播的出现可以帮...

    用户8715145
  • 腾讯云视频上传问题总结

    腾讯云视频上传问题总结

    Java架构师必看

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com