Mac OSXでmp3をflvにしてYoutubeにアップする簡単な方法

Apple Mac
(お約束)ご利用は自己責任でお願いします

 

新しいバージョンをリリースしました。こちらからどうぞ。

 

mp3つまり音声オンリーのファイルは、そのままではYoutubeにアップできないんです。
iMovieやiPhotoで静止画付ける方法もあるけど、書き出しに時間がかかるんです。それにiMovieとか使い始めるとどうしても凝ったものを作ってしまって余計に時間がかかるという悪循環。

 

ここではmp3に一枚の写真を貼りつけてflvムービーにする方法を解説します。60分くらいのmp3でも、ものの3分で出来上がりです。
で、最終的に書き出されるflvを、Youtubeにアップすればバッチリです。

 

参考にしたのは、このサイト様です。感謝。
mp3音声を動画にしてyoutubeにアップロード – huwaponの日記.

 

しかしまあ、ただ真似するだけでは芸がないので、シェルスクリプトにして自動化したいと思います。
OSXのターミナルは(何度も言ってますが)ディレクトリや画像ファイルはターミナルにドラッグ&ドロップすればいいから楽なんです。

なるべく分かりやすく書いたので、余分な命令もあると思います。適時削って下さい。

それとffmpegとconvert(ImageMagick内のコマンド。写真をJPEGに変換するために必要)、それをインストールするためのXCODEなどが入っていないとこれが動かないので、その点ご注意を。
その説明はまたおいおい書いていきますが、まあ、ググれば誰かしら解説していますし、そっちのほうがオススメ(笑)。簡単なメモは一番下に書いておきました。

#!/bin/sh
#
##########################################################
#    適当な画像をつけてmp3をムービー化するためのシェルスクリプト
#    https://mcbrain.jp/2800/
#    改変自由ですが、自己責任で
#
###############################################
# ディレクトリの変更
###############################################
echo “作業するディレクトリを指定して下さい”
read MYDIR
# 作業ディレクトリを固定するときは以下にて指定
#MYDIR=/Users/xxxx/yyy/zzz
cd $MYDIR
#
###############################################
# ムービーに埋め込みたい画像ファイルをjpgに変更
###############################################
echo “ムービーに埋め込みたい画像ファイルを指定して下さい”
read MYIMAGE
# jpgに変換
convert $MYIMAGE $MYDIR/tmp.jpg
#
###############################################
# ムービーの再生時間を設定
###############################################
echo “mp3の再生時間の時間は?”
read MYHOUR
echo “mp3の再生時間の分は?”
read MYMIN
echo “mp3の再生時間の秒は?”
read MYSEC
# ムービーの再生時間を設定
MOVIETIME=`expr \( $MYHOUR \* 60 \* 60 \) + \( $MYMIN \* 60 \) + $MYSEC`
# 時間が決まっているときは以下のような感じで
#MOVIETIME=`expr \( 0 \* 60 \* 60 \) + \( 14 \* 60 \) + 0`
#
###############################################
# aviファイルを作成
###############################################
ffmpeg -f image2 -loop_input -t $MOVIETIME -r 4 -vcodec copy -i $MYDIR/tmp.jpg $MYDIR/tmp.avi
#
###############################################
# aviファイルをflvに変換
###############################################
ffmpeg -i $MYDIR/tmp.avi $MYDIR/tmp.flv
#
###############################################
# mp3ファイルの指定
###############################################
echo “ムービー化したいmp3ファイルを指定して下さい”
read MP3FILE
#
# 作成時間を取得してファイル名にするときは下のを使う
#FILENAME=`date +%H-%M-%S`
#
# mp3ファイル名.flvというファイル名にするときは下のを使う
FILENAME=`basename $MP3FILE`
#
###############################################
# flvファイルを作成
###############################################
ffmpeg -vcodec copy -acodec copy -i $MYDIR/tmp.flv -i $MP3FILE $MYDIR/$FILENAME.flv
#
###############################################
# いらないファイルをお掃除
rm -f $MYDIR/tmp.jpg $MYDIR/tmp.avi $MYDIR/tmp.flv

(¥で表示されているのはバックスラッシュです。)

これを「henkan.sh」などと名付けて保存して、ターミナルから

> sh henkan.sh

と打てば動くはずです。

文字コードはUTF-8で改行コードはLFです。

 

このスクリプトが動かすための簡単なメモ

  1. XcodeをOSXのインストールDVDからインストール
  2. ImageMagickのコマンドconvertを入れる準備としてlibpng とlibjpegを入れる。インストーラあります。
  3. ImageMagickを入れるには、MacPortsから入れたほうが簡単。なので、MacPortsをインストールします。The MacPorts Project — Download & Installation.
    「The easiest way to install MacPorts on a Mac OS X system is by downloading the dmg for Lion, Snow Leopard or Leopard and running the system’s Installer by double-clicking on the pkg contained therein, following the on-screen instructions until completion.」などと書いてある自分のOSXバージョンのものをダウンロードしてインストール。
  4. ターミナルから
    > sudo port install ImageMagick
    でImageMagickをインストールします。けっこう時間かかるんで気長に待ちましょう。
  5. ffmpegもportからインストールできます。ffmpeg macports でググってください(笑)。時間かかります。

コメント

  1. […] 前に、Mac OSXでmp3を簡単にflvにしてYoutubeにアップする方法を書いたんですけど、もっと自動化できないかと試行錯誤しておりました。 […]

  2. […] Mac OSXでmp3を簡単にflvにしてYoutubeにアップする方法に色々と処理を追加しようと調べています。 […]

  3. […] Mac OSXでmp3を簡単にflvにしてYoutubeにアップする方法に色々と処理を追加しようと調べています。 […]

  4. […] Mac OSXでmp3をflvにしてYoutubeにアップする簡単な方法を書いたんですが、それをバージョンアップしました。 […]

タイトルとURLをコピーしました