nodejs对腾讯云点播上传视频转码后自动删除原视频
在Node.js中,你可以使用腾讯云的SDK来调用点播上传视频的接口,并在转码完成后删除原始视频。以下是一个简化的代码示例:
首先,确保你已经安装了腾讯云的Node.js SDK:
npm install qcloud-sdk-v5
然后,使用以下代码上传视频并在转码完成后删除原始文件:
const tencentcloud = require("qcloud-sdk-v5");
const CmqClient = tencentcloud.cmq.v20190304.Client;
// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意必要的参数设置
const cred = new tencentcloud.common.Credential("你的SecretId", "你的SecretKey");
const Region = "ap-shanghai"; // 点播文件处理区域
// 实例化要请求产品的client
const client = new tencentcloud.vod.v20180717.Client(cred, "ap-shanghai");
async function deleteMedia(MediaId) {
const params = {
FileId: MediaId
};
try {
return await client.DeleteMedia(params);
} catch (e) {
console.error(e);
}
}
async function transcodeMedia(MediaId) {
const params = {
FileId: MediaId,
TranscodeSession: JSON.stringify({
SessionId: new Date().getTime()
})
};
try {
const result = await client.CreateTranscodeTask(params);
const taskId = result.Data.TaskId;
// 这里可以添加代码监听转码进度,一旦转码完成,就调用deleteMedia函数删除原视频
return taskId;
} catch (e) {
console.error(e);
}
}
// 调用transcodeMedia函数,传入视频文件的MediaId
transcodeMedia('你的视频文件MediaId').then(taskId => {
console.log('转码任务创建成功,任务ID:', taskId);
}).catch(error => {
console.error('转码任务创建失败:', error);
});
在上述代码中,transcodeMedia
函数负责创建转码任务,而你需要自行实现或监听转码进度来决定何时删除原始视频。当转码完成后,调用 deleteMedia
函数并传入视频文件的 MediaId
来删除视频。
请注意,你需要替换代码中的 "你的SecretId"
, "你的SecretKey"
, 和 '你的视频文件MediaId'
为你自己腾讯云账户的实际信息和视频文件ID。
评论已关闭