[Windows]ffmpegとbatファイルで快適ドラッグ&ドロップ変換

2013/3/15にFFmpeg1.2がリリースされました。
ちょうどAni-ZONE Frontierのライブ準備で動画変換する必要があったので、ありがたく使わせてもらったところです。

で。

内部的にこのFFmpegを使った各種GUI変換ソフトはたくさんあるのだけど、ちょいちょいオプションが変わったり、搭載しているバージョンが古くて変換できないものがあるなど、結局は直接設定を書いたほうが幸せになれることが。

ただし、いちいちMS-DOSのコマンドラインからやるのは面倒なので、こんな風に

mp3変換とか
mp3変換とか

変換用のバッチファイルを作っておいて、エクスプローラ上でドラッグアンドドロップしてやれば楽チンですね。ということで

まずはFFmpegをダウンロード

http://ffmpeg.zeranoe.com/builds/

使ってるOSの32/64bitに注意してStaticを落とせばよかです。

変換用バッチファイルを作成

新規テキストファイルを作って、この内容を書いて、拡張子を,batで保存するだけです。
FFmpegを絶対パス指定しているので、どこにバッチファイルを保存しても大丈夫。
ついでに、出力はデスクトップに変換元ファイルと同じファイル名で出てきます。

肝心の変換設定は6行目。
サンプルは何か(音声・動画)からmp3形式に音声だけ取り出すものです。

※FFmpegの保存先にあわせて、「C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe」を読み替えてください。

@ECHO OFF

:FILEDROP
ECHO ファイル受け取り
cd C:\Users\xxxx\Desktop
:REPEAT
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -i %1 "%~n1.mp3"
if "%~2"=="" GOTO EXIT
shift
GOTO REPEAT
:EXIT
pause

※2013/3/30 追記 ファイルの複数ドラッグ&ドロップに対応しました。

変換設定を色々変えてみる

例1)640x480の画質そこそこmp4作成
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -i %1 -r 30 -b 10000k -s 640x480 -vcodec mpeg4 "%~n1.mp4"

例2)320x240の画質まあまあ携帯プレビュー用mp4作成(ファイル名の後ろに320x240つけて出力する)

C:\Users\xxxxx\Desktop\ffmpeg\bin\ffmpeg.exe -i %1 -r 30 -b 700k -s 320x240 -vcodec mpeg4 "%~n1_320x240.mp4"

h.264使うのはそもそもコーデック導入が面倒だったので見なかったことにした。

変換できる形式は?

たくさんあるので、デスクトップにテキストファイルで保存してみるが吉
cd C:\Users\xxxx\Desktop
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -formats > ffmpeg_formats.txt

使えるコーデックは?

デスクトップにテキストファイルで(ry
cd C:\Users\xxxx\Desktop
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -formats > ffmpeg_codecs.txt

その他オプションは?

 
C:\Users\xxxx\Desktop\ffmpeg\bin\ffmpeg.exe -help

詳しい使い方は参考URL参照。 (「最新」とありますが、これを書いてる時点では2011年06月の情報です。古いですが、基本的に変わってない所もあるので)
参考URL:http://mobilehackerz.jp/archive/wiki/index.php?%BA%C7%BF%B7FFmpeg

ManyCamとSound Blaster X-Fi Go!Proで生放送するときの音声設定

3日かかってどうしても上手くいかない、とのことで仕事で設定サポートしたときのメモより。

やりたいこと

PCのWindows Media PlayerとかiTunesでBGM流しながらマイクの音声を配信したい。
※今回は配信サービスに「FC2ライブ」使ってますが、基本的にニコニコ生放送等ほかのサービスでも設定自体は変わりません。

使うもの

  1. パソコン本体
    今回はMacbook Air + Windows7
  2. 音声デバイス
    Creative Sound Blaster X-Fi Go! Pro
    本体にステレオミキサー非搭載のため。
  3. 配信用ソフト
    ManyCam
    Webカメラの映像にエフェクトかけるためのフリーソフトですが、機能的にはPCにくっつけてる複数のカメラや音源を、映像・音声各1デバイスにまとめてくれる便利な奴です。

配線

マイク ---- X-Fi Go!Pro --- PC(ManyCam)

配信者が聞くための音(ヘッドフォンなど)はどこから出してもいいので、X-Fi Go!通さなくてもかまわんです。

先にやっておくこと

Creative Sound Blaster X-Fi Go! Proのドライバの最新版入れておく。(製品名とOS選んでダウンロード)
これをしないと、再生リダイレクト(ステレオミキサーと同等の機能)が一覧に出てこない。
何気にドライバのインストールは何度も画面が開いたり、再起動が必要になります。

それから、接続したマイクの音がちゃんと拾える状態かどうか確認しておく。
確認方法は、録音デバイスのボリュームメーターがあがるかどうかでみるのがいいのだけど、
今回テストで使ったShure PG48だとほとんど無反応だったので、波形が見える録音ソフトで確認したりしました。

マイク

PCのスピーカーから出るか、録音ソフトなどで音が入るかどうか、などでもチェック可能です。

設定

スタートボタン > コントロールパネル > サウンドの[録音デバイス]の画面

録音デバイス
録音デバイスの設定値

ManyCamの音声画面

ManyCam音声設定タブ

FC2ライブのカメラと音声デバイスの設定画面

キャプチャ
FC2

テスト方法

iTunesとかWindows Media Playerで音楽を再生する。しゃべる。以上。

スイッチ付いてるマイクの場合は、ONになってるかちゃんと確認しましょう(笑

PCが2台あれば、配信開始後にもう1台で閲覧して音量等の確認が可能。

上手くいかないとき

X-Fi+Go!+Pro 配信とかでググるといいのではないかと。

VIPで初心者がゲーム実況するには@ Wiki – Sound Blaster X-Fi Go! Proあたりにとっても細かく書いてありそうでした。

さくら共有サーバSVNからローカルgitにgit svn cloneするとき

何度もパスワード聞かれて、ちょっと目をはなした隙にタイムアウトしよるので、
なんかいやっても!なんかいやっても!リビジョン900程度のリポジトリがgit svn cloneできませぬ。

そんなわけでSVNリポジトリはサーバ上で

svnadmin dump (サーバーSVNリポジトリフルパス) > ~/repos.dump

としてrepos.dumpファイルをFTPから落とします。

■ローカルPC上に
Subversionを入れて、リポジトリをつくって

svnadmin load (ローカルのSVNリポジトリ) < repos.dump

としてさきほどのdumpを取り込み…

ローカルのgitで

git svn clone (ローカルのSVNリポジトリ)

すると。

さくらVPSでRedmineを動かすまで

どうしても動かなくて一度初期化したりなんだりしましたが、とりあえず設定完了してきましたメモ。

著者前提スキル:

  • Linuxは10年くらい前にCUIでVineLinux4でゼミのサーバー立てたことがある程度
    その後は設定済みレンタルサーバーをお好みで変更してたくらい。
  • XAMPPが出てからは開発環境もずっとXAMPP-Lite
  • Ruby触ったこと無い
  • Redmine使ったことない

目的:

  1. RedmineをWEBサーバ経由で使う(当然ですが
  2. Redmineからの通知メールを送りたい
  3. しばらくの間ログ見たりするのにSSHが要る(さくらの管理画面からでもターミナル開けるのですが)
  4. テーマをいじると思うのでFTPもあけとこう(使い終わったら閉じる)

取り掛かる前に読んだ所
さくらのVPS を改めて使いはじめる 1 – 使用準備、SSH 公開鍵認証シリーズ
改める前のほうの記事と合わせてとても参考になった。

先にどういうサーバーにするか決めてからとりかかるのが大切だなあと(しみじみ)。

さくらVPSのデフォルトであるCentOS6.4をつかう。
ちょうどRedmine.JP BlogさんのCentOS6向けRedmine2.0インストール記事が2012年5月15日付けで上がっていたので、そちらを参考にする。

Redmine 2.0をCentOS 6にインストールする手順

基本的には上記の通り進めていけば…というか、この通りやってやっと動くようになった感じです。
別手順で慎重にやったときは、最終的にRedmine::l18nで起きるエラーが解決できずに初期化することになりました。
ひとまずは上記の通り設定。

RedmineがURLでアクセスできるようになったらiptablesの設定
~/tools/ipt.shなどの名前で作ってからまとめて実行が良いと思います。

#!/bin/sh

/sbin/iptables -F
/sbin/iptables -X

/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP

/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT

/sbin/iptables -A INPUT -s 10.0.0.0/8 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.0/16 -j DROP

/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# INPUT : SSH, HTTP, FTPx2
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 22    -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 80    -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 20    -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 21    -j ACCEPT

# OUTPUT : SSH, HTTP, FTPx2, MAIL
/sbin/iptables -A OUTPUT -p tcp -m state --state NEW --dport 22   -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m state --state NEW --dport 80   -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m state --state NEW --dport 20   -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m state --state NEW --dport 21   -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -m state --state NEW --dport 25   -j ACCEPT

/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

/etc/rc.d/init.d/iptables save
/sbin/service iptables restart

#IPv6用ファイアウォールの設定
/sbin/ip6tables -F
/sbin/ip6tables -X

/sbin/ip6tables -P INPUT DROP
/sbin/ip6tables -P OUTPUT DROP
/sbin/ip6tables -P FORWARD DROP

/etc/rc.d/init.d/ip6tables save
/sbin/service ip6tables restart

SSHのポートは22から他のものに変更しています。
さくらのVPS を使いはじめる 2 – sudo と SSH ポート変更

なお、

※2 IPv6アドレスには今後対応予定となっております。

さくらのVPS公式スペック表にこのように書いてあったので、とりあえずDROP!ヽ(゚∀゚)ノ

/var/log/maillogにredmine@example.netがあって気持ち悪いときはこちらを参照。
redmine で 通知メールなどの from を設定する

Redmineの再起動は基本Apacheのservice httpd restartで行うのですが、こんな方法もある様子。
PassengerでApache組み込みしたRedmineをApache再起動せずにRedmineだけ再起動する方法

さて、かなり他力本願でここまできてRedmineをブラウザから動かすことはできたので、次はラスボスであるメール送信についてまとめます…たぶん…

iOS版Evernoteの新規ノートは美味しそうでした。

忙しくなってくると、情報を一元化するのにEvernoteのプレミアム課金しています。
(暇なときは使わないので無料に戻ります)

さて、今回も課金してオフラインノートもバッチリ使えるようになったところで気づいた怪現象について。
“iOS版Evernoteの新規ノートは美味しそうでした。” の続きを読む