すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:単一イメージレイアウトの作成方法

最終更新日:Jul 02, 2025

プロダクションスタジオ レイアウトは、リソースの参照方法と配置方法を定義します。ビジネス シナリオに基づいて適切なレイアウトを作成できます。

リソースを参照および配置するために、次のパラメーターを設定できます。

  • BlendList:レイアウトで参照されるビデオ レイヤーのロケーション ID。レイアウト内のビデオ レイヤーは、このパラメーターで指定された順序で下から上に重ねられます。

  • MixList:レイアウトで参照されるオーディオ レイヤーのロケーション ID。レイアウト内のオーディオ レイヤーは、このパラメーターで指定された順序でミキシングされます。

  • VideoLayer:レイアウトで参照されるビデオ レイヤーの構成。座標の参照元、ビデオ レイヤーの正規化された幅と高さ、ビデオ レイヤーの位置などが含まれます。このパラメーターで指定されたビデオ レイヤーが、BlendList パラメーターで指定されたものと同じ順序であることを確認してください。

  • AudioLayer:レイアウトで参照されるオーディオ レイヤーの構成。ボリュームとオーディオ入力チャンネルなどが含まれます。このパラメーターで指定されたオーディオ レイヤーが、MixList パラメーターで指定されたものと同じ順序であることを確認してください。

サンプルの単一イメージ レイアウトを作成するためのパラメーター

パラメーターの有効値の詳細については、「AddCasterLayout」をご参照ください。

パラメーター

説明

Action

AddCasterLayout

実行する操作。

CasterId

LIVEPRODUCER_POST-cn-v0h1557****

プロダクションスタジオの ID。

BlendList.1

RV01

ビデオ ソースのロケーション ID。

MixList.1

RV01

オーディオ ソースのロケーション ID。

VideoLayer.1.HeightNormalized

1.0

ビデオ レイヤーの正規化された高さ。ビデオ レイヤーの幅は、このパラメーターに基づいて比例的にスケーリングされます。

VideoLayer.1.PositionNormalized.1

1.0

ビデオ レイヤーの正規化された x 軸の値。

VideoLayer.1.PositionNormalized.2

1.0

ビデオ レイヤーの正規化された y 軸の値。

VideoLayer.1.PositionRefer

topLeft

レイアウト内のビデオ レイヤーの座標の参照元。この例では、原点は再生ウィンドウの左上隅です。

AudioLayer.1.ValidChannel

leftChannel

オーディオ入力チャンネル。この例では、左チャンネルが使用されます。

AudioLayer.1.VolumeRate

1.0

オーディオが再生される元のボリュームの倍数。 1.0 の値は元のボリュームを示します。

説明

A.n は、A リストの n 番目の数値を示します。 A.n.B は、A リストの n 番目の構造体要素の B パラメーターを示します。

サンプル コード

public AddCasterLayoutResponse addCasterLayoutSample() {
        /* BlendList を設定します。 */
        ArrayList<String> blendList = new ArrayList<String>();
        blendList.add("RV01");
        /* VideoLayers を設定します。 */
        ArrayList<VideoLayer> videoLayers = new ArrayList<VideoLayer>();
        VideoLayer videoLayer = new VideoLayer();
        ArrayList<Float> positionNormalized = new ArrayList<Float>();
        positionNormalized.add(0f);
        positionNormalized.add(0f);
        videoLayer.setHeightNormalized(1f);  // ビデオ レイヤーの正規化された高さを設定します。
        videoLayer.setPositionNormalizeds(positionNormalized); // ビデオ レイヤーの正規化された座標を設定します。
        videoLayer.setPositionRefer("topLeft"); // ビデオ レイヤーの座標の参照元を設定します。
        videoLayers.add(videoLayer);
        /* MixList を設定します。 */
        ArrayList<String> mixList = new ArrayList<String>();
        mixList.add("RV01");
        /* AudioLayers を設定します。 */
        ArrayList<AudioLayer> audioLayers = new ArrayList<AudioLayer>();
        AudioLayer audioLayer = new AudioLayer();
        audioLayer.setVolumeRate(1f); // オーディオ ストリームが再生される元のボリュームの倍数を設定します。
        audioLayer.setValidChannel("leftChannel"); // オーディオ入力チャンネルを設定します。
        audioLayers.add(audioLayer);
        
        AddCasterLayoutRequest addCasterLayoutRequest = new AddCasterLayoutRequest();
        addCasterLayoutRequest.setCasterId("LIVEPRODUCER_POST-cn-v0h1557****"); // プロダクションスタジオの ID を設定します。
        addCasterLayoutRequest.setBlendLists(blendList); // BlendList を設定します。
        addCasterLayoutRequest.setMixLists(mixList);  // MixList を設定します。
        addCasterLayoutRequest.setVideoLayers(videoLayers); // VideoLayers を設定します。
        addCasterLayoutRequest.setAudioLayers(audioLayers); // AudioLayers を設定します。
        AddCasterLayoutResponse addCasterLayoutResponse = null;
        try {
            addCasterLayoutResponse = LiveClient.getClient().getAcsResponse(addCasterLayoutRequest);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return addCasterLayoutResponse;
    }