導出視頻包含視頻配置導出、視頻合成及上傳。本文為您介紹導出視頻的流程以及方法。
版本支持
版本 | 是否支持 |
專業版 | 支持 |
標準版 | 支持 |
基礎版 | 支持 |
相關類功能
類名 | 功能 |
視頻輸出參數,設置合成導出視頻的參數。 | |
視頻合成上傳類,包括初始化、合成視頻、上傳視頻、更新上傳憑證等視頻合成及上傳相關功能。 | |
工廠類,創建合成實例。 |
導出視頻流程
流程 | 說明 | 示例代碼 |
1 | 導出當前編輯視頻的配置。 | |
2 | 合成視頻,支持暫停、恢復及取消合成。 | |
3 | 上傳視頻,支持暫停、繼續及取消上傳。 | |
4 | 釋放資源。 |
視頻合成接口和上傳接口的調用有順序要求,合成接口調用完成后可以調用上傳接口。
合成接口可多次調用,而上傳接口只上傳最后一次合成生成的視頻文件。
如果編輯的對象是視頻,在創建AliyunIVodCompose實例前,需要先將該視頻的特效持久化到本地配置文件中,否則合成的視頻無此特效。持久化編輯特效接口如下:
AliyunIEditor.saveEffectToLocal();
視頻配置導出
導出當前編輯視頻的配置,此時并不會合成輸出最終的視頻文件。
接口參數請參考AliyunVideoParam。
//視頻配置導出,最終輸出outputPath的配置文件
AliyunIEditor.compose(AliyunVideoParam param, String outputPath, AliyunIComposeCallBack callback);
//取消視頻配置導出
AliyunIEditor.cancelCompose();
視頻合成
阿里云短視頻SDK提供的一套單獨進行合成上傳的功能接口,用來實現將編輯完的視頻在另一界面合成上傳,核心類AliyunIVodCompose封裝了視頻合成與上傳功能,方便客戶端更好地合成與上傳視頻。合成接口可多次調用。
接口參數請參考AliyunIVodCompose及AliyunComposeFactory。
初始化合成上傳實例
//創建
AliyunComposeFactory.createAliyunVodCompose();
//初始化
AliyunIVodCompose.init(Context context);
合成
AliyunIVodCompose.compose(String config, String output, AliyunIComposeCallBack callback);
合成控制(按需使用)
//暫停合成
AliyunIVodCompose.pauseCompose();
//恢復合成
AliyunIVodCompose.resumeCompose();
//取消合成
AliyunIVodCompose.cancelCompose();
視頻上傳
視頻合成完成后調用上傳接口上傳視頻,上傳接口只上傳最后一次合成生成的視頻文件。
接口參數請參考AliyunIVodCompose及AliyunComposeFactory。
上傳
獲取上傳地址及上傳憑證。
AliyunIVodCompose是通過上傳地址和上傳憑證上傳,在上傳之前,需要獲取上傳地址及上傳憑證,詳細操作請參見獲取音視頻上傳地址和憑證。
上傳視頻文件到OSS Bucket中。
/** * 上傳視頻到阿里云視頻點播服務。 * @param options 視頻上傳選項,包含以下屬性: * videoPath - 本地的視頻文件路徑。 * uploadAddress - 阿里云提供的視頻上傳地址。 * uploadAuth - 阿里云提供的上傳憑證。 * aliyunVodUploadCallBack - 上傳過程的回調接口。 */ AliyunIVodCompose.uploadVideoWithVod(VideoUploadOptions options);
刷新視頻上傳憑證。
考慮到上傳憑證帶有時效性,所以上傳后,需要在過期回調onUploadTokenExpired方法中重新獲取上傳憑證上傳,并通過AliyunIVodCompose.refreshWithUploadAuth(String uploadAuth);進行刷新,更多信息,請參見刷新視頻上傳憑證。
上傳控制(按需使用)
//暫停上傳
AliyunIVodCompose.pauseUpload();
//繼續上傳
AliyunIVodCompose.resumeUpload();
//取消上傳
AliyunIVodCompose.cancelUpload();
釋放資源
上傳完成后,銷毀接口,釋放資源。
AliyunIVodCompose.release();