Heim  >  Artikel  >  Backend-Entwicklung  >  So stellen Sie mithilfe von Python eine Verbindung zur Cloud-Schnittstelle her, um die Videotranskodierung und -bearbeitung durchzuführen

So stellen Sie mithilfe von Python eine Verbindung zur Cloud-Schnittstelle her, um die Videotranskodierung und -bearbeitung durchzuführen

王林
王林Original
2023-07-06 08:48:0611149Durchsuche

So verwenden Sie Python, um eine Verbindung zur Youpaiyun-Schnittstelle herzustellen, um Videotranskodierung und -bearbeitung zu erreichen.

Zusammenfassung: Youpaiyun ist eine leistungsstarke Cloud-Speicherplattform, die umfangreiche Multimedia-Verarbeitungsfunktionen bietet. In diesem Artikel wird erläutert, wie Sie mithilfe von Python eine Verbindung zur API-Schnittstelle von Youpaiyun herstellen und Funktionen zur Videotranskodierung und -bearbeitung implementieren. Zu den spezifischen Inhalten gehören das Festlegen von API-Schlüsseln, das Hochladen von Videodateien, das Initiieren von Transkodierungsaufgaben, das Abfragen des Aufgabenstatus, das Herunterladen transkodierter Videodateien usw.

  1. API-Schlüssel festlegen

Bevor wir die API-Schnittstelle von Youpaiyun verwenden können, müssen wir ein Konto auf der offiziellen Website von Youpaiyun registrieren und einen Speicherplatz erstellen. Melden Sie sich dann beim Konto an, rufen Sie die Konsole auf, suchen Sie in der linken Navigationsleiste nach „Schlüsselverwaltung“ und generieren Sie einen API-Schlüssel. Speichern Sie den API-Schlüssel lokal für nachfolgenden Python-Code.

  1. Installieren Sie die erforderlichen Bibliotheken

Um Python für die Verbindung mit der Cloud-Schnittstelle zu verwenden, müssen wir relevante Bibliotheken installieren, einschließlich Anfragen und JSON.

pip install requests
pip install json
  1. Videodateien hochladen

Mit der API-Schnittstelle von Youpaiyun müssen Sie zunächst die Videodateien in den Speicherplatz von Youpaiyun hochladen. Unter der Annahme, dass die Videodatei, die wir hochladen möchten, „example.mp4“ heißt, lautet der Python-Code wie folgt:

import requests

def upload_video_file(api_key, api_secret, bucket_name, local_file_path):
    url = f'https://{bucket_name}.video.upyun.com/{local_file_path}'
    authorization = api_key + ":" + api_secret
    headers = {
        'Authorization': 'Basic ' + base64.b64encode(authorization.encode()).decode()
    }
    with open(local_file_path, 'rb') as file:
        data = file.read()
    response = requests.put(url, headers=headers, data=data)
    if response.status_code == 200:
        print("视频文件上传成功!")
    else:
        print("视频文件上传失败!")

api_key = 'your_api_key'
api_secret = 'your_api_secret'
bucket_name = 'your_bucket_name'
local_file_path = 'example.mp4'

upload_video_file(api_key, api_secret, bucket_name, local_file_path)

Im Code verwenden wir die Anforderungsbibliothek, um eine PUT-Anfrage zum Hochladen der Videodatei in den Speicherplatz von Youpaiyun zu senden . Wir müssen das Autorisierungsfeld im Anforderungsheader auf den API-Schlüssel setzen. Nach erfolgreichem Upload wird der Statuscode 200 zurückgegeben.

  1. Transkodierungsaufgabe starten

Nach dem Hochladen der Videodatei können wir eine Transkodierungsaufgabe starten, um das Originalvideo in verschiedene Formate und Auflösungen zu transkodieren. Youpaiyun bietet eine Fülle von Transkodierungsparametern, die je nach Bedarf eingestellt werden können. Das Folgende ist ein Beispielcode zum Transkodieren eines Videos in das MP4-Format mit einer Auflösung von 720p:

import requests

def transcode_video(api_key, api_secret, bucket_name, local_file_name, target_file_format, target_resolution):
    url = f'https://{bucket_name}.video.upyun.com/transcoding/'
    authorization = api_key + ":" + api_secret
    headers = {
        'Authorization': 'Basic ' + base64.b64encode(authorization.encode()).decode(),
        'X-Transcode-Target': target_file_format,
        'X-Transcode-Resolution': target_resolution
    }
    data = {
        'source': local_file_name
    }
    response = requests.post(url, headers=headers, data=data)
    if response.status_code == 201:
        task_id = response.json()['task_id']
        print(f"转码任务已创建,任务ID为{task_id}")
    else:
        print("转码任务创建失败!")

api_key = 'your_api_key'
api_secret = 'your_api_secret'
bucket_name = 'your_bucket_name'
local_file_name = 'example.mp4'
target_file_format = 'mp4'
target_resolution = '720p'

transcode_video(api_key, api_secret, bucket_name, local_file_name, target_file_format, target_resolution)

Im Code verwenden wir die Anforderungsbibliothek, um eine POST-Anfrage zu senden, um die Transkodierungsaufgabe zu starten. Wir müssen das Autorisierungsfeld im Anforderungsheader auf den API-Schlüssel setzen und das Zieldateiformat und die Auflösung im Anforderungsheader angeben. Nach erfolgreichem Hochladen wird der Statuscode 201 und die Aufgaben-ID zurückgegeben.

  1. Aufgabenstatus abfragen

Nachdem wir eine Transkodierungsaufgabe initiiert haben, können wir die API-Schnittstelle von Youpaiyun verwenden, um den Status der Aufgabe abzufragen. Das Folgende ist ein Beispielcode:

import requests

def query_task_status(api_key, api_secret, bucket_name, task_id):
    url = f'https://{bucket_name}.video.upyun.com/tasks/{task_id}/'
    authorization = api_key + ":" + api_secret
    headers = {
        'Authorization': 'Basic ' + base64.b64encode(authorization.encode()).decode()
    }
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        task_status = response.json()['status']
        print(f"任务状态为{task_status}")
    else:
        print("查询任务状态失败!")

api_key = 'your_api_key'
api_secret = 'your_api_secret'
bucket_name = 'your_bucket_name'
task_id = 'your_task_id'

query_task_status(api_key, api_secret, bucket_name, task_id)

Im Code verwenden wir die Anforderungsbibliothek, um eine GET-Anfrage zu senden, um den Status der Aufgabe abzufragen. Wir müssen das Autorisierungsfeld im Anforderungsheader auf den API-Schlüssel setzen. Nach erfolgreicher Abfrage wird der Statuscode 200 und der Status der Aufgabe zurückgegeben.

  1. Laden Sie die transkodierte Videodatei herunter

Nachdem die Videotranskodierungsaufgabe abgeschlossen ist, können wir die API-Schnittstelle von Youpaiyun verwenden, um die transkodierte Videodatei herunterzuladen. Das Folgende ist ein Beispielcode:

import requests

def download_transcoded_video(api_key, api_secret, bucket_name, task_id, local_file_name):
    url = f'https://{bucket_name}.video.upyun.com/tasks/{task_id}/download'
    authorization = api_key + ":" + api_secret
    headers = {
        'Authorization': 'Basic ' + base64.b64encode(authorization.encode()).decode()
    }
    response = requests.get(url, headers=headers)
    if response.status_code == 200:
        with open(local_file_name, 'wb') as file:
            file.write(response.content)
        print("视频文件下载成功!")
    else:
        print("视频文件下载失败!")

api_key = 'your_api_key'
api_secret = 'your_api_secret'
bucket_name = 'your_bucket_name'
task_id = 'your_task_id'
local_file_name = 'output.mp4'

download_transcoded_video(api_key, api_secret, bucket_name, task_id, local_file_name)

Im Code verwenden wir die Anforderungsbibliothek, um eine GET-Anfrage zum Herunterladen der transkodierten Videodatei zu senden. Wir müssen das Autorisierungsfeld im Anforderungsheader auf den API-Schlüssel setzen. Nach erfolgreichem Download wird der Statuscode 200 zurückgegeben und die Datei lokal gespeichert.

In diesem Artikel wird erläutert, wie Sie mit Python eine Verbindung zur Youpai Cloud-Schnittstelle herstellen und Funktionen zur Videotranskodierung und -bearbeitung implementieren. Durch das Festlegen von API-Schlüsseln, das Hochladen von Videodateien, das Initiieren von Transkodierungsaufgaben, das Abfragen des Aufgabenstatus und das Herunterladen transkodierter Videodateien können wir die Videoverarbeitung in Python sehr bequem durchführen. Dies ist sehr nützlich für Szenarien, die eine Stapelverarbeitung von Videos erfordern, wie z. B. Video-Websites, Kurzvideoplattformen, Online-Bildung und andere Bereiche. Ich hoffe, dass dieser Artikel den Lesern helfen kann, die Funktionen von Youpaiyun besser zu nutzen und ihren Projekten mehr Multimedia-Verarbeitungsfunktionen hinzuzufügen.

Das obige ist der detaillierte Inhalt vonSo stellen Sie mithilfe von Python eine Verbindung zur Cloud-Schnittstelle her, um die Videotranskodierung und -bearbeitung durchzuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn