YouTube DataAPIを介して大きなビデオをアップロードするときのPythonMemoryError

カナンハサンザデ

MemoryError大きなビデオファイルをYouTubeにアップロードしようとしているときに取得します。小さいファイルをアップロードする場合は問題ありませんが、ファイルが大きい場合はMemoryErrorコードがビデオファイルをRAMにロードしようとしているためだと思います。RAMにロードせずにビデオをアップロードする方法はありますか?

import os
from googleapiclient.http import MediaFileUpload
import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors

scopes = ["https://www.googleapis.com/auth/youtube.upload"]


def main():
    os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "0"

    client_secret_file = 'client_credentials.json'
    api_name = 'youtube'
    api_version = 'v3'

    flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(client_secret_file, scopes)
    credentials = flow.run_console()
    youtube = googleapiclient.discovery.build(api_name, api_version, credentials=credentials)

    request = youtube.videos().insert(
        part='snippet,status',
        body={
            'snippet': {
                'categoryId': "20",
                'title': 'test title',
                'tags': ['tag1', 'tag2']
            },
            'status': {
                'privacyStatus': 'private'
            }
        },
        media_body=MediaFileUpload(File Path)
    )

    response = request.execute()

    print(response)


if __name__ == '__main__':
    main()

MemoryError例外の理由は次のとおりです。入力ビデオファイル、リモートサービスに送信されるために処理される前に、完全にメモリロードされます

def createMethod(methodName, methodDesc, rootDesc, schema):
    ...
    def method(self, **kwargs):
        ...
        if media_filename:
            ...
            if media_upload.resumable():
                ...
            else:
                # A non-resumable upload
                if body is None:
                    ...
                else:
                    ...
                    payload = media_upload.getbytes(0, media_upload.size())
                    ...

動画を一度にアップロードするのではなく、定評のある公開Googleスクリプトを使用して再開可能なアップロードを使用することを強くお勧めしますupload_video.py(このスクリプトには公式ドキュメントもあります。スクリプトからわかりやすい使用法情報ページを取得するには、コマンドラインオプションを指定して発行するだけ--helpです。)


Python 3を使用している場合(コードが示唆している)、そのスクリプトはPython 2用に記述されているため、Python 3に変換する必要があります。これについては、私1つの回答のパッチ適用upload_video.pyセクションを参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

HttpWebRequestを介してYoutubeにビデオをアップロードする

分類Dev

Youtube API v3再開可能アップロードを使用してより大きなビデオをアップロードする際のエラー(AWS EC2上)

分類Dev

YouTube APIを介してアップロードすると、ビデオファイルが0%パーセントでスタックします

分類Dev

iOSSDKなしでRESTAPIを使用してYoutubeにビデオをアップロードする

分類Dev

YouTube DataAPI-ビデオプレーヤー付きのプレイリストアイテム[コード例]

分類Dev

YouTubeなどのサードパーティのビデオコンテンツポータルを使用して、自分のWebポータルにビデオをアップロードおよび投稿できますか?

分類Dev

複数のユーザーが Youtube-api を介して私の Youtube チャンネルにアップロードできる方法はありますか

分類Dev

YouTubeビデオAPIキーを使用してOauthでApiをアップロードする

分類Dev

c#Asp .netMVCを使用してYouTubeにビデオをアップロードする

分類Dev

Youtube RestAPIを使用してアップロードされたビデオが失敗する

分類Dev

クロム:YouTubeのビデオを見ているときに広告をブロックする

分類Dev

Youtube Data APIを使用して動画をYouTubeにアップロードするときに1日の制限に達しました

分類Dev

YouTubeビデオサーバー側をアップロードする

分類Dev

GeckoFX 60のevaluatescriptメソッドを使用してYouTubeビデオのアップロード日を取得するにはどうすればよいですか?

分類Dev

アップロードされたビデオが1920x 1040の場合、YouTubeがビデオの最高解像度として1080pを表示するのはなぜですか?

分類Dev

AndroidStudio経由でYoutubeにビデオをアップロードする

分類Dev

YouTubeプレーヤーを介してビデオを自動再生する方法

分類Dev

OAuth なしで API を介して毎回動画を Youtube にアップロードする

分類Dev

YouTubeビデオURLを取得-DataAPI 3.0

分類Dev

.NET-OAuth2.0とWindowsサービスからのオフラインアクセスを使用してYouTubeに動画をアップロードする方法

分類Dev

YouTubeにビデオをアップロードするコードを含むAzure関数を正常に実行できません

分類Dev

YouTubeにビデオをアップロードするためのAdobePremiereの最適なエンコードオプションは何ですか?

分類Dev

YouTubeビデオを自分のチャンネルにアップロードしたときに、c#DiscordBotにサーバーに通知させるにはどうすればよいですか

分類Dev

YouTubeビデオをダウンロードするときにffmpeg「マニフェストが大きすぎます」

分類Dev

オーバーレイとしてポップアップした後、YouTube ビデオを停止します。

分類Dev

Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

分類Dev

Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

分類Dev

youtube-dl-字幕付きのYouTubeからビデオをダウンロード-チュートリアル

分類Dev

ポップアップを閉じるとYoutubeビデオが停止します

Related 関連記事

  1. 1

    HttpWebRequestを介してYoutubeにビデオをアップロードする

  2. 2

    Youtube API v3再開可能アップロードを使用してより大きなビデオをアップロードする際のエラー(AWS EC2上)

  3. 3

    YouTube APIを介してアップロードすると、ビデオファイルが0%パーセントでスタックします

  4. 4

    iOSSDKなしでRESTAPIを使用してYoutubeにビデオをアップロードする

  5. 5

    YouTube DataAPI-ビデオプレーヤー付きのプレイリストアイテム[コード例]

  6. 6

    YouTubeなどのサードパーティのビデオコンテンツポータルを使用して、自分のWebポータルにビデオをアップロードおよび投稿できますか?

  7. 7

    複数のユーザーが Youtube-api を介して私の Youtube チャンネルにアップロードできる方法はありますか

  8. 8

    YouTubeビデオAPIキーを使用してOauthでApiをアップロードする

  9. 9

    c#Asp .netMVCを使用してYouTubeにビデオをアップロードする

  10. 10

    Youtube RestAPIを使用してアップロードされたビデオが失敗する

  11. 11

    クロム:YouTubeのビデオを見ているときに広告をブロックする

  12. 12

    Youtube Data APIを使用して動画をYouTubeにアップロードするときに1日の制限に達しました

  13. 13

    YouTubeビデオサーバー側をアップロードする

  14. 14

    GeckoFX 60のevaluatescriptメソッドを使用してYouTubeビデオのアップロード日を取得するにはどうすればよいですか?

  15. 15

    アップロードされたビデオが1920x 1040の場合、YouTubeがビデオの最高解像度として1080pを表示するのはなぜですか?

  16. 16

    AndroidStudio経由でYoutubeにビデオをアップロードする

  17. 17

    YouTubeプレーヤーを介してビデオを自動再生する方法

  18. 18

    OAuth なしで API を介して毎回動画を Youtube にアップロードする

  19. 19

    YouTubeビデオURLを取得-DataAPI 3.0

  20. 20

    .NET-OAuth2.0とWindowsサービスからのオフラインアクセスを使用してYouTubeに動画をアップロードする方法

  21. 21

    YouTubeにビデオをアップロードするコードを含むAzure関数を正常に実行できません

  22. 22

    YouTubeにビデオをアップロードするためのAdobePremiereの最適なエンコードオプションは何ですか?

  23. 23

    YouTubeビデオを自分のチャンネルにアップロードしたときに、c#DiscordBotにサーバーに通知させるにはどうすればよいですか

  24. 24

    YouTubeビデオをダウンロードするときにffmpeg「マニフェストが大きすぎます」

  25. 25

    オーバーレイとしてポップアップした後、YouTube ビデオを停止します。

  26. 26

    Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

  27. 27

    Pythonスクリプトでyoutube-dlを使用してyoutubeビデオからオーディオのみをダウンロードする

  28. 28

    youtube-dl-字幕付きのYouTubeからビデオをダウンロード-チュートリアル

  29. 29

    ポップアップを閉じるとYoutubeビデオが停止します

ホットタグ

アーカイブ