欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > C#获取视频第一帧_腾讯云媒体处理获取视频第一帧

C#获取视频第一帧_腾讯云媒体处理获取视频第一帧

2025/5/6 0:01:15 来源:https://blog.csdn.net/u011127019/article/details/143817021  浏览:    关键词:C#获取视频第一帧_腾讯云媒体处理获取视频第一帧

一、 使用步骤:
第一步、腾讯云开启万象
第二步、安装Tencent.QCloud.Cos.Sdk 包
第三步、修改 腾讯云配置 + 图片存储目录配置
第四步、执行获取图片并保存

二、封装代码

using System.Text;
using System.Threading.Tasks;using COSXML.Model.CI;
using COSXML.Auth;
using System;
using COSXML;using UploadHandle;
using QLCommon;/// <summary>
/// 腾讯云视频获取第一帧
/// 使用步骤:
/// 第一步、腾讯云开启万象
/// 第二步、安装Tencent.QCloud.Cos.Sdk 包
/// 第三步、修改 腾讯云配置 + 图片存储目录配置
/// 第四步、执行获取图片并保存
/// </summary>
public class SnapshotHelper
{public string Region { get; set; } = "ap-beijing";public string SecretID { get; set; } = "自己的";public string SecretKey { get; set; } = "自己的";public string Bucket { get; set; } = "beijing-1330411582";public string BasePath { get; set; } = "";//网站根目录wwww+/file/video/private CosXml cosXml;/// <summary>/// 初始化/// </summary>public SnapshotHelper(){CosXmlConfig config = new CosXmlConfig.Builder().SetRegion(this.Region).Build();long durationSecond = 60;          //每次请求签名有效时长,单位为秒QCloudCredentialProvider qCloudCredentialProvider =new DefaultQCloudCredentialProvider(this.SecretID,this.SecretKey, durationSecond);this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);}/// 视频截帧public string GetSnapshot(string fileKey){string bucket = this.Bucket;string key = fileKey; // 媒体文件的对象键,需要替换成桶内存在的媒体文件的对象键float time = 0.01F; // 截取的具体时间,用浮点数表示string destPath = BasePath + fileKey.ToLower().Replace(".mp4", ".jpg"); // 截图文件保存路径, 需要替换成本地具体路径, 例如"/usr/local/"GetSnapshotRequest request = new GetSnapshotRequest(bucket, key, time, destPath);// 执行请求GetSnapshotResult result = cosXml.GetSnapshot(request);//获取图片信息Console.WriteLine(result.GetResultInfo());if (result.IsSuccessful()){return destPath;}elsethrow new Exception(result.httpMessage);}/// <summary>/// 获取视频帧,并剪切固定大小/// </summary>public void GetCut(string fileKey, int width, int height){string fileName = this.GetSnapshot(fileKey);//图片剪切处理ImageOperate.Cut(fileName, width, height);}}

三、使用案例

SnapshotHelper _snap = new SnapshotHelper();//_snap.GetSnapshot("1684292777834-3.mp4");_snap.GetSnapshot("1731393344259-45.mp4");

更多:

.Net Core上传组件_.Net Core图片上传组件_Uploader7.0

C# 获取Http请求服务器响应的cookie

C# Post请求上传文件_C#Post请求带文件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词