Bu konuda, video filigranı modülünün API işlemlerinin nasıl kullanılacağına ilişkin örnekler sunulmaktadır. Söz konusu API işlemleri ApsaraVideo VOD SDK for Python içinde kapsüllenmiştir. Filigran eklemek, değiştirmek, silmek ve sorgulamak için bu API işlemlerini çağırabilirsiniz. Ayrıca bir filigranı varsayılan olarak belirtebilirsiniz.
Kullanım notları
Bu konudaki tüm örneklerde istemci örneğini başlatmak için bir AccessKey çifti kullanılır.
İstek ve yanıt parametrelerinin ayrıntıları için Alibaba Cloud OpenAPI Explorer adresini ziyaret edin ve API Documentations sekmesini açın.
Diğer API işlemlerine ait SDK örnekleri için Alibaba Cloud OpenAPI Explorer adresini ziyaret edin. Parameters sekmesinde parametreleri belirtin ve çağrıyı başlatın. Ardından kodu görüntüleyip indirmek üzere SDK Sample Code sekmesinden SDK sürümünü ve dili seçin.
Bu konudaki örnekler SDK V1.0 kullanır. V2.0 örnekleri için OpenAPI Explorer'da doğru SDK sürümünü seçin.
İstemciyi başlatma
SDK'yı kullanmadan önce bir istemci başlatın. Daha fazla bilgi için bkz. Başlatma.
Filigran ekleme
Filigran eklemek için AddWatermark işlemini çağırabilirsiniz.
OpenAPI Portal: veya AddWatermark.
Örnek kod:
Dosya yükleme URL'si ve kimlik bilgisi hakkında daha fazla bilgi için bkz. CreateUploadAttachedMedia.
Bir Object Storage Service (OSS) paketine filigran dosyasının nasıl yükleneceği hakkında daha fazla bilgi için bkz. OSS nesnelerini yükleme.
from aliyunsdkvod.request.v20170321 import AddWatermarkRequest
def add_watermark(clt):
request = AddWatermarkRequest.AddWatermarkRequest()
request.set_Name('watermark-sample')
# If you want to use an image watermark, the image must be stored in an OSS bucket and the image file and source video file must be stored in the same region, such as China (Shanghai).
# Example of FileUrl: http://example-bucket-****.oss-cn-shanghai.aliyuncs.com/watermark/test-****.png.
request.set_FileUrl('<your File URL>')
# Example on how to configure a text watermark:
request.set_Type('Text')
# Specify the text content, font, size, color, transparency, and other configurations.
watermarkConfig = {'Content': 'watermark Text', 'FontName': 'SimSun', 'FontSize': 25, 'FontColor': 'Black',
'FontAlpha': 0.2, 'BorderColor': 'White', 'BorderWidth': 1, 'Top': 20, 'Left': 15}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
# Example on how to configure an image watermark:
request.set_Type('Image')
# The start time and duration of the watermark.
timeline = {'Start': 2, 'Duration': 'ToEND'}
# The position configurations of the watermark.
watermarkConfig = {'Dx': 8, 'Dy': 8, 'Width': 55, 'Height': 55, 'ReferPos': 'BottomRight', 'Timeline': timeline}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
request.set_accept_format('JSON')
response = json.loads(clt.do_action_with_exception(request))
return response
try:
clt = init_vod_client()
watermark = add_watermark(clt)
print(json.dumps(watermark, ensure_ascii=False, indent=4))
except Exception as e:
print(e)
print(traceback.format_exc())
Filigranı değiştirme
Filigranı değiştirmek için UpdateWatermark işlemini çağırabilirsiniz.
OpenAPI Portal: | UpdateWatermark.
Örnek kod:
Görüntü filigranının URL'sini değiştirmek için bu işlemi çağıramazsınız. Görüntü filigranının URL'sini değiştirmek istiyorsanız yeni bir filigran oluşturun.
from aliyunsdkvod.request.v20170321 import UpdateWatermarkRequest
def update_watermark(clt):
request = UpdateWatermarkRequest.UpdateWatermarkRequest()
request.set_WatermarkId('<watermarkId>')
request.set_Name('new-watermark-name')
# Example on how to modify a text watermark:
# Specify the text content, font, size, color, transparency, and other configurations.
watermarkConfig = {'Content': 'watermark Text', 'FontName': 'SimSun', 'FontSize': 25, 'FontColor': 'Black',
'FontAlpha': 0.2, 'BorderColor': 'White', 'BorderWidth': 1, 'Top': 20, 'Left': 15}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
# Example on how to modify an image watermark:
# The start time and duration of the watermark.
timeline = {'Start': 2, 'Duration': 'ToEND'}
# The position configurations of the watermark.
watermarkConfig = {'Dx': 8, 'Dy': 8, 'Width': 55, 'Height': 55, 'ReferPos': 'BottomRight', 'Timeline': timeline}
request.set_WatermarkConfig(json.dumps(watermarkConfig))
"""
request.set_accept_format('JSON')
response = json.loads(clt.do_action_with_exception(request))
return response
try:
clt = init_vod_client()
watermark = update_watermark(clt)
print(json.dumps(watermark, ensure_ascii=False, indent=4))
except Exception as e:
print(e)
print(traceback.format_exc())
Filigranı silme
Filigranı silmek için DeleteWatermark işlemini çağırabilirsiniz.
OpenAPI Portal: / DeleteWatermark.
Filigranları sorgulama
-
Tek bir filigranın ayrıntılarını sorgulamak için GetWatermark işlemini çağırabilirsiniz.
OpenAPI Portal: GetWatermark.
-
Birden çok filigranı sorgulamak için ListWatermark işlemini çağırabilirsiniz.
OpenAPI Portal: ListWatermark.
Bir filigranı varsayılan olarak belirtme
Bir filigranı varsayılan olarak belirtmek için SetDefaultWatermark işlemini çağırabilirsiniz.
OpenAPI Portal: SetDefaultWatermark.