mediaProcess.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const COS = require('../lib/cos-wx-sdk-v5');
  2. var wxfs = wx.getFileSystemManager();
  3. const config = require('../config');
  4. const { cos, requestCallback } = require('../tools');
  5. const mediaProcessDao = {
  6. 'describeMediaBuckets 查询已经开通数据万象功能的存储桶': describeMediaBuckets,
  7. 'getMediaInfo 获取媒体文件信息': getMediaInfo,
  8. 'getSnapshot 获取媒体文件某个时间的截图': getSnapshot,
  9. };
  10. function describeMediaBuckets() {
  11. var host = 'ci.' + config.Region + '.myqcloud.com';
  12. var url = 'https://' + host + '/mediabucket';
  13. cos.request(
  14. {
  15. Bucket: config.Bucket,
  16. Region: config.Region,
  17. Method: 'GET',
  18. Key: 'mediabucket' /** 固定值,必须 */,
  19. Url: url,
  20. Query: {
  21. pageNumber: '1' /** 第几页,非必须 */,
  22. pageSize: '10' /** 每页个数,非必须 */,
  23. // regions: 'ap-chengdu', /** 地域信息,例如'ap-beijing',支持多个值用逗号分隔如'ap-shanghai,ap-beijing',非必须 */
  24. // bucketNames: 'test-1250000000', /** 存储桶名称,精确搜索,例如'test-1250000000',支持多个值用逗号分隔如'test1-1250000000,test2-1250000000',非必须 */
  25. // bucketName: 'test', /** 存储桶名称前缀,前缀搜索,例如'test',支持多个值用逗号分隔如'test1,test2',非必须 */
  26. },
  27. },
  28. function (err, data) {
  29. console.log(err || data);
  30. }
  31. );
  32. }
  33. function getMediaInfo() {
  34. cos.request(
  35. {
  36. Bucket: config.Bucket,
  37. Region: config.Region,
  38. Method: 'GET',
  39. Key: 'test.mp4',
  40. Query: {
  41. 'ci-process': 'videoinfo' /** 固定值,必须 */,
  42. },
  43. },
  44. function (err, data) {
  45. console.log(err || data);
  46. }
  47. );
  48. }
  49. function getSnapshot() {
  50. cos.request(
  51. {
  52. Bucket: config.Bucket,
  53. Region: config.Region,
  54. Method: 'GET',
  55. Key: 'test.mp4',
  56. Query: {
  57. 'ci-process': 'snapshot' /** 固定值,必须 */,
  58. time: 1 /** 截图的时间点,单位为秒,必须 */,
  59. // width: 0, /** 截图的宽,非必须 */
  60. // height: 0, /** 截图的高,非必须 */
  61. // format: 'jpg', /** 截图的格式,支持 jpg 和 png,默认 jpg,非必须 */
  62. // rotate: 'auto', /** 图片旋转方式,默认为'auto',非必须 */
  63. // mode: 'exactframe', /** 截帧方式,默认为'exactframe',非必须 */
  64. },
  65. RawBody: true,
  66. DataType: 'arraybuffer',
  67. },
  68. function (err, data) {
  69. if (err) {
  70. console.log(err);
  71. } else {
  72. const imgBase64 = wx.arrayBufferToBase64(data.Body);
  73. console.log(imgBase64);
  74. }
  75. }
  76. );
  77. }
  78. module.exports = mediaProcessDao;