@@ -438,4 +438,101 @@ public function queryProcessResult($taskIds)
438
438
$ video = new Api \Pretreat ($ this ->config );
439
439
return $ video ->query ($ taskIds , '/result/ ' );
440
440
}
441
+
442
+ /**
443
+ * 多个 m3u8 文件拼接
444
+ * @param array $files 保存在又拍云云存储中的多个 m3u8 文件路径
445
+ * @param string $saveAs 拼接生成的新 m3u8 文件保存路径
446
+ *
447
+ * @return array 见 [m3u8 拼接 - 响应](http://docs.upyun.com/cloud/sync_video/#_3)
448
+ */
449
+ public function m3u8Concat ($ files , $ saveAs )
450
+ {
451
+ $ p = new Api \SyncVideo ($ this ->config );
452
+ return $ p ->process ([
453
+ 'm3u8s ' => $ files ,
454
+ 'save_as ' => $ saveAs ,
455
+ ], '/m3u8er/concat ' );
456
+ }
457
+
458
+ /**
459
+ * 单个 m3u8 文件剪辑
460
+ * @param string $file 需要剪辑的又拍云云存储中的 m3u8 文件路径
461
+ * @param string $saveAs 剪辑完成后新的 m3u8 文件保存路径
462
+ * @param array $slice 需要被保留或删除的片段。
463
+ * @param bool $$isInclude 默认为 `true` 表示 `$slice` 参数描述的片段被保留,否则表示 `$slice` 参数描述的片段被删除
464
+ * @param bool $index 指定 `$slice` 参数的格式,默认为 `false` 表示使用时间范围描述片段,单位秒:`[<开始时间>, <结束时间>]`;`true` 表示使用 `m3u8` 文件的分片序号,从 0 开始,这种方式可以一次对多个片段操作
465
+ *
466
+ * @return array 见 [m3u8 剪辑 - 响应](http://docs.upyun.com/cloud/sync_video/#_6)
467
+ */
468
+ public function m3u8Clip ($ file , $ saveAs , $ slice = array (), $ isInclude = true , $ index = false )
469
+ {
470
+ $ p = new Api \SyncVideo ($ this ->config );
471
+ $ params = [
472
+ 'm3u8 ' => $ file ,
473
+ 'save_as ' => $ saveAs ,
474
+ 'index ' => $ index ,
475
+ ];
476
+ if ($ $ isInclude ) {
477
+ $ params ['include ' ] = $ slice ;
478
+ } else {
479
+ $ params ['exclude ' ] = $ slice ;
480
+ }
481
+ return $ p ->process ($ params , '/m3u8er/clip ' );
482
+ }
483
+
484
+ /**
485
+ * 获取单个 m3u8 文件描述信息
486
+ * @param string $file 又拍云云存储的中的 m3u8 文件路径
487
+ *
488
+ * @return array 见 [获取 m3u8 信息 - 响应](http://docs.upyun.com/cloud/sync_video/#_6)
489
+ */
490
+ public function m3u8Meta ($ file )
491
+ {
492
+ $ p = new Api \SyncVideo ($ this ->config );
493
+ return $ p ->process ([
494
+ 'm3u8 ' => $ file ,
495
+ ], '/m3u8er/get_meta ' );
496
+ }
497
+
498
+ /**
499
+ * 视频截图,可以对 mp4、m3u8 等视频文件进行截图
500
+ * @param string $file 需要截图的又拍云云存储中的视频文件路径
501
+ * @param string $saveAs 截图保存路径
502
+ * @param string $point 截图时间点,`HH:MM:SS` 格式
503
+ * @param string $size 截图尺寸 `宽x高` 格式的字符串。默认和视频尺寸一致
504
+ * @param string $format 截图保存的格式,默认根据 `$saveAs` 参数的后缀生成,可以指定 `jpg | png | webp` 三种格式
505
+ *
506
+ * @return array 见 [视频截图 - 响应](http://docs.upyun.com/cloud/sync_video/#m3u8_2)
507
+ */
508
+ public function snapshot ($ file , $ saveAs , $ point , $ size = '' , $ format = '' )
509
+ {
510
+ $ p = new Api \SyncVideo ($ this ->config );
511
+ $ params = [
512
+ 'source ' => $ file ,
513
+ 'save_as ' => $ saveAs ,
514
+ 'point ' => $ point ,
515
+ ];
516
+ if ($ size ) {
517
+ $ params ['size ' ] = $ size ;
518
+ }
519
+ if ($ format ) {
520
+ $ params ['format ' ] = $ format ;
521
+ }
522
+ return $ p ->process ($ params , '/snapshot ' );
523
+ }
524
+
525
+ /**
526
+ * 获取音视频文件元信息
527
+ * @param string $file 又拍云云存储的中的音视频文件路径
528
+ *
529
+ * @return array 见 [获取音视频文件信息 - 响应](http://docs.upyun.com/cloud/sync_video/#_16)
530
+ */
531
+ public function avMeta ($ file )
532
+ {
533
+ $ p = new Api \SyncVideo ($ this ->config );
534
+ return $ p ->process ([
535
+ 'source ' => $ file ,
536
+ ], '/avmeta/get_meta ' );
537
+ }
441
538
}
0 commit comments