サポート問い合わせ先| システムステータス
ページコンテンツ

    クイックスタート:MPEG2-TS入力用のライブジョブを作成する

    このチュートリアルでは、MPEG2-TS入力を受け入れるライブジョブの作成について説明します。ジョブはLive APIを使用して作成されます。

    概要

    general-block-diagramブロック図

    このチュートリアルでは、MPEG2-TS 入力を受け入れるライブストリーミングジョブを Brightcove ライブで作成する方法を API レベルで説明します。MPEG2-TS 入力を使用する鍵は、MPEG2-TS をサポートし、エンコーダが提供できるを選択することです。protocolLive API でサポートされる TS 対応プロトコルは次のとおりです。

    • rtp
    • rtp-fec
    • srt

    デフォルトの入力プロトコルはであるため、TS 入力を使用するには、これらのプロトコルの 1 つを明示的に指定する必要がありますrtmp

    クリッピング、SSAIキューポイント、またはID3タグにSMPTEタイムコードを使用するには、SEI Picture TimingメッセージのH.264(AVC)ビデオに挿入する必要があります。

    これらのプロトコルでは、エンコーダと Live 間の通信に TCP ではなく UDP(User Datagram Protocol)が使用されるため、ファイアウォール/ルータを適切に設定し、エンコーダの IP からインターネットへの UDP 出力を許可する必要があります。

    を使用している場合rtp-fec、FEC 情報はメディアとは異なるポートに送信されるため、たとえば、ポート 2000 を使用している場合は、ポート 2002 と 2004 (2D FEC を使用している場合) も開く必要があります。

    このチュートリアルではカール APIリクエストを作成しますが、簡単に作成できます不眠症郵便配達員または代わりに他のRESTクライアント。

    ライブジョブを作成する

    まず、ライブジョブを作成します。Live API API-KEYにはが必要です。アクセスできない場合は、アカウントマネージャーにお問い合わせください。

    1. 以下をコピーして貼り付けますカールテキストエディタへのコマンド:

        curl -X POST \
          https://api.bcovlive.io/v1/jobs \
          -H 'Content-Type: application/json' \
          -H 'x-api-key: ' \
          -d '{
            "live_stream": true,
            "region": "",
            "protocol": "",
            "cidr_whitelist": ["", ""],
            "outputs": [{
                "label": "hls360p",
                "live_stream": true,
                "height": 360,
                "video_bitrate": 365,
                "segment_seconds": 6,
                "keyframe_interval": 60
           },
           {
                "label": "hls432p",
                "live_stream": true,
                "height": 432,
                "video_bitrate": 730,
                "segment_seconds": 6,
                "keyframe_interval": 60
           },
           {
                "label": "hls540p",
                "live_stream": true,
                "height": 540,
                "video_bitrate": 2000,
                "segment_seconds": 6,
                "keyframe_interval": 60
           },
           {
                "label": "hls720p3M",
                "live_stream": true,
                "height": 540,
                "video_bitrate": 2000,
                "segment_seconds": 6,
                "keyframe_interval": 60
           },
           {
                "label": "hls720p4.5M",
                "live_stream": true,
                "height": 720,
                "video_bitrate": 4500,
                "segment_seconds": 6,
                "keyframe_interval": 60
           }]
        }'
    2. 次の置換を行います。

      • をBrightcoveのLive API キーで使ってください。例: abcdfeg-this-is-a-fake-api-key-FgJajjasd12hJHsZ
      • をエンコーダに最も近い利用可能なリージョンとすると、エンコーダに最も近い利用可能なリージョンが表示されます。例えば: us-west-2
      • エンコーダが提供する入力プロトコルを使用すると、次のようになります。rptrtp-fec、またはsrt
      • エンコーダが使用するIP範囲で、次の形式で1.2.3.4/32
      • (もしあれば)バックアップエンコーダが使用するIP範囲で、次の形式で1.2.3.4/32
    3. これらの変更を行ったら、ターミナルまたは使用するコマンドラインアプリにコードをコピーして貼り付けて実行します。
    4. rtp-fecプロトコルを使用している場合、レスポンスは次のようなものでなければなりません。

        {
            "id": "42c913e5373844a99a6285367f2704ec",
            "outputs": [... removed for simplicity ...],
            "stream_url": "rtp://ec2-34-212-0-224.us-west-2.compute.amazonaws.com:12675",
            "stream_name": "42c913e5373844a99a6285367f2704ec.stream",
            "static": false,
            "encryption": {},
            "playback_url": "https://bcovlive-a.akamaihd.net/42c913e5373844a99a6285367f2704ec/us-west-2/NA/playlist.m3u8",
            "playback_url_dvr": "https://bcovlive-a.akamaihd.net/42c913e5373844a99a6285367f2704ec/us-west-2/NA/playlist_dvr.m3u8"
        }

      または次のようにsrt

        {
            "id": "cdb820f2d7764b91a79536dac799fb77",
            "outputs": [... removed for simplicity ...],
            "stream_url": "srt://ec2-34-212-0-224.us-west-2.compute.amazonaws.com:13820",
            "stream_name": "cdb820f2d7764b91a79536dac799fb77.stream",
            "static": false,
            "encryption": {},
            "playback_url": "https://bcovlive-a.akamaihd.net/cdb820f2d7764b91a79536dac799fb77/us-west-2/NA/playlist.m3u8",
            "playback_url_dvr": "https://bcovlive-a.akamaihd.net/cdb820f2d7764b91a79536dac799fb77/us-west-2/NA/playlist_dvr.m3u8"
        }

    このジョブは5つのレンディションを作成しますベースオンAppleの推奨事項

    エンコーダを設定する (TS+FEC)

    ここで示す手順は、このチュートリアルの手順をテストするために使用された Elemental ライブボックスエンコーダを想定しています。別のエンコーダを使用している場合は、設定が似ているはずです。

    rtp-fecこの入力の最も重要な設定は次のとおりです。

    • タイムコードソースを「システムクロック」として設定
    • 「前方エラー訂正」を「列と行」に設定し、「列の深さ」と「行の長さ」の値を設定します。
      • カラム深さ:4 (「列深度」TS パケットごとに 1 個追加される FEC パケットが追加されます)
      • 行の長さ:10(「行長」TS パケットごとに 1 個追加される FEC パケットが追加されます)
      • 追加したデータを計算できます。TotalBitRate = MediaBitRate * (1/ (列深度 + 1) + 1/ (行長 + 1)
    • ビデオ内の「タイムコード挿入」を確認する
    • 強く推奨:フレームレート = ソースに従う

    これは、この TS+FEC サンプルで使用した設定です。

    elemental-live-job-config
    エレメンタル・ライブ・コンフィグ

    エンコーダ(SRT)の設定

    ここに示す設定は、このチュートリアルの手順をテストするために使用された Haivision KB エンコーダに基づいています。別のエンコーダを使用している場合は、設定が似ているはずです。

    これは、この SRT サンプルで使用した設定です。

    Haivision-live-job-config
    ハイビジョンライブコンフィグ

    テスト再生

    この VideoJS HLS デモページを使用して再生をテストできますplayback_url返された値を作成ジョブの応答に貼り付けるだけです。

    videojs-hls-playback
    VideoJS HLS 再生デモページ

    ページの最終更新日22 Sep 2021