kaakaa Blog

この世は極楽 空にはとんぼ

MP3を結合してYouTubeにアップするものを作った

複数のMP3ファイルをくっつけてYouTubeにアップするものを作りました。
kaakaa/GroovyYouTubeUploader

バンドの練習で撮ったMP3群をYouTubeにアップする時に

  • 複数のMP3を結合
  • YouTubeにアップできるようビデオ形式に変換
  • 手作業でアップロード

とかやってて、不毛だと思ったので作りました。


mp3の結合とビデオ形式への変換はFFmpegを使ってます。
FFmpeg

YouTubeにアップする部分はYouTube Data APIのサンプルをちょっといじって。
youtube-api-samples - YouTube API Sample Applications - Google Project Hosting

詳しい説明はGithubに書いてるつもり…

      • -

作ってる間に色々調べすぎてブラウザのタブ数がエラいことなっていたので吐き出しておきます。。

MP3ファイルに静止画を付けてビデオファイルに変換する

How to Encode Videos for YouTube and other Video Sharing Sites

Create a video with a still image (input.png) and an audio file (audio.ogg):

  ffmpeg -loop 1 -r 2 -i input.png -i audio.ogg -c:v libx264 -preset medium -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p output.mkv

ffmpegはオプションが多くて難しいけど、凄く便利そう。

Google Developer Consoleでアプリケーションを登録したのに、ファイルがアップロードできない

google api - Error: invalid_client no application name - Stack Overflow

"PRODUCT NAME"と"Email address"の設定も必要らしい。

YouTube Data APIでアップロードする動画の公開範囲を変更したい

VideoStatus (YouTube Data API v3 (Rev. 94) 1.17.0-rc)

VideoStatus#setPrivacyStatus(String privacyStatus)で設定可能。
設定出来るのは

  • public(公開)
  • unlisted(限定公開)
  • private(非公開)

一応、今回作ったアプリではconfファイルで設定可能にしました。

MavenプロジェクトをGradleプロジェクトに変更する

Gradle1.9でsetupBuildがinitに - 日々常々