2015年03月05日

リモートサーバーのffmpegを利用したい。

今、APサーバーとffmpegを共存させている。

APで元動画を受け付けて、ffmpegで変換って流れです。

で、ffmpegってそれなりにCPUが必要ですよね。thread オプションで調整はできるがスレッドが少ないと時間もその分かかる。

速度重視設定の場合、変換処理が重なった場合にAP側の機能への影響が怖い。。。

とういことで、変換専用のサーバーの構築です。

問題はAPで受け付けた元動画の共有と、APからリモートのFFMPEGの呼び出し。

考えてみた方法は以下:

1.動画の共有

FFMPEGサーバーのディスクをマウントし、APと共有する。
(どっちをどっちにマウントするかは設計次第で。FFMPEGが複数台なら、APのディスクをマウントしたほうがやりやすいでしょう。)

2.APからFFMPEGサーバーへコマンド発信

SSH経由で発行。sshpassでパスを省略。

参考:

コマンド発行方法
http://marucc.hatenablog.com/entry/20080206/1202301411
パスフレーズ省略
http://calcurio.com/wordpress/?p=1768

この2つの方法で実現してみる。

まずはAPサーバーにsshpassのインストール。

# tar -xzf sshpass.tar.gz
# cd sshpass-1.05
# ./configure
# make
# make install

# sshpass -p 'password' ssh -o StrictHostKeyChecking=no user@FFMPEGサーバー

おー。パス入力なしでログインできた。

次にFFMPEGコマンドを送ってみる。FFMPEGサーバーに変換元動画を配置して

# echo ffmpeg -i Wildlife.wmv Wildlife.mp4 | sshpass -p 'password' ssh -o StrictHostKeyChecking=no user@FFMPEGサーバー

おー!変換できた。これはいけそうですね。

次にマウント。お手軽にsshfsを利用します。

APサーバーにsshfsをインストール(※epelリポジトリの登録が必要かも。)

# yum install fuse-sshfs

APサーバーに/mnt/ffmpegを作って、FFMPEGサーバーの/home/userをマウントします。

# sshfs user@FFMPEGサーバー:/home/user /mnt/ffmpeg
# df -h

user@FFMPEGサーバー:/home/user
           405G 177G 208G 47% /mnt/ffmpeg


マウント完了。

これでひとまずの土台はできましたね。

他にも権限やら色々と問題起きそうですが、この方向性で進めてみます。

以上
posted by hana at 15:42| Comment(0) | TrackBack(0) | Linux関連 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。