サポートに連絡する| システムステータス
ページコンテンツ

    Highwinds SMILガイド

    高速CDNは、ビデオのアダプティブストリーミングを含むソリューションの広い範囲を提供する高速CDNです。Highwinds アダプティブストリーミング統合の使用を容易にするために、SMIL ファイルを生成する方法を追加しました。

    概要

    SMILファイルは、マルチメディアプレゼンテーションを記述するために使用される特別な形式の XML ドキュメントです。Highwinds は SMIL のサブセットを使用して、アダプティブストリーミングを有効にします。

    SMILとZencoder

    以下は、複数のビットレートにエンコードされたビデオを説明する Highwinds SMIL ファイルの例です。指定されたすべてのパス(「src」)は、SMILが提供される場所に関連し、すべてのビットレート(「システムビットレート」)はビット/秒(bps)です。

    
    <smil>
    <head>
    </head>
    <body>
    <switch>
    <video src="mp4:rel/path/file-440k.mp4"
    system-bitrate="440000" width="720" height="406" />
    <video src="mp4:rel/path/file-640k.mp4"
    system-bitrate="640000" width="854" height="480" />
    <video src="mp4:rel/path/file-240k.mp4"
    system-bitrate="240000" width="640" height="360" />
    <video src="mp4:rel/path/file-150k.mp4"
    system-bitrate="150000" width="320" height="180" />
    <video src="mp4:rel/path/file-64k.mp4"
    system-bitrate="64000"/>
    </switch>
    </body>
    </smil>

    <video>上記の例の各タグは、ユーザーに提供できる個別のストリームを表しています。リストされた最初のビデオは、使用可能な帯域幅が決定されるまで、ユーザーにストリーミングされます。この時点で、ユーザーは適切なストリームに切り替わります。

    Zencoder で Highwinds SMIL プレイリストを作成するのは簡単です。

    
    {
        "api_key": "asdf1234",
        "input": "s3://my-bucket/input/file.mov",
        "outputs": [
        {
            "type": "playlist",
            "format": "highwinds",
            "url": "s3://my-bucket/output/file.smil",
            "streams": [
            {
                "path": "rel/path/file-440k.mp4",
                "bandwidth": "440",
                "width": 720,
                "height": 406
            },
            {
                "path": "rel/path/file-640k.mp4",
                "bandwidth": "640",
                "width": 854,
                "height": 480
            },
            {
                "path": "rel/path/file-240k.mp4",
                "bandwidth": "240",
                "width": 640,
                "height": 360
            },
            {
                "path": "rel/path/file-150k.mp4",
                "bandwidth": "150",
                "width": 320,
                "height": 180
            },
            {
                "path": "rel/path/file-64k.mp4",
                "bandwidth": "64"
            }
            ]
        }
        ]
    }

    これを行う場合は、プレイリスト以外の出力も含める必要があります。

    • 「タイプ」は「プレイリスト」でなければなりません
    • 「フォーマット」は「強風」でなければなりません
    • 「url」(または「ファイル名」)は、「smil」の拡張子を持つ必要があります
    • 「ストリーム」は、それぞれ「帯域幅」と「パス」キーを持つJSONオブジェクトの配列でなければなりません
      • 「path」は、サーバーが提供する mp4 ファイルへの相対パスである必要があります (SMILファイルに表示される先頭の「mp4:」は含まれていないことに注意してください)
      • 「bandwidth」は、SMILファイルを作成するときにbpsに変換するファイルのビットレート(kbps)にする必要があります
      • 「width」はオプションで、ファイルの水平解像度を指定する必要があります
      • 「height」はオプションであり、ファイルの垂直解像度を指定する必要があります

    再生リストによって参照されるビデオは、再生リストを生成するジョブとは別に作成することも、同じジョブに追加の出力として作成することもできます。

    全体像

    プレイリストでは、異なるビットレートの複数の出力を指定し、参照することができます。

    {
        "api_key": "1234abcd",
        "input": "http://example.com/file.mp4",
        "output": [
        {
            "audio_bitrate": 56,
            "audio_sample_rate": 22050,
            "base_url": "s3://my-bucket/",
            "filename": "file-64k.mp4",
            "format": "aac",
            "public": 1
        },
        {
            "audio_bitrate": 56,
            "audio_sample_rate": 22050,
            "base_url": "s3://my-bucket/",
            "decoder_bitrate_cap": 165,
            "decoder_buffer_size": 440,
            "filename": "file-150k.mp4",
            "max_frame_rate": 10,
            "public": 1,
            "video_bitrate": 110,
            "width": 320
        },
        {
            "audio_bitrate": 56,
            "audio_sample_rate": 22050,
            "base_url": "s3://my-bucket/",
            "decoder_bitrate_cap": 300,
            "decoder_buffer_size": 800,
            "filename": "file-240k.mp4",
            "max_frame_rate": 15,
            "public": 1,
            "video_bitrate": 200,
            "width": 640
        },
        {
            "audio_bitrate": 56,
            "audio_sample_rate": 22050,
            "base_url": "s3://my-bucket/",
            "decoder_bitrate_cap": 600,
            "decoder_buffer_size": 1600,
            "filename": "file-440k.mp4",
            "max_frame_rate": 30,
            "public": 1,
            "video_bitrate": 400,
            "width": 720
        },
        {
            "audio_bitrate": 56,
            "audio_sample_rate": 22050,
            "base_url": "s3://my-bucket/",
            "decoder_bitrate_cap": 900,
            "decoder_buffer_size": 2400,
            "filename": "file-640k.mp4",
            "max_frame_rate": 30,
            "public": 1,
            "video_bitrate": 600,
            "width": 854
        },
        {
            "type": "playlist",
            "format": "highwinds",
            "url": "s3://my-bucket/file.smil",
            "streams": [
            {
                "path": "file-440k.mp4",
                "bandwidth": "440",
                "width": 720,
                "height": 406
            },
            {
                "path": "file-640k.mp4",
                "bandwidth": "640",
                "width": 854,
                "height": 480
            },
            {
                "path": "file-240k.mp4",
                "bandwidth": "240",
                "width": 640,
                "height": 360
            },
            {
                "path": "file-150k.mp4",
                "bandwidth": "150",
                "width": 320,
                "height": 180
            },
            {
                "path": "file-64k.mp4",
                "bandwidth": "64"
            }
            ]
        }
        ]
    }

    注意事項

    • プレイリストの生成は現在、ジョブ内の他の出力からの情報を使用しませんが、正しくフォーマットされた適応ビットレートのプレイリストを簡単に生成し、他のファイルとともにアップロードできる方法です。
    • decoder_bitrate_capは、ファイルのターゲットビットレートの 1.5 倍に設定されます。decoder_buffer_sizeは、ファイルのターゲットビットレートの 3.5 倍から 5 倍に設定されます。これらの設定は、ファイル全体で一貫したビットレートを維持し、セグメントセグメントのサイズとビットレートがあまり変化しないようにします。

    ページの最終更新日14 Oct 2021