User Generated Short Video SDK

User Generated Short Video SDK
FAQs
Product Documentation©2013-2022 Tencent Cloud. All rights reserved.

Page 1 of 23

User Generated Short Video SDK

Copyright Notice©2013-2024 Tencent Cloud. All rights reserved.
Copyright in this document is exclusively owned by Tencent Cloud. You must not reproduce, modify, copy or distributein any way, in whole or in part, the contents of this document without Tencent Cloud's the prior written consent.
Trademark Notice

All trademarks associated with Tencent Cloud and its services are owned by Tencent Cloud Computing (Beijing)
Company Limited and its affiliated companies. Trademarks of third parties referred to in this document are owned bytheir respective proprietors.
Service Statement
This document is intended to provide users with general information about Tencent Cloud's products and services
only and does not form part of Tencent Cloud's terms and conditions. Tencent Cloud's products or services are
subject to change. Specific products and services and the standards applicable to them are exclusively provided for in
Tencent Cloud's applicable terms and conditions.

©2013-2022 Tencent Cloud. All rights reserved.

Page 2 of 23

User Generated Short Video SDKContents
FAQs
UploadAndroid Compilation
AndroidiOS
License©2013-2022 Tencent Cloud. All rights reserved.

Page 3 of 23

User Generated Short Video SDK

FAQs
Upload：Last updated 2022-08-16 17:09:23

What is video uploading from the client?
Video uploading from the client refers to uploading local videos to VOD by an application user.

Why can’t I find the video upload module TXUGCPublish ?
The video upload feature has been separated from the SDK and made open source in the demo. You need tointegrate the UGSV upload feature by following the steps below:
1. Download the demo.
2. Copy the upload .jar package in the app\libs\upload directory to the ..\app\libs\upload directoryof your project.
3. Copy the source code directory
Demo\app\src\main\java\com\tencent\liteav\demo\videoupload of the UGSV upload feature toyour project directory and rename the package in the source code.
4. Open build.gradle in the App directory of your project and add code that references the .jar package:
dependencies {compile fileTree(include: ['*.jar'], dir: 'libs/upload')}

5. Configure application permissions in AndroidManifest.xml .

<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

What should I do if upload fails with the internal error 1000?
Please check whether the VOD service is activated.

©2013-2022 Tencent Cloud. All rights reserved.

Page 4 of 23

User Generated Short Video SDK

What should I do if an "incorrect upload parameter" error occurs?
Please check whether the addresses of the video file and image are correct and whether the corresponding files canbe found in the specified paths.

What should I do if an "incorrect upload signature" error occurs?
Before a client initiates an upload, it needs to apply for an upload signature from your application server. If theapplication server approves the upload request, it will generate an upload signature as described in Signature for
Upload from Client. The client must carry this signature so that VOD can verify whether the upload is authorized.
A signature for uploading from the client is generated as follows:
1. Get the API key.
2. Concatenate the plaintext string.
3. Convert the string to a signature.
4. You can verify the signatures generated by your service using the tools provided by VOD:
Signature generation: Enter the key and other required parameters to quickly generate a signature.
Signature verification: Enter a signature to parse and get the parameters used to generate the signature.
For more information, see Signature for Upload from Client.

Is there a limit on the length or size of a file uploaded?
No, there isn’t a limit on the length or size of a file uploaded.

Can I upload an image?
Currently, you cannot upload images alone, but you can upload a thumbnail image along with a video. For details,
see Video Upload.

©2013-2022 Tencent Cloud. All rights reserved.

Page 5 of 23

User Generated Short Video SDKAndroid Compilation：

Last updated 2022-06-24 14:56:48

What should I do if the following error occurs when I integrate the SDK?

You can use the armeabi and armeabi-v7a architectures.

As shown above, set abiFilters to armeabi in build.gradle in app .

What should I do if a conflict occurs when I try to integrate two or more LiteAV SDKs?
Because all LiteAV SDKs use the same underlying modules, the duplicate symbol error occurs if you integrate two or
more LiteAV SDKs into your project.
To avoid the problem, instead of integrating two SDKs, we recommend you use the full-featured SDK.
Platform

ZIP File

GitHub64-bit©2013-2022 Tencent Cloud. All rights reserved.

Size

Downsizing Installation

Page 6 of 23

User Generated Short Video SDK

SupportiOS

Download

GitHubYes

Package
4.08 MB (arm64)

Document

jar: 1.5 MB
so (armeabi): 6.5
Android

Download

GitHubYesMBso (armv7): 6.1 MB

Documentso (arm64): 7.3 MB

Why can I no longer use UGSV features after updating the SDK?
1. If you use Android Studio, after replacing the AAR file, change the filename in the AAR reference inbuild.gradle of app to that of the AAR file in /libs of your project. Then, clean your project and build
it again.
2. Check the SDK version. You need a license to use v4.5 and later versions of the SDK.
If you don’t have a license, please apply for one. The UGSV SDK comes in Lite edition and Basic edition.

How do I implement playback pause and progress bar in my Android project?
In the UGSV SDK, playback is based on the UGSV player. You need to implement the progress bar by yourself.

©2013-2022 Tencent Cloud. All rights reserved.

Page 7 of 23

User Generated Short Video SDKAndroid：

Last updated 2022-11-14 18:18:58

Features
Can I customize the shooting resolution of short videos? What custom resolutions can I
use?
The customizable parameters of short video shooting include frame rate (number of frames per second), GOP length(number of seconds between key I frames), video bitrate (volume of audio/video data generated by the encoder per
second), and maximum/minimum shooting duration. We offer 4 shooting resolutions as constants for your choice: 360
× 640, 540 × 960, 720 × 1280, and 1080 × 1920.
The following describes why the shooting resolution is set as a constant instead of a variable:
The 4 constants are mainstream shooting resolutions.
Android phones may not support non-mainstream resolutions, the use of which may lead to problems such as
green screen and pixelation.
You can call the startCameraCustomPreview API of the TXUGCRecord class to pass in custom shooting
parameters, as shown below:// Custom configuration
TXRecordCommon.TXUGCCustomConfig customConfig = new TXRecordCommon.TXUGCCustomCon
fig();
customConfig.videoResolution = TXRecordCommon.VIDEO_RESOLUTION_540_960;
customConfig.minDuration = mMinDuration; // Minimum duration
customConfig.maxDuration = mMaxDuration; // Maximum duration
customConfig.videoBitrate = mBiteRate; // Video bitratecustomConfig.videoGop = mGop; // GOP length
customConfig.videoFps = mFps; // Frame rate in fps
customConfig.isFront = mFront; // Whether to use the front camera
mTXCameraRecord.startCameraCustomPreview(customConfig, mVideoView);

Why can’t I receive the onRecordComplete callback after shooting ends on Android?
Before shooting a short video, please call the setVideoRecordListener() API of the TXUGCRecord class
to set a listener for the shooting callback.
To end shooting, you need to call the stopRecord() API of the TXUGCRecord class.

©2013-2022 Tencent Cloud. All rights reserved.

Page 8 of 23

User Generated Short Video SDK// Before shooting
mTXCameraRecord = TXUGCRecord.getInstance(this.getApplicationContext());
mTXCameraRecord.setVideoRecordListener(this);...
// End shooting
mTXCameraRecord.stopRecord();

How do I resume shooting from where I stopped last time?
If you call stopRecord , the video segments shot will be spliced, so after the onRecordComplete callback is
received, the demo will call mTXCameraRecord.getPartsManager().deleteAllParts() to delete thesegment files.
If shooting is interrupted, and you want to resume shooting from where you stopped, do not call
mTXCameraRecord.getPartsManager().deleteAllParts() .

@Override
public void onRecordComplete(TXRecordCommon.TXRecordResult result) {TXCLog.i(TAG, "onRecordComplete, result retCode = " + result.retCode + ", descMsg= " + result.descMsg + ", videoPath + " + result.videoPath + ", coverPath = " + result.coverPath);
if (mTXRecordResult.retCode < 0) {Toast.makeText(TCVideoRecordActivity.this.getApplicationContext(), "Shoot failed.
Cause: " + mTXRecordResult.descMsg, Toast.LENGTH_SHORT).show();} else {mDuration = mTXCameraRecord.getPartsManager().getDuration(); // Total shooting durationif (mTXCameraRecord != null) {mTXCameraRecord.getPartsManager().deleteAllParts(); // Delete the video segments
already shot}
startPreview(); // Enter the preview page}

Why are background music settings for shooting not working?
You must set the background music before calling the shooting API ( startRecord of TXUGCRecord ) so thatthe settings can take effect. The call sequence in the code is as shown below:
TXRecordCommon.TXUGCSimpleConfig simpleConfig = new TXRecordCommon.TXUGCSimpleCon
fig();
simpleConfig.videoQuality = TXRecordCommon.VIDEO_QUALITY_MEDIUM;©2013-2022 Tencent Cloud. All rights reserved.

Page 9 of 23

User Generated Short Video SDK

simpleConfig.minDuration = mMinDuration;
simpleConfig.maxDuration = mMaxDuration;// 1. Start the preview first
mTXCameraRecord.startCameraSimplePreview(simpleConfig, mVideoView);// 2. Specify the path of the background music file and play the music
mBGMDuration = mTXCameraRecord.setBGM(mBGMPath);
mTXCameraRecord.playBGMFromTime(0, mBGMDuration);// 3. Start shooting (`customVideoPath`: The path of the video generated. `custom
PartFolder`: The folder of the video segments shot. `customCoverPath`: The path of the thumbnail.)
int result = mTXCameraRecord.startRecord(customVideoPath, customPartFolder, custo
mCoverPath);

Does UGSV support photo taking?
You can call the snapshot API of the TXUGCRecord class to take a photo, which will be returned
asynchronously through the TXRecordCommon.ITXSnapshotListener callback. The sample code is asfollows:
private void snapshot() {if (mTXCameraRecord != null) {mTXCameraRecord.snapshot(new TXRecordCommon.ITXSnapshotListener() {@Override
public void onSnapshot(Bitmap bmp) {// Captured photo
saveBitmap(bmp);
}
});
}
}

What speed changing options can I use during shooting?
You cannot customize speed for shooting.
Definition

Constant in TXRecordCommon

Speed

Ultra-slow

RECORD_SPEED_SLOWEST

0.5x

Slow

RECORD_SPEED_SLOW

0.8xStandard

RECORD_SPEED_NORMAL

1x

Fast

RECORD_SPEED_FAST

1.25x©2013-2022 Tencent Cloud. All rights reserved.

Page 10 of 23

User Generated Short Video SDK

Definition

Constant in TXRecordCommon

Speed

Ultra-fast

RECORD_SPEED_FASTEST

1.5x

You can call setRecordSpeed(record) of TXUGCRecord to set the speed for shooting.

mTXCameraRecord.setRecordSpeed(TXRecordCommon.RECORD_SPEED_FAST);

What formats are supported for video importing? Can I import videos with a resolution
higher than 720p (such as 2K and 4K)? Is there an upper limit on the size of imported
videos?
Currently, you can import only MP4 video files on Android. There are no limits on the resolution or size of imported
files.
The resolution of imported videos is not limited. The maximum video resolution after preprocessing is 720p, nomatter how high the original video resolution is.
To speed up video import, the SDK allows you to skip preprocessing since v4.7, but some features, such as
reversed playback and frame-specific preview, become unavailable. For videos whose resolution is higher than
720p, you are not advised to skip preprocessing. Preview requires the decoding of every frame. On phones withpoor performance, it may take a long time for a frame to be decoded and rendered, resulting in stutter.

What background music formats are supported during short video editing?
Currently, only MP3 and M4A files are supported.

What custom outputs does short video editing support?
Editing supports custom video bitrate (in SDK 4.5 or later) and audio bitrate (in SDK 4.7 or later). For the resolution,
you can choose from five constants: 360 × 640, 480 × 640, 540 × 960, 720 × 1280, and 1080 × 1920.
Resolution

Constant in TXVideoEditConstants

360 × 640

VIDEO_COMPRESSED_360P

480 × 640

VIDEO_COMPRESSED_480P

540 × 960

VIDEO_COMPRESSED_540P

720 × 1280

VIDEO_COMPRESSED_720P

1080 × 1920

VIDEO_COMPRESSED_1080P©2013-2022 Tencent Cloud. All rights reserved.

Page 11 of 23

User Generated Short Video SDK// Set the output video bitrate
mTXVideoEditer.setVideoBitrate(3600);// Set the output resolution
mTXVideoEditer.generateVideo(TXVideoEditConstants.VIDEO_COMPRESSED_720P, mVideoOu
tputPath);

Can I separate audio from the videos shot?
Currently, the SDK does not support recording background music and human voice at the same time. Therefore, tochange the background music during editing, just set the volume of the original audio to 0. See the code below for
detailed directions:// Set the original audio to 0 to remove the recorded background musicmTXVideoEditer.setVideoVolume(0.0f);// Specify the local path of the background music to use
String bgmPath = getBGMPath();mTXVideoEditer.setBGM(bgmPath);// Set the volume of the background music. Value range: 0.0f-1.0f
mTXVideoEditer.setBGMVolume(1.0f);

How do I switch between the Activity window and the full screen mode to display thepreview image?
You need to dynamically modify the dimensions of the parent layout for the video preview view passed in to the SDK.
The SDK will internally adjust the video dimensions dynamically according to the video width and height and theparent layout dimensions.
The APIs of the SDK need to be called in the following sequence:
Call stopPlay first, modify the width and height of FrameLayout passed in to the SDK, call
initWithPreview(parm) , pass in the new FrameLayout , and call startPlay again.

// Stop playback
mTXVideoEditer.stopPlay();if (isFullScreen) {// If the full screen mode is used, you can use the following code to switch to t
he window mode
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutPa
rams.MATCH_PARENT, 1500);
mVideoPlayerLayout.setLayoutParams(params);
initPlayerLayout(false);
isFullScreen = false;} else {// If the window mode is used, you can use the following code to switch to the fu
ll screen mode©2013-2022 Tencent Cloud. All rights reserved.

Page 12 of 23

User Generated Short Video SDK

FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutPa
rams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
mVideoPlayerLayout.setLayoutParams(params);
initPlayerLayout(false);
isFullScreen = true;}// Start playback
mTXVideoEditer.startPlayFromTime(startTime, endTime);// Set the preview view
private void initPlayerLayout(boolean isFullScreen) {TXVideoEditConstants.TXPreviewParam param = new TXVideoEditConstants.TXPreviewParam();param.videoView = mVideoPlayerLayout;if (isFullScreen) {param.renderMode = TXVideoEditConstants.PREVIEW_RENDER_MODE_FILL_SCREEN;} else {param.renderMode = TXVideoEditConstants.PREVIEW_RENDER_MODE_FILL_EDGE;}
mTXVideoEditer.initWithPreview(param);}

In the UGSV demo app, the video editing module places clipping and other editing features
such as filters are on the same page. Can I show them on different pages?
You can clip ( setCutTimeFrom ) and preprocess ( processVideo ) a video first. Then, you can edit theclipped and preprocessed video. After editing, set the clipping duration ( setCutTimeFrom ) to the total duration of
the edited video, and call generateVideo to generate the video. This can avoid reduced image quality caused by
two compressions.

：

Note

Before generating the final video, make sure you set the clipping duration to the total duration of the processedand clipped video. Otherwise, the video will be clipped again.

// Clipping pagemTXVideoEditer = new TXVideoEditer(mContext);
mTXVideoEditer.setCutFromTime(mTCVideoEditView.getSegmentFrom(), mTCVideoEditView.getSegmentTo());
mTXVideoEditer.processVideo();// Set the clipping duration to the entire video duration (`setCutTimeFrom`)mTXVideoEditer.setCutFromTime(0, mVideoDuration);// Redirect to the special effects page for generation©2013-2022 Tencent Cloud. All rights reserved.

Page 13 of 23

User Generated Short Video SDK

mTXVideoEditer.generateVideo(TXVideoEditConstants.VIDEO_COMPRESSED_720P, mVideoO
utputPath);

Compilation
What should I do if the following error occurs when I integrate the SDK?

You can use the armeabi and armeabi-v7a architectures.

As shown above, set abiFilters to armeabi in build.gradle in app .

What should I do if a conflict occurs when I try to integrate two or more media SDKs?
Because all Tencent Cloud media SDKs use the same underlying modules, the duplicate symbol error occurs if you
integrate two or more SDKs into your project.

©2013-2022 Tencent Cloud. All rights reserved.

Page 14 of 23

User Generated Short Video SDK

To avoid the problem, instead of integrating two SDKs, we recommend you use the All-in-One SDK.

Platform

ZIP File

GitHubiOS

Download

GitHub64-bitSupportYes

Size
4.08 MB (arm64)

Downsizing Installation
Package
Document

jar: 1.5 MB
Android

Download

GitHubYesso (armeabi): 6.5
MBso (armv7): 6.1 MB

Documentso (arm64): 7.3 MB

Why can I no longer use UGSV features after updating the SDK?
1. If you use Android Studio, after replacing the AAR file, change the AAR reference in build.gradle ofapp to the name of the AAR file in /libs of your project. Then, clean your project and build it again.
2. Check the SDK version. You need a license to use v4.5 and later versions of the SDK.
If you don’t have a license, please buy one first. The UGSV SDK comes in Lite edition and Standard edition.
For billing details, see Billing Overview.
If you want to use advanced features such as filters and special effects, see Integrating Tencent Effect into UGSVSDK.

How do I implement a progress bar in my Android project?
In UGSV, video playback is based on the UGSV player. You need to write your own code for progress bar. For
detailed directions, see Player SDK - Playback progress.

©2013-2022 Tencent Cloud. All rights reserved.

Page 15 of 23

User Generated Short Video SDKiOS：

Last updated 2022-08-16 17:09:23

What should I know about TXUGCPublish.h ?
Since v4.5, we have moved TXUGCPublish classes from the SDK to the demo. To use the classes, just drag theVideoUpload directory to your project.

What should I do if an error was reported when I directly ran the demo in Xcode?
Error message:

Solution: Run pod install .

What should I do if a short video shoot error was reported when I connected to Xcode fordebugging?
Error message: Main Thread Checker: UI API called on a background thread©2013-2022 Tencent Cloud. All rights reserved.

Page 16 of 23

User Generated Short Video SDK

Cause: Some APIs (usually those related to UI) need to be called in the main thread. If they are not called in themain thread and Main Thread Checker is selected, this error will occur.
Solution: Select Product > Scheme > Edit Scheme > Run > Diagnostics and unselect Main Thread Checker.

：

Note

This issue has been fixed in v4.9.

What should I do if I could not find the header file when using the SDK?
Run pod install .

What should I do if a crash occurs or an error is reported saying that class methods could
not be found when I run the project?
The SDK uses certain class methods. To load them, you need to add -ObjC to Build Settings > Linking > Other
Linker Flags in the project.

What should I do if the background music set for short video shooting is not played?
1. Check whether the file exists in the background music path passed in and whether the file can be played backnormally.
2. Check whether the APIs are called in the following sequence: startCameraSimple:preview: >setBGM: > startRecord .

：

Note

Many APIs need to be called in a certain sequence in order to work. Such requirements are often specified incode comments.
For example, setVideoResolution: , setVideoBitrate: , and setAspectRatio: must all becalled before startRecord in order to work.

Can I loop the background music during video shooting?
Currently, loop playback is not supported.

I didn’t receive a completion callback when the background music for video shooting ended( endTime ). Why?
If the endTime is smaller than the total music file duration, in SDK 4.6 or earlier, the completion callback will be
triggered only after the playback of the background music is completed. In SDK 4.7 or later, the completion callback©2013-2022 Tencent Cloud. All rights reserved.

Page 17 of 23

User Generated Short Video SDK

will be triggered at the time specified by endTime .

Why is it slow the first time I turn on the camera to shoot videos?
iPhone’s camera tends to take a long time to start (cold start). This is also the case if you start the camera using asystem API.
It’s not practical to start the camera in a child thread. Tests show that it will take even longer to start the camera in achild thread. If the camera is started and closed frequently in the main thread, the response delay of the child thread
will also increase.

How do I implement shooting resumption?
When shooting is interrupted, do not call stopRecord or stopCameraPreview (if you do, the shooting will
stop, and you can only start a new shooting). Instead, call pauseRecord , use
TXUGCPartsManager.getVideoPathList to get the video segment already shot, and call
TXVideoJoiner.joinVideo to merge it into the final video. This method works in versions earlier than 4.5. In
4.5 and later versions, just call TXUGCPartsManager.joinAllParts to splice the final video, which is quicker.

What should I do if I do not receive a callback when video shooting is completed?
Check whether stopRecord is called. Only after stopRecord is called can the completion callback be
returned.
Check whether the APIs are called in the main thread.

During shooting, I played a video using another player. When I switched back to continue
shooting, no audio is recorded. Why?
The AudioSession on iOS is shared by all audio/video applications. When you switch to another player during
shooting, the AudioSession will be occupied by the player. If it is not released in a timely manner, after you
switch back, AudioSession may not work for the shooting module. The SDK provides two APIs: -(void)
pauseAudioSession and -(void) resumeAudioSession . You can call pauseAudioSession before
you switch to another player and then call resumeAudioSession before you switch back to resume shooting.

Why are the videos shot blurry?
Videos may be blurry if the bitrate and resolution do not match. You can try increasing the bitrate moderately or enable
B-frame encoding.

During video editing, I switched the application to the background and then switched back.
The system failed to generate the editing result. What should I do?
Hardware encoding (featuring higher encoding efficiency and image quality) is used by default for video generation.
However, the hardware encoder will stop running if the application is switched to the background, resulting in video©2013-2022 Tencent Cloud. All rights reserved.

Page 18 of 23

User Generated Short Video SDK

generation failure. The SDK provides two APIs: pauseGenerate and resumeGenerate . When theapplication is switched to the background, you can call pauseGenerate to pause video generation. When theapplication returns to the foreground, you can call resumeGenerate to resume video generation.

：

Note

After resumeGenerate is called, the SDK will try to restart the hardware encoder. This may not always
succeed, or the hardware encoder may fail to encode the first few frames after restart. In such cases, the SDK
will throw the TXVideoGenerateListener error event internally, and the video will need to be generated
again.

What should I do if I fail to upload a video?
Status code:

1. Check whether the file is in the local sandbox. To upload a file in the media library, you need to copy it to the local
sandbox first.
2. The error code 1002 indicates that there is an issue with the signature, the timestamp has expired, or the VOD
service is not activated.
3. The error code 1003 indicates that a request parameter is invalid or the format of the file is not supported.

Does the SDK support picture taking?
The UGSV SDK supports photo capturing. You can simply call the snapshot API of the TXUGCRecord classto get an image after the preview starts.

What should I do if the error “Use of undeclared identifier 'TXVideoInfo'” occurs when I
integrate the SDK?
The error indicates that the compiler failed to find the TXVideoInfo class. Please check whether the SDK(frameworks) is imported correctly. For details, see SDK Integration (Xcode).

©2013-2022 Tencent Cloud. All rights reserved.

Page 19 of 23

User Generated Short Video SDK

What should I do if the error “-1generation API?

，Failed to enable encoder” occurs when I call the video

1. Try different devices and see if the problem always occurs.
2. Download the latest version of the demo. If the problem persists, please submit a ticket and send us the completelog.

©2013-2022 Tencent Cloud. All rights reserved.

Page 20 of 23

User Generated Short Video SDK

License：Last updated 2022-06-29 14:44:22

What should I know about license versions?
The UGSV SDK is available in Lite edition and Basic edition. Starting from v4.5, a UGSV license( TXUgcSDK.licence ) is required for the Basic edition. You need to put the license in your project directory andrename it.
Starting from v4.9, you can select whether to package the license into your project. When using the license, you needto call setLicenceURL: and key: to set the license URL and key.

：

Note

Automatic license renewal is supported only since v4.9. It’s not supported in v4.5-4.7. You cannot use newlicenses for versions earlier than v4.9, but you can use legacy licenses for v4.9. Note that you cannot pass innull as the URL or key. Set them to random values.

Can I extend the validity period of a trial license?
A free trial license is valid for 14 days and can be renewed once, making the total trial duration 28 days. After your trial
license expires, please purchase a license. To learn more, submit a ticket or contact sales.

：

Note

If you renew a trial license within the first 14 days, the license will expire 28 days after the time of license
application; if you renew a trial license that has expired once, the renewed license will expire 14 days after
renewal.
For example, if you apply for a trial license at 11:34:55 on May 25, 2022, it will expire 14 days later at
00:00:00 on June 9, 2022.
You can renew the trial license once for free. If you renew it within the first 14 days, it will expire at 00:00:00
on June 23, 2022; if you renew it after the first 14 days, for example, at 22:26:20 on July 3, 2022, it will
expire at 00:00:00 on July 18, 2022.

Can I change the Android package name or iOS bundle ID bound to my trial license?
Yes. Log in to the VOD console, find your trial license, and click Edit to change the information.

Can I change the Android package name or iOS bundle ID bound to an official license?

©2013-2022 Tencent Cloud. All rights reserved.

Page 21 of 23

User Generated Short Video SDK

You cannot change the package name or bundle ID bound to an official license. Before adding a license, make surethat your package name or bundle ID is not already used by another app.

Can I use one license for multiple applications at the same time?
You can bind each license to only one package name and one bundle ID.

How do I know what package name (for Android) or bundle ID (for iOS) to bind to a license?
When binding a license, make sure you enter the same bundle ID or package name as that of the app you launch in
the App Store or Google Play Store.

What should I do if the “license not exist” error occurs when I renew my license?
Go to the UGSV SDK License page of the VOD console.
1. Check whether you are renewing your license as the Admin.
2. If not, contact the Admin to renew the license for you.

What should I do if I fail to add a license?
Make sure that you are adding the license as the Admin.

What should I do if license verification fails?
Check the following:
Whether your license is valid
Whether the package name bound to the license is the same as that of your project
Whether the LicenseUrl of your license uses the HTTPS protocol

：

Note

If the problem persists, reinstall the app or submit a ticket.

If I don’t bind a bundle ID, can I use a license for my Android project?
Yes, you can. A bundle ID is for an iOS project and a package name for an Android project. You can enter a random
value for bundle ID if you don’t use the SDK in an iOS project.

Can a UGSV SDK license purchased by a personal account be used by a business account?
A license can only be used by the account that purchased it, regardless of whether the account is verified as anindividual or corporate entity.

Why can’t I receive notifications about license expiration?

©2013-2022 Tencent Cloud. All rights reserved.

Page 22 of 23

User Generated Short Video SDK

Go to Message Subscription and subscribe to RT-Cube notifications. You can specify how to receive the notifications(for example, via Message Center, Email, or SMS). The system will send you notifications 30 days, 15 days, 7 days,
and 1 day before your UGSV license expires.

©2013-2022 Tencent Cloud. All rights reserved.

Page 23 of 23