All Products
Search
Document Center

Intelligent Media Management:Transkoding video

Last Updated:Feb 14, 2026

Topik ini menjelaskan cara melakukan transkoding video menggunakan operasi API media transcoding di Intelligent Media Management (IMM).

Deskripsi fitur

Transkoding video mengonversi aliran video yang telah dikompresi dan diencode menjadi aliran video lain dengan mengubah parameter seperti format video, format kontainer, resolusi, laju frame, dan bitrate. Tujuannya adalah menyesuaikan video agar dapat diputar di berbagai perangkat dan platform sekaligus mengurangi ukuran file untuk mengoptimalkan efisiensi transmisi.

image

Kasus penggunaan

  • Kompatibilitas multi-perangkat: Untuk memastikan pemutaran lancar di berbagai perangkat seperti ponsel, tablet, komputer, dan smart TV, Anda dapat menggunakan transkoding video guna mengonversi video ke format yang sesuai dengan masing-masing perangkat.

  • Pemutaran media streaming: Layanan media streaming perlu melakukan transkoding video ke beberapa format dan bitrate agar dapat menyesuaikan kualitas pemutaran secara dinamis berdasarkan kondisi jaringan pengguna, sehingga meningkatkan pengalaman menonton.

  • Kompresi video: Anda dapat melakukan transkoding video untuk mengurangi ukuran file tanpa mengorbankan kualitas secara signifikan, sehingga memudahkan penyimpanan dan transmisi—terutama saat bandwidth jaringan terbatas.

Format audio dan video yang didukung

Kategori

Format

Audio

Format audio utama, seperti AAC, MP3, WAV, FLAC, WMA, AC3, dan Opus.

Video

Format video utama, seperti MP4, MPEG-TS, MKV, MOV, AVI, FLV, M3U8, WebM, WMV, RM, dan VOB.

Cara menggunakan

Prasyarat

  • Pasangan Kunci Akses telah dibuat dan diperoleh. Untuk informasi selengkapnya, lihat Create an AccessKey pair.

  • Object Storage Service (OSS) telah diaktifkan dan bucket telah dibuat. Untuk informasi selengkapnya, lihat Create a bucket.

  • IMM telah diaktifkan. Untuk informasi selengkapnya, lihat Activate IMM.

  • Proyek telah dibuat di Konsol IMM. Untuk informasi selengkapnya, lihat Create a project.

    Catatan
    • Anda dapat memanggil operasi CreateProject untuk membuat proyek. Untuk informasi selengkapnya, lihat CreateProject.

    • Anda dapat memanggil operasi ListProjects untuk menampilkan informasi semua proyek dalam suatu wilayah.

Langkah 1: Unggah file

Gunakan Konsol OSS untuk mengunggah file media ke bucket yang berada di wilayah yang sama dengan proyek IMM Anda.

image

Langkah 2: Gunakan IMM untuk melakukan transkoding video

Panggil operasi CreateMediaConvertTask untuk membuat tugas transkoding media.

Deskripsi parameter

Contoh berikut menggunakan proyek IMM test-project untuk melakukan transkoding file video oss://test-bucket/video-demo/Shushan Commercial Building.mov.

Untuk informasi lebih lanjut mengenai fitur dan penggunaan ApsaraVideo Media Processing, lihat Media transcoding.

Catatan
  • Anda dapat memproses file video dengan memanggil operasi API media transcoding di OpenAPI Portal dan merujuk pada contoh kode kit pengembangan perangkat lunak (SDK).

  • Untuk kompatibilitas pemutaran terbaik, transkode video ke format MP4 atau HTTP Live Streaming (HLS). Atur Codec video ke h264, PixelFormat ke yuv420p, Codec audio ke aac, dan Channel ke 2.

  • Proses transkoding pasti menurunkan kualitas video. Anda dapat menyesuaikan kualitas video hasil transkoding menggunakan parameter Bitrate dan CRF. Secara umum, kualitas yang lebih tinggi menghasilkan ukuran file yang lebih besar.

  • H.265 memiliki efisiensi kompresi yang lebih baik daripada H.264. Untuk kualitas video yang sama, H.265 biasanya mengurangi biaya storage space dan bandwidth lebih dari 30%. Namun, H.265 memerlukan pemutar yang kompatibel.

  • Jika Anda tidak mengatur parameter Codec, nilai default-nya adalah copy. Nilai ini berarti aliran video disalin langsung ke file output. Parameter lain di bawah TranscodeVideo kemudian tidak berlaku. Nilai copy tidak digunakan untuk transkoding video, melainkan biasanya digunakan untuk konversi format kontainer.

  • Anda dapat menggunakan variabel untuk mengatur path file output untuk URI di Targets. Untuk informasi selengkapnya, lihat TargetURI template.

Transkode ke MP4

Konversi video ke format MP4 tanpa mengubah parameter seperti resolusi dan laju frame.

image

Informasi transkoding

  • Format video: MOV ke MP4

  • Konfigurasi video: Atur CRF ke 24. Pertahankan resolusi, laju frame, dan parameter video asli lainnya.

  • Konfigurasi audio: Format AAC, bitrate 96 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building.mp4

  • Notifikasi penyelesaian transkoding: Kirim pesan MNS ke topik MNS "test-mns-topic".

Untuk contoh SDK, lihat OpenAPI Portal. Parameter dalam contoh tersebut telah diisi otomatis. Anda dapat memodifikasi parameter sesuai kebutuhan sebelum menguji kode.

Parameter permintaan

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 96000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "mp4",
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mp4",
      "Video": {
        "TranscodeVideo": {
          "CRF": 24,
          "Codec": "h264",
          "PixelFormat": "yuv420p"
        }
      }
    }
  ]
}

Transkode ke video HLS dengan resolusi 1920x1080 pada 30 fps

Lakukan transkoding video ke video H.265 dengan resolusi 1920x1080 pada 30 frame per detik (fps). Gunakan format HLS untuk segmentasi video. Jika video sumber memiliki resolusi atau laju frame yang lebih rendah, parameter asli akan digunakan.

image

Informasi transkoding

  • Format video: MOV ke M3U8

  • Segmentasi: Format HLS, durasi segmen 10 detik

  • Konfigurasi video: Format encoding H.265, CRF diatur ke 24, resolusi 1920x1080, dan laju frame 30.

  • Konfigurasi audio: Format AAC, bitrate 128 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building.m3u8, oss://test-bucket/video-demo/Shushan Commercial Building-%d.ts

  • Notifikasi penyelesaian transkoding: Kirim pesan MNS ke topik MNS "test-mns-topic".

Untuk contoh SDK, lihat OpenAPI Portal. Parameter dalam contoh tersebut telah diisi otomatis. Anda dapat memodifikasi parameter sesuai kebutuhan sebelum menguji kode.

Parameter permintaan

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 128000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "ts",
      "Segment": {
        "Duration": 10,
        "Format": "hls"
      },
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}",
      "Video": {
        "TranscodeVideo": {
          "AdaptiveResolutionDirection": true,
          "CRF": 24,
          "Codec": "h265",
          "FrameRate": 30,
          "FrameRateOption": "adaptive",
          "PixelFormat": "yuv420p",
          "Resolution": "1920x1080",
          "ResolutionOption": "adaptive",
          "ScaleType": "fit"
        }
      }
    }
  ]
}

Transkode ke video HLS dengan resolusi 1080p, 720p, dan 480p

Lakukan transkoding video menjadi tiga video terpisah dengan resolusi 1080p, 720p, dan 480p. Format HLS digunakan untuk segmentasi.

image

Informasi transkoding

Sebelum Transcoding

  • Format video: MOV

  • Format encoding video: H.264

  • Resolusi: 3840x2160

  • Laju frame: 30

Setelah Transkoding

Notifikasi penyelesaian transkoding: Kirim pesan MNS ke topik MNS "test-mns-topic".

Video 1

  • Format video: M3U8

  • Segmentasi: Format HLS, durasi segmen 10 detik

  • Konfigurasi video: Format encoding H.264, CRF diatur ke 25, resolusi 1920x1080, dan laju frame 30.

  • Konfigurasi audio: Format AAC, bitrate 256 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building-x1080.m3u8, oss://test-bucket/video-demo/Shushan Commercial Building-x1080-%d.ts

Video 2

  • Format video: M3U8

  • Segmentasi: Format HLS, durasi segmen 10 detik

  • Konfigurasi video: Format encoding H.264, CRF diatur ke 26, resolusi 1280x720, dan laju frame 30.

  • Konfigurasi audio: Format AAC, bitrate 128 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building-x720.m3u8, oss://test-bucket/video-demo/Shushan Commercial Building-x720-%d.ts

Video 3

  • Format video: M3U8

  • Segmentasi: Format HLS, durasi segmen 10 detik

  • Konfigurasi video: Format encoding H.264, CRF diatur ke 28, resolusi 854x480, dan laju frame 25.

  • Konfigurasi audio: Format AAC, bitrate 96 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building-x480.m3u8, oss://test-bucket/video-demo/Shushan Commercial Building-x480-%d.ts

Untuk contoh SDK, lihat OpenAPI Portal. Parameter dalam contoh tersebut telah diisi otomatis. Anda dapat memodifikasi parameter sesuai kebutuhan sebelum menguji kode.

Parameter permintaan

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 256000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "ts",
      "Segment": {
        "Duration": 10,
        "Format": "hls"
      },
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building-{resolution}.{autoext}",
      "Video": {
        "TranscodeVideo": {
          "AdaptiveResolutionDirection": true,
          "CRF": 25,
          "Codec": "h264",
          "FrameRate": 30,
          "FrameRateOption": "adaptive",
          "PixelFormat": "yuv420p",
          "Resolution": "x1080",
          "ResolutionOption": "adaptive",
          "ScaleType": "fit"
        }
      }
    },
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 128000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "ts",
      "Segment": {
        "Duration": 10,
        "Format": "hls"
      },
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building-{resolution}.{autoext}",
      "Video": {
        "TranscodeVideo": {
          "AdaptiveResolutionDirection": true,
          "CRF": 26,
          "Codec": "h264",
          "FrameRate": 30,
          "FrameRateOption": "adaptive",
          "PixelFormat": "yuv420p",
          "Resolution": "x720",
          "ResolutionOption": "adaptive",
          "ScaleType": "fit"
        }
      }
    },
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 96000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "ts",
      "Segment": {
        "Duration": 10,
        "Format": "hls"
      },
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building-{resolution}.{autoext}",
      "Video": {
        "TranscodeVideo": {
          "AdaptiveResolutionDirection": true,
          "CRF": 28,
          "Codec": "h264",
          "FrameRate": 25,
          "FrameRateOption": "adaptive",
          "PixelFormat": "yuv420p",
          "Resolution": "x480",
          "ResolutionOption": "adaptive",
          "ScaleType": "fit"
        }
      }
    }
  ]
}

Transkode ke MP4 dan tambahkan Watermark

Lakukan transkoding video ke format MP4. Tambahkan watermark logo di pojok kiri atas dan watermark teks di pojok kanan bawah.

image

Informasi transkoding

  • Format video: MOV ke MP4

  • Konfigurasi video: Video diencode dalam format H.264 dengan CRF diatur ke 25. Resolusi dan laju frame asli dipertahankan. Watermark gambar logo Alibaba Cloud ditambahkan di pojok kiri atas dan watermark teks "Intelligent Media Management" ditambahkan di pojok kanan bawah.

  • Konfigurasi audio: Audio diencode dalam format AAC dengan bitrate 256 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building.mp4

  • Notifikasi penyelesaian transkoding: Pesan MNS dikirim ke topik MNS "test-mns-topic".

Untuk contoh kode, lihat OpenAPI Portal. Parameter dalam contoh tersebut telah diisi otomatis. Anda dapat memodifikasi parameter sesuai kebutuhan sebelum menguji kode.

Parameter permintaan

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 256000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "mp4",
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}",
      "Video": {
        "FilterVideo": {
          "Delogos": [],
          "Watermarks": [
            {
              "Dx": 0.05,
              "Dy": 0.1,
              "ReferPos": "topleft",
              "Type": "file",
              "URI": "oss://test-bucket/video-demo/aliyun.png",
              "Width": 0.1
            },
            {
              "Content": "Intelligent Media Management",
              "Dx": 0.05,
              "Dy": 0.1,
              "FontColor": "#FFFFFF",
              "FontSize": 100,
              "ReferPos": "bottomright",
              "Type": "text"
            }
          ]
        },
        "TranscodeVideo": {
          "CRF": 25,
          "Codec": "h264",
          "PixelFormat": "yuv420p"
        }
      }
    }
  ]
}

Potong segmen video dan transkode ke format FLV

Potong segmen dari video sumber, transkode ke format FLV, dan sesuaikan bitrate menjadi 1 Mbps.

image

Informasi Transkoding

  • Format video: MOV ke FLV

  • Waktu mulai potong: 5 detik

  • Durasi potong: 10 detik

  • Konfigurasi video: Bitrate 1 Mbps. Resolusi, laju frame, dan parameter video lainnya dipertahankan.

  • Konfigurasi audio: Format AAC, bitrate 96 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building.flv

  • Notifikasi penyelesaian transkoding: Pesan MNS dikirim ke topik MNS "test-mns-topic".

Untuk contoh pemanggilan, lihat OpenAPI Portal. Parameter dalam contoh tersebut telah diisi otomatis. Anda dapat memodifikasi parameter sesuai kebutuhan sebelum menguji kode.

Parameter permintaan

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "Duration": 10,
      "StartTime": 5,
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 96000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "flv",
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}",
      "Video": {
        "TranscodeVideo": {
          "Bitrate": 1000000,
          "Codec": "h264",
          "PixelFormat": "yuv420p"
        }
      }
    }
  ]
}

Konversi format kontainer video ke MP4

Konversi format kontainer video ke MP4. Konversi format kontainer tidak melakukan re-encode data audio atau video, tetapi dapat menyebabkan masalah kompatibilitas pemutaran.

Informasi transkoding

  • Format video: MOV ke MP4

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building.mp4

  • Notifikasi penyelesaian transkoding: Mengirim pesan MNS ke topik MNS "test-mns-topic".

Untuk contoh pemanggilan API, lihat OpenAPI Portal. Parameter dalam contoh tersebut telah diisi otomatis. Anda dapat memodifikasi parameter sesuai kebutuhan sebelum menguji kode.

Parameter permintaan

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mov"
    }
  ],
  "Targets": [
    {
      "Container": "mp4",
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.{autoext}"
    }
  ]
}

Area watermark mosaik pada video

Buat area watermark logo di pojok kiri atas dan area watermark teks di pojok kanan bawah video menjadi mosaic.

image

Informasi transkoding

  • Path video input: oss://test-bucket/video-demo/Shushan Commercial Building.mp4

  • Konfigurasi video: Format encoding H.264 dengan CRF diatur ke 24. Resolusi dan laju frame asli dipertahankan. Efek mosaic diterapkan pada area logo di pojok kiri atas dan area watermark teks di pojok kanan bawah.

  • Konfigurasi audio: Format AAC, bitrate 96 kbit/s, dua saluran suara, dan laju sampel 44,1 kHz.

  • Path video output: oss://test-bucket/video-demo/Shushan Commercial Building-mosaic.mp4

  • Notifikasi penyelesaian transkoding: Pesan MNS dikirim ke topik MNS "test-mns-topic".

Untuk contoh kode, lihat OpenAPI Portal. Parameter dalam contoh tersebut telah diisi otomatis. Anda dapat memodifikasi parameter sesuai kebutuhan sebelum menguji kode.

Parameter permintaan

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building.mp4"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 96000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "mp4",
      "URI": "oss://test-bucket/video-demo/Shushan Commercial Building-mosaic.{autoext}",
      "Video": {
        "FilterVideo": {
          "Delogos": [
            {
              "Dx": 0.05,
              "Dy": 0.1,
              "Height": 0.1,
              "ReferPos": "topleft",
              "Width": 0.1
            },
            {
              "Dx": 0.05,
              "Dy": 0.1,
              "Height": 100,
              "ReferPos": "bottomright",
              "Width": 600
            }
          ]
        },
        "TranscodeVideo": {
          "CRF": 24,
          "Codec": "h264",
          "PixelFormat": "yuv420p"
        }
      }
    }
  ]
}