全部產品
Search
文件中心

Intelligent Media Management:視頻轉碼

更新時間:May 31, 2025

本文介紹了利用Intelligent Media Management(IMM)媒體轉碼介面來實現視頻轉碼的能力。

功能簡介

視頻轉碼通過將已壓縮編碼的視頻碼流轉換為另一種視頻碼流,將視頻格式、封裝、解析度、幀率及碼率等參數轉換為適合不同裝置和平台播放,同時降低檔案大小以最佳化傳輸效率的過程。

image

使用情境

  • 多裝置相容性:為確保視頻能夠在不同裝置(如手機、平板、電腦、智能電視等)上順利播放,轉碼技術能夠將視頻轉換為符合特定裝置所支援的格式。

  • 流媒體播放:流媒體服務需要將視頻轉碼為多種格式和位元速率,以便根據使用者的網路狀況進行動態調整,從而提升觀看體驗。

  • 視頻壓縮:在確保視頻品質的前提下,通過轉碼技術降低檔案大小,以便於儲存和傳輸,尤其是在網路頻寬受限的情況下。

支援音視頻格式列表

分類

格式

音頻

AAC、MP3、WAV、FLAC、WMA、AC3、OPUS等所有主流格式。

視頻

MP4、MPEG-TS、MKV、MOV、AVI、FLV、M3U8、WebM、WMV、RM、VOB等所有主流格式。

如何使用

前提條件

步驟一:上傳檔案

請使用OSS管理主控台將媒體檔案上傳至IMM專案所在地區的Bucket。

image

步驟二:使用IMM視頻轉碼

調用CreateMediaConvertTask - 建立媒體轉碼任務介面建立視頻轉碼任務。

參數說明

以下樣本以IMM專案test-project為基礎,使用視頻檔案oss://test-bucket/video-demo/蜀山區商業大樓.mov進行視頻轉碼處理。

更多有關ApsaraVideo for Media Processing各功能介紹和使用,請參見媒體轉碼

說明
  • 您可以通過OpenAPI 門戶使用媒體轉碼介面對視頻檔案進行處理,可參考SDK代碼。

  • 為實現最佳的播放相容性,推薦轉碼為 mp4 或者 hls,並設定視頻 Codec 為 h264 且PixelFormat 為 yuv420p,音頻 Codec 為 aac 且 Channel 為 2。

  • 轉碼過程將不可避免地導致視頻畫面品質的下降。您可以通過 Bitrate 和 CRF 參數來調控轉碼後的視頻畫面品質。一般而言,畫面品質越高,檔案大小也會相應增大。

  • h265相較於h264具有更優越的壓縮效率。在視頻畫面品質相同的條件下,h265通常能夠比h264節省超過30%的儲存空間和頻寬成本。然而,h265的使用必須在播放器相容的前提下進行。

  • Codec 參數不設定時預設為 copy,為 copy 時,表示將需要處理的視頻流直接拷貝到輸出檔案,此時 TranscodeVideo 下的其餘參數無效。copy 不可用於視頻轉碼,通常應用於轉封裝情境。

  • Targets中URI檔案名稱建議使用變數設定輸出檔案路徑,相關變數請參見TargetURI模板

轉碼為mp4

將視頻轉為mp4格式,且不改變解析度、幀率等視頻參數。

image

轉碼資訊

  • 視頻格式:mov -> mp4

  • 視頻配置:CRF設定為24,保持原有解析度與幀率等視頻參數

  • 音頻配置:aac格式,碼率96Kbps,雙聲道,採樣率44.1kHz

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓.mp4

  • 轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”

SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。

請求參數如下

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

轉碼為1920x1080解析度30fps的hls格式視頻

將視頻轉碼為1920x1080解析度、30fps的H.265視頻,使用HLS格式切片,當源視頻解析度與幀率不足時遵循源視頻參數。

image

轉碼資訊

  • 視頻格式:mov -> m3u8

  • 切片:hls格式,切片時間長度10s

  • 視頻配置:h265編碼格式,CRF設定為24,解析度1920x1080,幀率30

  • 音頻配置:aac格式,碼率128Kbps,雙聲道,採樣率44.1kHz

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓.m3u8oss://test-bucket/video-demo/蜀山區商業大樓-%d.ts

  • 轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”

SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。

請求參數如下

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓.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/蜀山區商業大樓.{autoext}",
      "Video": {
        "TranscodeVideo": {
          "AdaptiveResolutionDirection": true,
          "CRF": 24,
          "Codec": "h265",
          "FrameRate": 30,
          "FrameRateOption": "adaptive",
          "PixelFormat": "yuv420p",
          "Resolution": "1920x1080",
          "ResolutionOption": "adaptive",
          "ScaleType": "fit"
        }
      }
    }
  ]
}

轉碼為1080p、720p、480p三個解析度的hls視頻

將視頻轉碼為1080p、720p、480p三個解析度的視頻,使用HLS格式切片。

image

轉碼資訊

轉碼前

  • 視頻格式:mov

  • 視頻編碼格式:h264

  • 解析度:3840x2160

  • 幀率:30

轉碼後

轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”

視頻1

  • 視頻格式:m3u8

  • 切片:hls格式,切片時間長度10s

  • 視頻配置:h264編碼格式,CRF設定為25,解析度1920x1080,幀率30

  • 音頻配置:aac格式,碼率256Kbps,雙聲道,採樣率44.1kHz

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓-x1080.m3u8oss://test-bucket/video-demo/蜀山區商業大樓-x1080-%d.ts

視頻2

  • 視頻格式:m3u8

  • 切片:hls格式,切片時間長度10s

  • 視頻配置:h264編碼格式,CRF設定為26,解析度1280x720,幀率30

  • 音頻配置:aac格式,碼率128Kbps,雙聲道,採樣率44.1kHz

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓-x720.m3u8oss://test-bucket/video-demo/蜀山區商業大樓-x720-%d.ts

視頻3

  • 視頻格式:m3u8

  • 切片:hls格式,切片時間長度10s

  • 視頻配置:h264編碼格式,CRF設定為28,解析度854x480,幀率25

  • 音頻配置:aac格式,碼率96Kbps,雙聲道,採樣率44.1kHz

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓-x480.m3u8oss://test-bucket/video-demo/蜀山區商業大樓-x480-%d.ts

SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。

請求參數如下

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓.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/蜀山區商業大樓-{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/蜀山區商業大樓-{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/蜀山區商業大樓-{resolution}.{autoext}",
      "Video": {
        "TranscodeVideo": {
          "AdaptiveResolutionDirection": true,
          "CRF": 28,
          "Codec": "h264",
          "FrameRate": 25,
          "FrameRateOption": "adaptive",
          "PixelFormat": "yuv420p",
          "Resolution": "x480",
          "ResolutionOption": "adaptive",
          "ScaleType": "fit"
        }
      }
    }
  ]
}

轉碼為mp4並添加浮水印

將視頻轉碼為mp4格式,並在視頻左上方添加浮水印Logo,在視頻右下角添加浮水印文字。

image

轉碼資訊

  • 視頻格式:mov -> mp4

  • 視頻配置:h264編碼格式,CRF設定為25,保持原有解析度與幀率等視頻參數。在左上方添加阿里雲LOGO圖片浮水印,在右下角添加“Intelligent Media Management”文字浮水印。

  • 音頻配置:aac格式,碼率為256 Kbps,雙聲道,採樣率為44.1 kHz。

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓.mp4

  • 轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”

SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。

請求參數如下

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓.mov"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 256000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "mp4",
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓.{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"
        }
      }
    }
  ]
}

截取視頻的部分區段轉碼為flv格式

截取源視頻的部分區段轉碼為FLV格式,將碼率調整為1Mbps。

image

轉碼資訊

  • 視頻格式:mov -> flv

  • 截取開始時間:5s

  • 截取時間長度:10s

  • 視頻配置:碼率為1Mbps,保持原有的解析度、幀率及其他視頻參數。

  • 音頻配置:aac格式,碼率96Kbps,雙聲道,採樣率44.1kHz

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓.flv

  • 轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”

SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。

請求參數如下

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

將視頻轉封裝為mp4

將視頻轉封裝為mp4,轉封裝不改變音視頻資料內容,可能存在播放相容性問題。

轉碼資訊

  • 視頻格式:mov -> mp4

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓.mp4

  • 轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”

SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。

請求參數如下

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓.mov"
    }
  ],
  "Targets": [
    {
      "Container": "mp4",
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓.{autoext}"
    }
  ]
}

將視頻浮水印地區打馬賽克

將視頻左上方浮水印logo地區和右下角浮水印文字地區打上馬賽克。

image

轉碼資訊

  • 輸入視頻路徑:oss://test-bucket/video-demo/蜀山區商業大樓.mp4

  • 視頻配置:h264編碼格式,CRF設定為24,保持原有解析度、幀率等視頻參數,並對左上方的LOGO地區和右下角的文字浮水印地區進行馬賽克處理。

  • 音頻配置:aac格式,碼率為96 Kbps,雙聲道,採樣率為44.1 kHz。

  • 輸出視頻儲存路徑:oss://test-bucket/video-demo/蜀山區商業大樓-mosaic.mp4

  • 轉碼完成訊息通知:發送MNS訊息到MNS主題“test-mns-topic”

SDK樣本請參見OpenAPI門戶,已為您自動填滿樣本的參數,請您按需修改後再進行調試。

請求參數如下

{
  "ProjectName": "test-project",
  "Notification": {
    "MNS": {
      "TopicName": "test-mns-topic"
    }
  },
  "Sources": [
    {
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓.mp4"
    }
  ],
  "Targets": [
    {
      "Audio": {
        "TranscodeAudio": {
          "Bitrate": 96000,
          "Channel": 2,
          "Codec": "aac",
          "SampleRate": 44100
        }
      },
      "Container": "mp4",
      "URI": "oss://test-bucket/video-demo/蜀山區商業大樓-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"
        }
      }
    }
  ]
}