このトピックでは、Intelligent Media Management (IMM) のメディアトランスコード操作を使用して音声ファイルを変換する方法について説明します。
機能紹介
音声トランスコードとは、音声をあるフォーマットから別のフォーマットに変換する技術です。その目的は、音声品質を損なうことなく、音声ファイルの互換性を向上させ、ファイルサイズを縮小することです。

シナリオ
音声フォーマットの互換性: デバイスやプレーヤーによって、サポートされる音声フォーマットが異なる場合があります。トランスコードにより、音声ファイルをターゲット デバイスで正常に再生できます。
音声ストリーミングメディア: ライブストリーミングまたはストリーミングメディア サービスでは、音声フォーマットのトランスコードにより、さまざまなネットワーク条件やユーザー デバイスに適応するように伝送効率を効果的に最適化できます。
音声圧縮: ストレージ容量や帯域幅を節約するために、音声ファイルをより効率的または圧縮されたフォーマット(WAV フォーマットを MP3 または AAC フォーマットに変換するなど)にトランスコードする必要があることがよくあります。
パラメーター調整: 必要に応じて、サンプルレートとサウンドチャンネル数を調整します。
サポートされている音声およびビデオ フォーマット
カテゴリ | フォーマット |
音声 | AAC、MP3、WAV、FLAC、WMA、AC3、Opus など、主要な音声フォーマット。 |
ビデオ | MP4、MPEG-TS、MKV、MOV、AVI、FLV、M3U8、WebM、WMV、RM、VOB など、主要なビデオ フォーマット。 |
手順
前提条件
AccessKey ペアを取得します。詳細については、「AccessKey ペアを作成する」をご参照ください。
Object Storage Service (OSS) がアクティブ化され、バケットが作成されます。詳細については、「バケットを作成する」をご参照ください。
IMM がアクティブ化されます。詳細については、「IMM をアクティブ化する」をご参照ください。
IMM コンソールでプロジェクトが作成されます。詳細については、「プロジェクトを作成する」をご参照ください。
説明CreateProject 操作を呼び出して、プロジェクトを作成できます。
ListProjects 操作を呼び出して、指定したリージョン内のすべてのプロジェクト情報を一覧表示できます。
ステップ 1: ファイルをアップロードする
OSS コンソール を使用して、IMM プロジェクトと同じリージョンにあるバケットにメディアファイルをアップロードします。

ステップ 2: IMM 音声トランスコードを使用する
CreateMediaConvertTask 操作を呼び出して、音声トランスコード タスクを作成します。
パラメーター例
次の例では、IMM プロジェクト test-project を使用して音声トランスコードを実行します。
メディア処理機能と使用方法の詳細については、「メディア トランスコード」をご参照ください。
OpenAPI Explorer を使用して、メディア トランスコード操作を通じて音声ファイルを処理できます。SDK コードを参照できます。
音声を AAC フォーマットにトランスコードする
トランスコード情報
入力ファイル パス: oss://test-bucket/video-demo/test.mp3
エンコード形式: mp3 → aac
音声構成: 96 Kbps ビットレート、デュアル チャンネル、44.1 kHz サンプルレート
出力音声保存パス: oss://test-bucket/video-demo/test.aac
トランスコード完了通知: MNS メッセージを MNS トピック「test-mns-topic」に送信する
SDK の例については、OpenAPI Explorer をご参照ください。サンプル パラメーターは自動的に入力されています。デバッグ前に必要に応じて変更できます。
リクエスト パラメーター
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic" // MNS トピック名
}
},
"Sources": [
{
"Subtitles": [], // 字幕リスト
"URI": "oss://test-bucket/video-demo/test.mp3" // 入力ファイルのパス
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 96000, // ビットレート
"Channel": 2, // チャンネル数
"Codec": "aac", // コーデック
"SampleRate": 44100 // サンプルレート
}
},
"Container": "aac", // コンテナフォーマット
"URI": "oss://test-bucket/video-demo/test.{autoext}" // 出力ファイルのパス
}
]
}音声を MP3 フォーマットにトランスコードする
トランスコード情報
入力ファイル パス: oss://test-bucket/video-demo/test.aac
エンコード形式: aac → mp3
音声構成: 128 Kbps ビットレート、デュアル チャンネル、44.1 kHz サンプルレート
出力音声保存パス: oss://test-bucket/video-demo/test.mp3
トランスコード完了通知: MNS メッセージを MNS トピック「test-mns-topic」に送信する
SDK の例については、OpenAPI Explorer をご参照ください。サンプル パラメーターは自動的に入力されています。デバッグ前に必要に応じて変更できます。
リクエスト パラメーター
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic" // MNS トピック名
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.aac" // 入力ファイルのパス
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 128000, // ビットレート
"Channel": 2, // チャンネル数
"Codec": "mp3", // コーデック
"SampleRate": 44100 // サンプルレート
}
},
"Container": "mp3", // コンテナフォーマット
"URI": "oss://test-bucket/video-demo/test.{autoext}" // 出力ファイルのパス
}
]
}ビデオから音声を抽出する
ビデオから単一のオーディオ トラックを抽出し、サンプルレートとサウンド チャンネル数を変更せずに独立した音声ファイルとして保存します。
トランスコード情報
入力ファイル パス: oss://test-bucket/video-demo/test.mp4
音声構成: ビデオから単一のオーディオ ストリームを抽出し、AAC エンコード形式に変換する
出力音声保存パス: oss://test-bucket/video-demo/test-audio-%d.aac
トランスコード完了通知: MNS メッセージを MNS トピック「test-mns-topic」に送信する
SDK の例については、OpenAPI Explorer をご参照ください。サンプル パラメーターは自動的に入力されています。デバッグ前に必要に応じて変更できます。
リクエスト パラメーター
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic" // MNS トピック名
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.mp4" // 入力ファイルのパス
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Codec": "aac" // コーデック
}
},
"Container": "aac", // コンテナフォーマット
"URI": "oss://test-bucket/video-demo/test-audio-{streamindex}.{autoext}" // 出力ファイルのパス
}
]
}ファイルから抽出するオーディオ トラックが複数ある場合は、サンプルレートとサウンド チャンネル数を変更せずに、独立した音声ファイルとして保存します。
トランスコード情報:
入力ファイル パス: oss://test-bucket/video-demo/test.mp4
音声構成: ビデオからすべてのオーディオ ストリームを抽出し、AAC エンコード形式、256 Kbps ビットレートに変換する
出力音声保存パス: oss://test-bucket/video-demo/test-audio-%d.aac
トランスコード完了通知: MNS メッセージを MNS トピック「test-mns-topic」に送信する
SDK の例については、OpenAPI Explorer をご参照ください。サンプル パラメーターは自動的に入力されています。デバッグ前に必要に応じて変更できます。
リクエスト パラメーター:
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic" // MNS トピック名
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.mp4" // 入力ファイルのパス
}
],
"Targets": [
{
"Audio": {
"Stream": [
101 // ストリームインデックス
],
"TranscodeAudio": {
"Bitrate": 256000, // ビットレート
"Codec": "aac" // コーデック
}
},
"Container": "aac", // コンテナフォーマット
"URI": "oss://test-bucket/video-demo/test-audio-{streamindex}.{autoext}" // 出力ファイルのパス
}
]
}