YouPHPTubeの続き

今度は一気に動画を登録する必要がある。

Encoderをインストールしてみると、Bulk Encodeというのがあり
ここにサーバ側のディレクトリを指定するとディレクトリ内のファイルを自動でエンコードしてくれる機能がある。

これで一括エンコードできるなと思ったら
Windows版iTunesで管理していたファイルのファイル名が全部文字化けしている。
動画を登録するとファイル名が動画名となるため化けたままになる。
試しにファイル名の文字コードを変えてみたが変化はなし。
ちなみにエンコード前のファイルのmetaデータは一切拾ってくれない。

Encoderが使ってるffmpegコマンドのオプションは見ることもできるし、設定から変更できるようになっている。

これなら、自前でEncoderが使ってるオプションを付けて、スクリプトを書いて一括エンコードをやってしまってからYouPHPTubeにEncoderを通さずに直接登録した方が良いんじゃないかとファイルを1つエンコードし、登録してみる。
Encoder経由と同じで文字化けしている。
いろいろ調べてみると、文字コードは関係なく、ファイル名中にある半角スペースが問題らしい。
mvで変更してみると文字化けしない。

調べてる途中みたK-Lab(http://www.nemotos.net/?p=674)さんで

# find . -name “* *” | rename ‘s/ //g’

こういうのを見つけたので真似をする。
全ファイルの半角スペースを取り除くことに成功。

じゃあ一括エンコードのスクリプトを書こうと思ったら書けない(^^;;
もうちょい調べてこんな感じになる。

#!/bin/sh
for FILE in *.mp4
do
FILENAME=`echo ${FILE} | sed -e “s/\.[^.]*$//”`
ffmpeg -ss 18 -t 1 -r 1 -i ${FILE} -f image2 ${FILENAME}.jpg
ffmpeg -i ${FILE} -vf scale=-2:240 -movflags faststart -preset ultrafast -vcodec h264 -acodec aac -strict -2 -y v01/${FILE}
done

ふつうに登録するとスクリーンショットが砂嵐の画像になるので同名のファイルで拡張子をjpegにしてスクリーンショットも生成。
もとの動画の縦サイズが240pxだったのでサイズを -2:240に設定。あとはEncoderの設定そのまま。

無事YouPHPTubeに動画が100本ほど入る。

コメント

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