All Products
Search
Document Center

:Integrasikan server ApsaraVideo for Short Video

Last Updated:Nov 10, 2025

Server ApsaraVideo for Short Video menangani pertukaran data, pemrosesan logika bisnis, dan manajemen data operasional antara aplikasi ApsaraVideo for Short Video dan ApsaraVideo VOD. Topik ini menjelaskan cara mengintegrasikan server ApsaraVideo for Short Video.

Prasyarat

Prosedur

Unggah kode sumber

  1. Unduh kode sumber untuk server dan konsol manajemen ApsaraVideo for Short Video. Untuk URL unduhan, lihat SDK ApsaraVideo for Short Video.

  2. Di server tempat file kode sumber disimpan, jalankan perintah berikut untuk mengunggah file kode sumber ke server ECS.

    scp <file_kode_sumber> user@<alamat_IP_server_ECS>:<jalur_unggah>

    scp ApsaraVideo_QuVideo_v1.4.0_Server_20191226.zip user@10.0.0.0:/home/user/workspace/

    ApsaraVideo_QuVideo_v1.4.0_Server_20191226.zip adalah file kode sumber. user adalah nama pengguna untuk server ECS. 10.0.0.0 adalah alamat IP server ECS. /home/user/workspace/ adalah jalur unggah.

    Catatan

    Informasi contoh, seperti file kode sumber, nama pengguna server ECS, alamat IP server ECS, dan jalur unggah, hanya sebagai referensi. Ganti informasi contoh tersebut dengan informasi aktual Anda.

  3. Masuk ke server ECS dan ekstrak file kode sumber.

    cd /home/user/workspace

    unzip ApsaraVideo_QuVideo_v1.4.0_Server_20191226.zip

    Catatan

    Jika unzip belum diinstal, jalankan perintah sudo apt install unzip untuk menginstalnya.

Inisialisasi dan konfigurasi database

Catatan

Anda dapat membangun perpustakaan musik sendiri.

  • Struktur data dari data yang dikembalikan harus sama dengan struktur data yang digunakan untuk mengambil daftar musik dari layanan Alibaba Cloud. Jika tidak, permintaan akan gagal.

  • Jika Anda menggunakan struktur data kustom, Anda harus menyesuaikan logika kode di lapisan demo.

  1. Buat database bernama voddemo.

    cd /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/sql

    mysqladmin -u root -p create voddemo

  2. Buat tabel dan akun administrator.

    mysql -u root -p voddemo < ./appserver_create_table.sql

    Catatan

    Skrip appserver_create_table.sql tidak hanya membuat tabel tetapi juga menggunakan pernyataan INSERT untuk membuat akun administrator konsol. Nama pengguna adalah admin dan kata sandinya adalah 123456. Setelah Anda mengintegrasikan konsol, Anda dapat menggunakan akun ini untuk masuk ke konsol demo sebagai administrator.

  3. Ubah aturan case sensitivity database.

    1. Edit file konfigurasi database.

      sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

    2. Tekan tombol I dan tambahkan lower_case_table_names=1 di akhir file.

    3. Tekan tombol Esc dan masukkan :wq! untuk menyimpan file dan keluar.

    4. Mulai ulang database untuk menyelesaikan konfigurasi.

      sudo service mysql restart

  4. Konfigurasi alamat database.

    1. Edit file konfigurasi kode sumber.

      vim /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/resources/application.properties

    2. Tekan tombol I dan ubah file sebagai berikut.

      spring.datasource.url = jdbc:mysql://Alamat IP database (127.0.0.1):3306/Nama database (voddemo)?useSSL=false&useUnicode=true&characterEncoding=UTF-8
      spring.datasource.username = Nama pengguna login database, misalnya, admin
      spring.datasource.password = Kata sandi login database
      Catatan
      • Jika database dan server sama-sama berjalan di instans ECS, Anda dapat mengatur alamat IP database menjadi 127.0.0.1. Jika tidak, gunakan alamat IP mesin tempat database berada.

      • Database yang Anda buat selama inisialisasi bernama voddemo.

    3. Tekan tombol Esc dan masukkan :wq! untuk menyimpan file dan keluar.

Konfigurasi peran RAM

  1. Langkah-langkah umumnya sama seperti yang dijelaskan dalam Buat peran. Setelah Anda menyelesaikan Langkah 6 dalam topik tersebut untuk memilih izin, lakukan langkah-langkah berikut. Anda dapat menentukan nama peran kustom. Topik ini menggunakan alivc-demo-role sebagai contoh.

  2. Di halaman Role Management, klik nama peran RAM yang Anda buat, seperti alivc-demo-role, untuk menanyakan Nama Sumber Daya Alibaba Cloud (ARN)-nya. Kami menyarankan untuk mencatat nama peran RAM dan ARN untuk digunakan nanti.

  3. Di halaman Role Management, klik nama peran RAM Anda, seperti alivc-demo-role. Klik tab Trust Policy lalu klik Edit Trust Policy. Ubah kebijakan kepercayaan sebagai berikut:

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole", 
                "Effect": "Allow", 
                "Principal": {
                    "Service": [
                        "ecs.aliyuncs.com"
                    ]
                }
            }
        ], 
        "Version": "1"
    }

    Ini menunjukkan bahwa peran tersebut adalah peran layanan dan dapat diasumsikan oleh layanan Alibaba Cloud tepercaya (ECS). Jika Anda tidak mengubah kebijakan kepercayaan, peran RAM tidak dapat disambungkan ke instans ECS.

    Atur parameter ID instans menjadi ["ID Instans"].

  4. Sambungkan peran RAM ke instans ECS.

    Panggil operasi API AttachInstanceRamRole ECS di OpenAPI Explorer. Untuk informasi selengkapnya, lihat OpenAPI Explorer.

    Catatan
    • RegionId: ID wilayah tempat instans ECS berada, seperti Tiongkok (Shanghai). Anda dapat menanyakan ID wilayah di Konsol ECS.

    • RamRoleName: Nama peran RAM. Dalam contoh ini, namanya adalah alivc-demo-role.

    • InstanceIds: ID instans ECS sisi server tempat Anda ingin menyambungkan peran RAM. Anda dapat menanyakan ID instans di Konsol ECS. ID harus dalam format array, seperti ["i-bp135jrddxxf9tgo****"].

    Klik Invoke. Jika panggilan berhasil, pesan sukses akan ditampilkan di hasil debug di sebelah kanan.

  5. Jalankan perintah berikut di terminal ECS untuk memeriksa apakah peran RAM terkait dengan instans ECS.

    curl http://100.100.100.200/latest/meta-data/ram/security-credentials/alivc-demo-role

    Jika informasi berikut ditampilkan, otorisasi sementara dari Layanan Token Keamanan (STS) dikembalikan, yang menunjukkan bahwa peran RAM terkait dengan instans ECS.

    {
    "AccessKeyId" : "STS.XXXXXXXXXXXX",
    "AccessKeySecret" : "XXXXXXXXXXXXXXXX",
    "Expiration" : "2020-11-20T14:33:31Z",
    "SecurityToken" : "XXXXXXXXXXXXXXXXXXXXXX",
    "LastUpdated" : "2020-11-20T08:33:31Z",
    "Code" : "Success"
    }
    Catatan

    Anda hanya dapat menyambungkan satu peran RAM ke sebuah instans ECS. Untuk mengubah peran RAM, panggil operasi DetachInstanceRamRole di OpenAPI Explorer untuk melepaskan peran RAM dari instans ECS. Kemudian, panggil AttachInstanceRamRole untuk menyambungkan peran RAM baru.

  6. Konfigurasi informasi RAM.

    1. Edit file konfigurasi kode sumber.

      vim /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/resources/application.properties

    2. Tekan tombol I dan ubah file seperti pada contoh berikut.

      roleArn = XXXXXXX:role/alivc-demo-role
      roleSessionName = vod-role
      roleName = alivc-demo-role

      server_config_03

      Catatan
      • REGION_CN_HANGZHOU menunjukkan wilayah tempat layanan ApsaraVideo VOD berada, seperti cn-shanghai untuk Tiongkok (Shanghai).

      • roleArn menunjukkan ARN yang diambil dari konsol RAM.

      • roleSessionName menunjukkan nama sesi token sementara. Anda dapat menentukan nama kustom.

      • roleName menunjukkan nama peran RAM yang diambil dari konsol RAM. Dalam contoh ini, namanya adalah alivc-demo-role.

    3. Tekan tombol Esc dan masukkan :wq! untuk menyimpan file dan keluar.

  7. Konfigurasi ApsaraVideo VOD.

    1. Edit file konfigurasi kode sumber.

      vim /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/resources/application.properties

    2. Tekan tombol I dan ubah file sebagai berikut.

      server_config_04

      Nama Parameter

      Wajib

      Deskripsi

      TEMPLATEGROUP_ID

      Ya

      ID kelompok template transkoding. Untuk informasi selengkapnya, lihat Kelompok Template Transkoding.

      LONGVIDEO_TRANSCODE_TEMPLATEGROUP_ID

      Tidak

      Kelompok template transkoding yang digunakan untuk fitur publikasi-sebelum-tinjauan untuk video panjang.

      TAB_TEMPLATEGROUP_ID

      Tidak

      ID kelompok template transkoding Narrowband HD. Konfigurasikan parameter ini untuk merekomendasikan video Narrowband HD di konsol. Jika parameter ini tidak ditentukan, terjadi kesalahan saat Anda merekomendasikan video Narrowband HD.

      DOMAIN_NAME

      Ya

      Alamat server ECS. Dalam contoh ini, alamatnya adalah http://10.10.10.101:8080/.

      AVATAR_DOMAIN_NAME

      Tidak

      Alamat sumber daya gambar profil, yaitu alamat sumber daya statis server ECS. Dalam contoh ini, alamatnya adalah http://10.10.10.101:8080/resource/.

      AVATAR_URL

      Tidak

      Daftar nama file gambar profil, seperti 1.png,2.png.

      Catatan

      Letakkan file gambar profil yang sesuai 1.png dan 2.png di direktori /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/webapp/resource. Jika layanan gambar profil tidak dikonfigurasi, pengguna klien seluler tidak akan memiliki gambar profil. Hal ini tidak memengaruhi fitur lainnya.

      VOD_REGIONID

      Ya

      Wilayah tempat layanan VOD berada. Dalam contoh ini, wilayahnya adalah cn-shanghai.

      policy

      Ya

      Batasan izin tambahan yang ditambahkan saat peran diasumsikan. Untuk informasi selengkapnya, lihat Gunakan kebijakan RAM untuk otorisasi kustom.

      CALLBACK_PRIVETEKEY

      Ya

      Kunci autentikasi dalam konfigurasi autentikasi callback. Untuk informasi selengkapnya, lihat Pengaturan Callback.

      CALLBACK_NAME

      Ya

      URL callback, yaitu http://<Alamat IP Publik instans ECS>:8080/vodcallback/callback. Dalam contoh ini, URL-nya adalah http://10.10.10.101:8080/vodcallback/callback.

      AUDIT_SETTINGS_FLAG

      Ya

      Pengaturan tinjauan. Nilai default adalah on. Nilai yang valid:

      • on: review-before-publish.

      • off: publikasi-sebelum-tinjauan.

      package_name

      Ya

      Nama paket yang valid di interceptor. Pisahkan beberapa nama paket dengan koma. Nilai default adalah IOS,ANDROID,TEST,com.aliyun.apsara.svideo,com.aliyun.apsaravideo,com.aliyun.solution.longvideo.

      Catatan
      • com.aliyun.apsara.svideo adalah nama paket klien Android dalam contoh ini.

      • Jika Identifier Bundle untuk klien iOS sudah terdaftar, klien gagal berjalan. Anda harus menyesuaikan Identifier Bundle, seperti com.<Nama Perusahaan>.<Nama Proyek>, menggunakannya untuk menandatangani klien iOS, dan menambahkannya ke parameter package_name untuk memastikan akses yang valid.

      • Interceptor hanya mengizinkan aplikasi seluler dengan nama paket yang valid untuk mengakses server. Jika tidak, permintaan dari klien seluler gagal. Misalnya, pesan kesalahan "Permintaan gagal: dilarang (403)" dikembalikan.

    3. Tekan tombol Esc, masukkan :wq!, lalu tekan Enter untuk menyimpan perubahan dan keluar.

  8. Jalankan layanan.

    1. Kompilasi dan kemas.

      cd /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226

      mvn clean package -Dmaven.test.skip=true

      Catatan
      • Jika Maven belum diinstal, jalankan apt install maven untuk menginstalnya.

      • Waktu yang diperlukan untuk pengemasan tergantung pada bandwidth dan kinerja server. Dalam contoh ini, pengemasan pertama memakan waktu sekitar 30 menit.

      Setelah pengemasan selesai, file sdk-api-0.0.1-SNAPSHOT.jar dihasilkan di direktori /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/target/.

    2. Sebarkan paket JAR dan mulai layanan.

      cd /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/target

      nohup java -jar sdk-api-0.0.1-SNAPSHOT.jar &

      Catatan
      • Saat perintah dijalankan, prompt nohup muncul. Tekan Enter untuk menjalankan program di latar belakang.

      • Setelah perintah dijalankan, file log nohup.out dihasilkan di direktori saat ini. Jalankan perintah cat nohup.out untuk melihat log. Jika log berisi start success, layanan telah berhasil dimulai.

      • Jika instans ECS Anda memiliki memori rendah dan Anda perlu mengemas ulang serta menyebarkan kode sumber sisi server, jalankan perintah jps untuk menemukan ID proses (PID) program JAR saat ini. Kemudian, jalankan kill -9 <PID> untuk menghentikan proses. Anda kemudian dapat mengemas ulang dan menyebarkan kode sumber. Jika tidak, proses pengemasan mungkin gagal karena memori tidak mencukupi.