파이썬 코드

이 항목에서는 동적 인제스트 API를 사용하여 비디오를 수집하기 위한 샘플 Python 스크립트를 제공합니다.

서문

브라이트코브 플랫폼 API와 같은 REST API는 모든 언어와 함께 사용할 수 있습니다. 여기에 포함 된 Python 스크립트는 요청을 결합하는 방법을 보여주는 하나의 샘플입니다. 여기에는 간단한 GET 요청 (CMS API 용) 의 또 다른 샘플이 있습니다.

종속성

파이썬 스크립트

아래 코드는 스크립트를 보여줍니다. 이를 사용하려면 다음에 대해 고유 한 값을 제공해야합니다.

  • ***계정 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 = "https://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'])