全部产品
Search
文档中心

Intelligent Media Management:Transkoding video

更新时间:Jul 06, 2025

Topik ini menjelaskan cara mentranskode video menggunakan operasi CreateMediaConvertTask dari Intelligent Media Management (IMM).

Deskripsi fitur

Transkoding video adalah proses mengonversi aliran video dari satu format terkompresi dan terenkripsi ke format lain. Proses ini melibatkan penyesuaian parameter seperti format video, kontainer, resolusi, dan bitrate untuk memastikan kompatibilitas dengan berbagai perangkat dan platform serta mengurangi ukuran file guna mempercepat transmisi.

image

Skenario

  • Kompatibilitas Multi-Perangkat: Untuk memastikan pemutaran yang lancar di berbagai perangkat seperti ponsel, tablet, komputer, dan smart TV, Anda dapat menggunakan transkoding video untuk mengonversi video ke format spesifik perangkat.

  • Pemutaran Media Streaming: Layanan media streaming perlu mentranskode video ke berbagai format dan bitrate untuk penyesuaian dinamis berdasarkan kondisi jaringan guna meningkatkan pengalaman menonton.

  • Kompresi Video: Anda dapat mentranskode video untuk mengurangi ukuran filenya tanpa memengaruhi kualitasnya. Hal ini memudahkan penyimpanan dan transmisi, terutama ketika lebar pita 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.

Prosedur

Prasyarat

  • Sebuah pasangan AccessKey telah dibuat dan diperoleh. Untuk informasi lebih lanjut, lihat Buat Pasangan AccessKey.

  • Object Storage Service (OSS) telah diaktifkan dan sebuah bucket telah dibuat. Untuk informasi lebih lanjut, lihat Buat Bucket.

  • IMM telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan IMM.

  • Sebuah proyek telah dibuat di konsol IMM. Untuk informasi lebih lanjut, lihat Buat Proyek.

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

    • Anda dapat memanggil operasi ListProjects untuk mencantumkan informasi semua proyek di 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 mentranskode video

Panggil operasi CreateMediaConvertTask untuk membuat tugas transkoding media.

Deskripsi parameter

Dalam contoh berikut, sebuah proyek IMM bernama test-project digunakan, dan sebuah video dengan nama file oss://test-bucket/video-demo/Shushan Commercial Building.mov ditranskode.

Untuk informasi lebih lanjut tentang fitur pemrosesan media dan metode penggunaannya, lihat Transkoding Media.

Catatan
  • Anda dapat memproses file video dengan memanggil operasi CreateMediaConvertTask dan merujuk kode SDK di OpenAPI Explorer.

  • Untuk mencapai kompatibilitas pemutaran terbaik, disarankan mentranskode video ke format MP4 atau HTTP Live Streaming (HLS) dan mengatur parameter Codec video ke h264, PixelFormat ke yuv420p, Codec audio ke aac, serta Channel ke 2.

  • Proses transkoding menurunkan kualitas gambar video. Anda dapat menggunakan parameter Bitrate dan CRF untuk menyesuaikan kualitas gambar video yang ditranskode. Secara umum, kualitas gambar yang lebih tinggi berarti ukuran file yang lebih besar.

  • H.265 memberikan efisiensi kompresi yang lebih tinggi dibandingkan H.264. Dengan kualitas gambar video yang sama, H.265 biasanya menghemat lebih dari 30% ruang penyimpanan dan biaya bandwidth dibandingkan H.264. Kelemahan H.265 adalah harus digunakan dengan pemain yang kompatibel.

  • Jika Anda membiarkan parameter Codec kosong, nilai default "copy" akan digunakan. Nilai ini menentukan bahwa aliran video yang diproses langsung disalin ke file keluaran. Jika Anda mengatur parameter Codec ke "copy", parameter lainnya dalam TranscodeVideo menjadi tidak valid. Anda tidak dapat menggunakan "copy" dalam transkoding video. Biasanya, ini digunakan dalam konversi format kontainer.

  • Disarankan menggunakan variabel untuk mengonfigurasi jalur file keluaran dalam nilai parameter URI di Targets. Untuk informasi lebih lanjut, lihat Template TargetURI.

Transkode video ke format MP4

Berikut ini adalah contoh cara mengonversi video ke format MP4 tanpa mengubah parameter input video tertentu, seperti resolusi dan frame rate.

image

Informasi Transkoding

  • Format video: dari MOV ke MP4.

  • Konfigurasi video: nilai Constant Rate Factor (CRF) 24, dan parameter input video tertentu dipertahankan, seperti resolusi dan frame rate.

  • Konfigurasi audio: format Advanced Audio Coding (AAC), bitrate 96 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

  • Notifikasi Penyelesaian Transkoding: pesan Simple Message Queue (sebelumnya MNS) (SMQ), yang dikirim ke topik SMQ bernama "test-mns-topic".

Untuk informasi lebih lanjut tentang contoh SDK, kunjungi tab Kode Contoh SDK di OpenAPI Explorer. Parameter dalam contoh secara otomatis dikonfigurasi di OpenAPI Explorer. Sebelum Anda men-debug kode, ubah parameter sesuai kebutuhan.

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 video ke format HLS dengan resolusi 1920 × 1080 pada 30 FPS

Berikut ini adalah contoh cara mentranskode video ke video H.265 dalam resolusi 1920 × 1080 pada 30 frame per detik (FPS) dan menggunakan HLS untuk membagi video input menjadi segmen. Jika resolusi dan frame rate video input tidak mencukupi, parameter input video terkait digunakan.

image

Informasi Transkoding

  • Format video: dari MOV ke M3U8.

  • Segmentasi: segmen HLS, masing-masing memiliki durasi 10 detik.

  • Konfigurasi video: format encoding H.265, nilai CRF 24, resolusi 1920 × 1080, dan 30 FPS.

  • Konfigurasi audio: format AAC, bitrate 128 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

  • Notifikasi Penyelesaian Transkoding: pesan SMQ, yang dikirim ke topik SMQ bernama "test-mns-topic".

Untuk informasi lebih lanjut tentang contoh SDK, kunjungi tab Kode Contoh SDK di OpenAPI Explorer. Parameter dalam contoh secara otomatis dikonfigurasi di OpenAPI Explorer. Sebelum Anda men-debug kode, ubah parameter sesuai kebutuhan.

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 video ke tiga video HLS dalam resolusi 1080p, 720p, dan 480p

Berikut ini adalah contoh cara mentranskode video input ke tiga video output masing-masing dalam resolusi 1080p, 720p, atau 480p dan menggunakan HLS untuk membagi video input menjadi segmen.

image

Informasi Transkoding

Sebelum Transkoding

  • Format: MOV.

  • Format encoding video: H.264.

  • Resolusi: 3840 × 2160.

  • Frame rate: 30.

Setelah Transkoding

Notifikasi Penyelesaian Transkoding: pesan SMQ, yang dikirim ke topik SMQ bernama "test-mns-topic".

Video 1

  • Format video: M3U8.

  • Segmentasi: segmen HLS, masing-masing memiliki durasi 10 detik.

  • Konfigurasi video: format encoding H.264, nilai CRF 25, resolusi 1920 × 1080, dan 30 FPS.

  • Konfigurasi audio: format AAC, bitrate 256 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

Video 2

  • Format video: M3U8.

  • Segmentasi: segmen HLS, masing-masing memiliki durasi 10 detik.

  • Konfigurasi video: format encoding H.264, nilai CRF 26, resolusi 1280 × 720, dan 30 FPS.

  • Konfigurasi audio: format AAC, bitrate 128 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

Video 3

  • Format video: M3U8.

  • Segmentasi: segmen HLS, masing-masing memiliki durasi 10 detik.

  • Konfigurasi video: format encoding H.264, nilai CRF 28, resolusi 854 × 480, dan 25 FPS.

  • Konfigurasi audio: format AAC, bitrate 96 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

Untuk informasi lebih lanjut tentang contoh SDK, kunjungi tab Kode Contoh SDK di OpenAPI Explorer. Parameter dalam contoh secara otomatis dikonfigurasi di OpenAPI Explorer. Sebelum Anda men-debug kode, ubah parameter sesuai kebutuhan.

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": {
          "AdaptiveResolutionDirectiontrue,
          "CRF": 28,
          "Codec": "h264",
          "FrameRate": 25,
          "FrameRateOption": "adaptive",
          "PixelFormat": "yuv420p",
          "Resolution": "x480",
          "ResolutionOption": "adaptive",
          "ScaleType": "fit"
        }
      }
    }
  ]
}

Transkode video ke format MP4 dan tambahkan watermark

Berikut ini adalah contoh cara mentranskode video ke format MP4, menambahkan logo watermark di pojok kiri atas video, dan menambahkan teks watermark di pojok kanan bawah video.

image

Informasi Transkoding

  • Format video: dari MOV ke MP4.

  • Konfigurasi video: format encoding H.264, nilai CRF 25, dan parameter input video tertentu dipertahankan, seperti resolusi dan frame rate. Tambahkan Alibaba Cloud sebagai logo watermark di pojok kiri atas video dan tambahkan IMM sebagai teks watermark di pojok kanan bawah video.

  • Konfigurasi audio: format AAC, bitrate 256 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

  • Notifikasi Penyelesaian Transkoding: pesan SMQ, yang dikirim ke topik SMQ bernama "test-mns-topic".

Untuk informasi lebih lanjut tentang contoh SDK, kunjungi tab Kode Contoh SDK di OpenAPI Explorer. Parameter dalam contoh secara otomatis dikonfigurasi di OpenAPI Explorer. Sebelum Anda men-debug kode, ubah parameter sesuai kebutuhan.

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": "IMM",
              "Dx": 0.05,
              "Dy": 0.1,
              "FontColor": "#FFFFFF",
              "FontSize": 100,
              "ReferPos": "bottomright",
              "Type": "text"
            }
          ]
        },
        "TranscodeVideo": {
          "CRF": 25,
          "Codec": "h264",
          "PixelFormat": "yuv420p"
        }
      }
    }
  ]
}

Ambil klip dari video dan transkode klip ke format FLV

Berikut ini adalah contoh cara mengambil klip dari video, mentranskode klip ke format Flash Video (FLV), dan menyesuaikan bitrate menjadi 1 Mbit/s.

image

Informasi Transkoding

  • Format video: dari MOV ke FLV.

  • Waktu mulai klip: detik kelima dari video input.

  • Durasi klip: 10 detik.

  • Konfigurasi video: bitrate 1 Mbit/s, dan parameter input video tertentu dipertahankan, seperti resolusi dan frame rate.

  • Konfigurasi audio: format AAC, bitrate 96 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

  • Notifikasi Penyelesaian Transkoding: pesan SMQ, yang dikirim ke topik SMQ bernama "test-mns-topic".

Untuk informasi lebih lanjut tentang contoh SDK, kunjungi tab Kode Contoh SDK di OpenAPI Explorer. Parameter dalam contoh secara otomatis dikonfigurasi di OpenAPI Explorer. Sebelum Anda men-debug kode, ubah parameter sesuai kebutuhan.

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

Berikut ini adalah contoh cara mengonversi format kontainer video ke MP4 tanpa mengubah konten audio dan video. Ini dapat menyebabkan masalah kompatibilitas pemutaran.

Informasi Transkoding

  • Format video: dari MOV ke MP4.

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

  • Notifikasi Penyelesaian Transkoding: pesan SMQ, yang dikirim ke topik SMQ bernama "test-mns-topic".

Untuk informasi lebih lanjut tentang contoh SDK, kunjungi tab Kode Contoh SDK di OpenAPI Explorer. Parameter dalam contoh secara otomatis dikonfigurasi di OpenAPI Explorer. Sebelum Anda men-debug kode, ubah parameter sesuai kebutuhan.

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}"
    }
  ]
}

Mosaic watermark dalam video

Berikut ini adalah contoh cara memosaic watermark secara terpisah di pojok kiri atas dan kanan bawah video.

image

Informasi Transkoding

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

  • Konfigurasi video: format encoding H.264, nilai CRF 24, dan parameter input video tertentu dipertahankan, seperti resolusi dan frame rate. Mosaic logo watermark di pojok kiri atas dan teks watermark di pojok kanan bawah video.

  • Konfigurasi audio: format AAC, bitrate 96 Kbit/s, laju sampling 44,1 kHz, dan saluran suara binaural.

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

  • Notifikasi Penyelesaian Transkoding: pesan SMQ, yang dikirim ke topik SMQ bernama "test-mns-topic".

Untuk informasi lebih lanjut tentang contoh SDK, kunjungi tab Kode Contoh SDK di OpenAPI Explorer. Parameter dalam contoh secara otomatis dikonfigurasi di OpenAPI Explorer. Sebelum Anda men-debug kode, ubah parameter sesuai kebutuhan.

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"
        }
      }
    }
  ]
}