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

    Pythonコード

    このトピックでは、ダイナミックインジェスト API を使用してビデオをインジェストするための Python スクリプトの例を示します。

    はじめに

    Brightcove ブプラットフォーム API のような REST API は、どの言語でも使用できます。ここに含まれている Python スクリプトは、リクエストをまとめる方法を示すサンプルの 1 つにすぎません。ここには、単純な GET 要求 (CMS API 用) の別のサンプルがあります

    依存関係

    Pythonスクリプト

    以下のコードは、スクリプトを示しています。これを使用するには、次の値に独自の値を指定する必要があります。

    • ***アカウント ID はこちら**** (8行目)
    • ***クライアント ID はこちら**** (9 行目)
    • ***クライアントの秘密はこちら**** (10行目)
    • ***動画タイトルはこちら*** (27 行目)
    • ***ソース動画URLはこちら*** (40行目)
        #!/usr/bin/env python
        
        import sys
        import requests
        import json
        import argparse
        
        pub_id = "***ACCOUNT ID HERE****"
        client_id = "***CLIENT ID HERE****"
        client_secret = "***CLIENT SECRET HERE****"
        access_token_url = "https://oauth.brightcove.com/v4/access_token"
        profiles_base_url = "http://ingestion.api.brightcove.com/v1/accounts/{pubid}/profiles"
        
        def get_access_token():
            access_token = None
            r = requests.post(access_token_url, params="grant_type=client_credentials", auth=(client_id, client_secret), verify=False)
            if r.status_code == 200:
                access_token = r.json().get('access_token')
                print(access_token)
            return access_token
        
        def create_video():
            access_token = get_access_token()
            headers = { 'Authorization': 'Bearer ' + access_token, "Content-Type": "application/json" }
        
            url = ("https://cms.api.brightcove.com/v1/accounts/{pubid}/videos/").format(pubid=pub_id)
            data = '{"name": "***VIDEO TITLE HERE***"}'
            r = requests.post(url, headers=headers, data=data)
            return r.json()
        
        def submit_pbi(video_id):
            access_token = get_access_token()
            print access_token
            headers = { 'Authorization': 'Bearer ' + access_token, "Content-Type": "application/json" }
        
            url = ("https://ingest.api.brightcove.com/v1/accounts/{pubid}/videos/{videoid}/ingest-requests").format(pubid=pub_id, videoid=video_id)
            print url
        
            data = '''{
                    "master": { "url": "****SOURCE VIDEO URL HERE***" }
                 }'''
            r = requests.post(url, headers=headers, data=data)
            print r.headers
            return r.json()
        
        v = create_video()
        print v
        print submit_pbi(v['id'])