日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

微短劇解決方案提供通過API進行視頻剪輯(云剪輯)的能力。通過閱讀本文,您可以了解微短劇視頻剪輯(云剪輯)作業的基本API調用方法。

說明

使用微短劇媒體云剪輯,請確保您已基本了解什么是云剪輯。詳情參見云剪輯概述

創建云剪輯工程

概述

微短劇云剪輯是一項基于云端的視頻剪輯服務,提供視頻剪切拼接、混音、字幕、圖片疊加、遮標、轉場特效等功能。您可以通過在線可視化剪輯平臺(控制臺)或OpenAPI進行操作,實現快速高效的視頻制作和發布。

解決的問題

微短劇云剪輯解決了以下問題:

  1. 視頻素材管理:無需下載和上傳操作,直接在云端進行視頻剪輯。

  2. 多功能剪輯:支持多種剪輯功能,滿足不同制作需求。

  3. 高效合成:快速合成新視頻并存儲到點播媒資庫,方便分發播放。

基本流程

短劇制作人,為了能夠快速高效地完成視頻的剪輯和發布,決定通過云剪輯,可以在不下載視頻素材的情況下,直接在云端進行剪輯操作,包括視頻剪切拼接、混音、添加字幕、圖片疊加、遮標、轉場特效等功能。這提高了工作效率,同時也簡化了視頻素材的管理流程。

  1. 上傳原片:

    1. 如果您使用的是點播系統Bucket,可以直接在控制臺上傳字幕/字體文件,也可以通過上傳SDK上傳輔助媒資;如果您使用的是自有OSS bucket,可以直接使用OSS SDK將您的字幕/字體文件上傳到OSS以便進一步使用。

      1726729079525-83df04d1-6d0b-4cef-8128-65cdddb501a7.png

  2. 添加字幕:云剪輯支持srt格式字幕文件,并提供多種樣式設置。如果您的字幕格式是vtt,需要使用FFMPEG進行文件格式轉換:

    ffmpeg -i example.vtt example.srt

    以下是字幕樣式參數示例:

    {
      "SubtitleLayers": [
        {
          "SubtitleLayerClips": [
            {
              "FileUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-subtitle.srt",
              "SubType": "srt",
              "Type": "Subtitle",
              "Font": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font.ttf",
              "FontColor": "#ffffff",
              "Y": 0.6927,
              "FontSize": 75,
              "Alignment": "TopCenter",
              "TextWidth": 0.9,
              "AdaptMode": "AutoWrapAtSpacesStrict",
              "SubtitleEffects": [
                {
                  "Type": "Box",
                  "Color": "#000000",
                  "Opacity": 0.5,
                  "XBord": 10,
                  "YBord": 10,
                  "Radius": 15
                }
              ]
            }
          ]
        }
      ]
    }

    字幕軌道支持設置多種字幕樣式來靈活實現短劇場景的各種功能,字幕參數如下:

    名稱

    類型

    描述

    FontSize

    Int

    當字幕類型為橫幅文字時,表示文字的字號。默認為0,最大支持設置到5000。

    FontColor

    String

    當字幕類型為橫幅文字時,表示文字的顏色,格式為#后跟16進制值。例如:#ffffff。

    Alignment

    String

    當字幕類型為橫幅文字時,用于設置定位對齊方式,默認為TopLeft,支持設置:

    • TopLeft:視頻左上角

    • TopCenter:視頻豎直中軸線上側

    • TopRight:視頻右上角

    • CenterLeft:視頻水平中軸線左側

    • CenterCenter:視頻中心位置

    • CenterRight:視頻水平中軸線右側

    • BottomLeft:視頻左下角

    • BottomCenter:視頻豎直中軸線下側

    • BottomRight:視頻右下角

    若需要在不同對齊方式下準確定位字幕位置,建議設置以下對齊方式:

    • Left,左對齊,X、Y傳入字幕左上角頂點相對于視頻左上角的坐標

    • Center,居中對齊,X、Y傳入字幕中軸線上邊界交點相對于視頻左上角的坐標

    • Right,右對齊,X、Y傳入字幕右上角頂點相對于視頻左上角的坐標

    AdaptMode

    String

    橫幅文字當超出視頻寬度或超出指定TextWidth時進行自動換行或縮放:

    • AutoWrap:自動換行

    • AutoScale:自動縮放

    • AutoWrapAtSpacesStrict:嚴格按照在空格位置自動換行(適用于純英文字幕自動換行場景)

    TextWidth

    Float

    字幕文本框寬度,當設置AdaptMode時生效。將按照該值設置文本框寬度進行自動換行或縮放。不填寫時,會按照視頻寬度進行自動換行或縮放。當值大于0小于等于1時,表示相對輸出視頻的寬度,當值大于1時,表示絕對像素值。

    FontUrl

    String

    當字幕類型為橫幅文字時,支持使用用戶OSS的字體文件路徑來生成字幕,支持ttf、otf、woff三種格式的字體文件。例如:https://your-bucket.oss-cn-shanghai.aliyuncs.com/example-font.ttf

    • 支持傳入「OSS 外網 Endpoint 地址」或者「其它公網可以訪問的地址」

    SubtitleEffects

    SubtitleEffect[]

    當字幕類型為橫幅文字時,表示文字多層效果。目前支持設置多層描邊、多層陰影、高斯模糊效果(高斯模糊僅支持在類型為陰影時使用)和字幕背景效果。字幕圓角樣式背景參考該字段細節

    SubtitleEffects內支持設置多層描邊、多層陰影、發光效果、字幕背景等多種樣式,具體參數說明如下所示:

    名稱

    類型

    是否必填

    描述

    Type

    String

    -Outline:描邊

    -Shadow:陰影

    -Box:字幕底框

    Bord

    Float

    描邊/陰影寬度或高度,當大于1時,表示像素值,當大于0小于1時,表示相對文字大小的寬度或高度。

    XBord

    Float

    描邊/陰影寬度,當大于1時,表示像素值,當大于0小于1時,表示相對文字大小的寬度,優先級高于Bord。

    YBord

    Float

    描邊/陰影高度,當大于1時,表示像素值,當大于0小于1時,表示相對文字大小的高度,優先級高于Bord。

    Shift

    Float

    描邊/陰影左右/上下偏移量,當絕對值大于1時,表示像素值,當絕對值大于0小于1時,表示相對文字大小的偏移量,支持設置負數,效果為向上/左偏移。

    XShift

    Float

    描邊/陰影左右偏移量,當絕對值大于1時,表示像素值,當絕對值大于0小于1時,表示相對文字大小的左右偏移量,優先級高于Shift。

    YShift

    Float

    描邊/陰影上下偏移量,當絕對值大于1時,表示像素值,當絕對值大于0小于1時,表示相對文字大小的上下偏移量,優先級高于Shift。

    Color

    String

    RGB顏色,格式為#后跟16進制值。例如:#ffffff。

    Opacity

    String

    不透明度,1為完全不透明,0為完全透明。

    Blur

    Float

    高斯模糊范圍,像素值,僅支持在Type=Shadow時使用,可以實現字幕外發光效果。

    Radius

    Float

    文字純色背景圓角半徑,僅支持在Type=Box時使用,可以實現字幕背景圓角效果。

    Timeline示例

    {
    	"VideoLayers": [{
    		"VideoLayerClips": [{
    			"MediaId": "xxx"
    		}]
    	}],
    	"SubtitleLayers": [{
    		"SubtitleLayerClips": [{
    			"FileUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-subtitle.srt",
    			"SubType": "srt",
    			"Type": "Subtitle",
    			"Font": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-font.ttf",
    			"FontColor": "#ffffff",
    			"Y": 0.6927,
    			"FontSize": 75,
    			"Alignment": "TopCenter",
    			"TextWidth": 0.9,
    			"AdaptMode": "AutoWrapAtSpacesStrict",
    			"SubtitleEffects": [{
    				"Type": "Box",
    				"Color": "#000000",
    				"Opacity": 0.5,
    				"XBord": 10,
    				"YBord": 10,
    				"Radius": 15
    			}]
    		}]
    	}],
    	"FECanvas": {
    		"Height": 1920,
    		"Width": 1080
    	}
    }
  3. 生成成片:通過云剪輯工具或API進行視頻剪輯,合成新視頻并存儲。

    使用AddEditingProject接口創建云剪輯工程,以下是示例代碼:

    package com.aliyun.sample;
    import com.aliyun.tea.*;
    
    public class Sample {
        public static com.aliyun.vod20170321.Client createClient() throws Exception {
            com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                    .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                    .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            config.endpoint = "vod.cn-shanghai.aliyuncs.com";
            return new com.aliyun.vod20170321.Client(config);
        }
    
        public static void main(String[] args_) throws Exception {
            java.util.List<String> args = java.util.Arrays.asList(args_);
            com.aliyun.vod20170321.Client client = Sample.createClient();
            com.aliyun.vod20170321.models.AddEditingProjectRequest addEditingProjectRequest = new com.aliyun.vod20170321.models.AddEditingProjectRequest();
            com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
            try {
                client.addEditingProjectWithOptions(addEditingProjectRequest, runtime);
            } catch (TeaException error) {
                System.out.println(error.getMessage());
                System.out.println(error.getData().get("Recommend"));
                com.aliyun.teautil.Common.assertAsString(error.message);
            } catch (Exception _error) {
                TeaException error = new TeaException(_error.getMessage(), _error);
                System.out.println(error.getMessage());
                System.out.println(error.getData().get("Recommend"));
                com.aliyun.teautil.Common.assertAsString(error.message);
            }
        }
    }

    合成的新視頻將存儲到點播媒資庫,您可以快速進行分發播放。