いくつかのことを自動化するために、ウェブインターフェースを使用せずにYouTubeにアップロードしたい。 OSXのコマンドラインからアップロードする方法はありますか?
このオープンソースプロジェクトを試してみてください: https://github.com/tokland/youtube-upload/
Youtube-uploadは、動画をYoutubeにアップロードするコマンドラインスクリプトです。
Youtube-uploadは、Python 2/3を実行するすべてのプラットフォーム(GNU/Linux、BSD、OS X、Windowsなど)で動作するはずです。
youtube-upload はYoutube APIv3とOAuth2を使用するようになりましたが、OAuth1の停止によりGoogleCLは壊れています。
https://github.com/vinitkumar/googlecl はGoogleCLのフォークであり、OAuth2に移植されたと主張しています(PyPIでは利用できません)。
GoogleCL 、ユニバーサルGoogleコマンドラインクライアントを使用します。 Pythonで実装されているため、クロスプラットフォームです。 youtube-uploadとは異なり、適切なOAuth2認証を使用するため、プレーンテキストでGoogleアカウントのパスワードを入力したり送信したりしません。
Pipを使用してインストールします。
pip install googlecl
ビデオのアップロードは次のように簡単です。
google youtube post --category Education killer_robots.avi
標準のYoutubeクラウドAPIへのアクセスに関するこの簡単なチュートリアルを使用してください。セットアップに10分かかり、作業を完了します。
http://www.cnx-software.com/2014/02/09/how-to-upload-youtube-videos-with-the-command-line-in-linux/
Googleにはたまたま独自のupload_video.pyスクリプトがあり、主に認証のために、いくつかの、またはかなり多くの努力で動作させることができました。おそらくもっと良い方法があります(コメントを歓迎します)が、ここで私がしなければならないことがありますbuntu 14.04で。
スクリプトをダウンロードします。
mkdir youtube-upload
cd youtube-upload
wget https://github.com/youtube/api-samples/raw/master/python/upload_video.py
Google API Python Clientをダウンロードして抽出し、関連するディレクトリをスクリプトがあるディレクトリに移動します。
wget https://google-api-python-client.googlecode.com/files/google-api-python-client-1.2.tar.gz
tar xzvf google-api-python-client-1.2.tar.gz
cd google-api-python-client-1.2/
mv apiclient/ oauth2client/ uritemplate/ ..
cd ..
デスクトップインターフェースを備えたコンピューターで、YouTube資格情報を使用してGoogle Cloud Console(名前とIDは関係ありません)で「Youtube Upload Script」というプロジェクトを作成し、API&auth-> APIでYouTube Data API v3を有効にします。 [資格情報]で、[新しいクライアントIDの作成]をクリックし、[アプリケーションの種類]で[インストール済みアプリケーション]を選択し、インストール済みアプリケーションの種類で[その他]を選択し、[クライアントIDの作成]をクリックします。これで、ネイティブアプリケーションのクライアントIDが次のようになります。
Youtube_Native_Client_ID
コマンドラインに戻り、上記のクライアントID、クライアントシークレット、リダイレクトURIを使用して、好みのエディター(例:nano、vi、…)でファイルclient_secrets.json viを作成します。
{
"installed": {
"client_id": "xxxxxxxxxx-yyyyyyyyyyyyyyy.apps.googleusercontent.com",
"client_secret":"ABCDXXxxxxxxxxx-CddddddddD",
"redirect_uris": ["http://locahost", "urn:ietf:wg:oauth:2.0:oob"],
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token"
}
}
これで、スクリプトを使用してYouTubeアカウントにビデオをアップロードできます。次の2つのケースがあります。スクリプトが実行されるマシン上のChromiumやFirefoxなどのデスクトップブラウザーにアクセスできます。
python upload_video.py --file=video.webm --title="Video Title" \
--description="Video Description" --keywords="keyword1, keyword2" \
--category=22 --privacyStatus="unlisted"
Most options are self-descriptive. Category 22 refers to People and Blog. other categories available are: Comedy “23”, Education “27”, Entertainment “24”, Film & Animation “1”, Gaming “20”, Howto & Style “26”, Music “10”, News & Politics “25”, Nonprofits & Activism “29”, People & Blogs “22”, Pets & Animals “15”, Science & Technology “28”, Sports “17”, and Travel & Events “19”.
privacyStatusでは、限定公開、非公開、公開のいずれかを選択できます。スクリプトが実行されるマシンはデスクトップブラウザーにアクセスできないため、別のマシンでブラウザーを使用する必要があります。代わりに次のコマンドを実行します。
python upload_video.py --file=video.webm --title="Video Title" \
--description="Video Description" --keywords="keyword1, keyword2" \
--category=22 --privacyStatus="unlisted" --noauth_local_webserver
ターミナルに入力できる確認コードを取得するために、ブラウザにアクセスするためのリンクが提供されます。これは、認証のためにユーザーの介入なしでビデオをアップロードできるようになった後、初めて必要になります。 noauth_local_webserverなしでコマンドを実行し、テキストベースのWebブラウザーにしかアクセスできない場合、通常JavaScriptをサポートしていないため、これは機能しません。これで、動画がYouTubeアカウントにアップロードされます。
Authentication successful.
Uploading file...
Video id 'sbRf3O3VCEI' was successfully uploaded.
ビデオの1つで を使用して自分でテストしましたが、VPSから非常に迅速に実行されました。