無料なだけでなく、みんなが自由に使える オープンソースソフトを使い方の解説します。

2007年10月19日金曜日

FFMpegで連続画像から動画を作成する

オープンソースソフト FFMpegを使って複数の画像から動画を作成する方法を説明します。

スライドショーなどを作成することが可能です。
ただMS-DOSを使いますので多少難しいです。
他には、テキスト動画で連番画像から動画を作成するの方法などがあります。

注意事項ですが、画像のサイズはすべておなじで、またファイル名は1から始まる規則的な数字連番でないといけません。
(image0001.jpgや001.pngなど)


Avi動画にする
ffmpeg -i "c:\tmp\image%05d.jpg" -vcodec mjpeg -sameq out.avi
というコマンドを実行します。

最初の-i "c:\tmp\image%05d.jpg"では入力画像ファイルを指定しています。
ここで重要なのが%05という部分です。これは5桁で数字は調整されているという意味です。
(image00001.jpgやimage00100.jpg)

そして次の-vcodec mjpegですがこれは、Motion JPEGという映像コーデックを使うという意味です。素材がJPEG画像の場合、mjpegを使うと変換速度が速くなります。
そして次の-sameq は素材と同じ画質という意味です。
そして最後のout.aviが保存先となります。

またこの設定ですと、動画のサイズは画像と同じで、フレームレートは25fpsになります。

サイズを変更する
サイズを指定するためのオプション(-s)を追加します。
ffmpeg -i "c:\tmp\image%05d.jpg" -vcodec mjpeg -sameq -s 640x480 out.avi
-s 640x480を出力先の前に追加することで、動画の画面サイズを640x480に変更できます。

フレームレート(fps)を変更する
フレームレート25はスライドショーとしては早すぎるので、1秒に1枚表示するようにするには、フレームレートを1にするように指定します。
ffmpeg -r 1 -i "c:\tmp\image%05d.jpg" -vcodec mjpeg -sameq out.avi
これは-r 1というオプションを入力の前に追加します。このオプションは1秒間に何枚画像を表示するかです。4秒に表示したい場合は、-r 0.25とします。

2007年10月12日金曜日

FFMpegで動画を画像にする

オープンソースソフト FFMpegを使って動画を一コマごとの画像にする方法を説明します。

画像にすると印刷やホームページ用の1コマを見つけやすくもなります。

ただし、動画の再生時間にもよりますが、数ギガの容量が必要になることがあります。
また、この方法を使うには、MS-DOSの知識が必要です。
テキスト動画で動画をJPEG画像にするというやり方もあります。


JPEG画像にする
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec mjpeg "c:\tmp\image%05d.jpg"
というコマンドを実行します。

最初の-i "c:\tmp\smile.flv"では入力ファイルを指定しています。
-f image2 -vcodec mjpeg ではJPEG出力を指定しています。
最後の"c:\tmp\image%05d.jpg"で保存先を指定しています。
%05dは5桁の数字という意味です。

1秒あたり30コマの1分の動画ですと
c:\tmp\ というフォルダーに image00001.jpgからimage01800.jpg ができます。


JPEGの高画質画像にする
先ほどのJPEG画像にする方法に品質を決めるオプションを保存先の前に追加します。
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec mjpeg -qscale 1 -qmin 1 -qmax 1 "c:\tmp\image%05d.jpg"
これでだいたい品質90%ぐらいになると思います。(品質100%の方法は不明です)

PNG画像にする
PNGの場合は、出力形式をPNGと指定します。また保存先のファイル拡張子も.pngとします。
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec png "c:\tmp\image%05d.png"

PNGは画質は一番いいはずですが、若干変換に時間がかかります。また画像のファイルサイズはJPEGの高画質よりもさらに大きくなります。

コマ数を減らす
1秒あたり30コマの1分の動画で、1800枚も画像ができるのは多すぎると思ったら
別途1秒辺りに画像を何枚作成するか指定できます。
例えば1秒あたりに、1枚ですと 次のように指定します。
ffmpeg -i "c:\tmp\smile.flv" -f image2 -vcodec mjpeg -r 1 "c:\tmp\image%05d.jpg"
すると、60枚画像が作成されます。
少数点(0.1)を指定すると、さらに少ない数だけ作成します。

2007年10月9日火曜日

PSP画面ズームで最高画質の動画を作る

世の中には、私みたいに、PSPへTV比率(4:3)の動画を再生時には、ズームでしか見ない人がいると思います。
そういう人の場合最初からズーム時のサイズで動画を作った方が高画質です。
ここではオープンソースソフト FFMpegで作成する方法を説明します。


ちなみに、akJ Betasの
ドロップFFMpeg を使うと簡単な操作でできます。

ffmpegを使った経験がなければ、難しいのですが
Googleで検索すれば、だんだんわかってきます。

通常の変換との違いは、動画の上下の不必要の部分を切抜きするだけです。

ただし、動画のサイズによって切抜きする量が異なります。
動画的に画面サイズは16で割れる数値が好ましいので中途半端な値になります。


ニコニコ動画でよく使われる画面サイズ512x384の動画の場合は、PSP画面サイズ(16:9)にするには、まずは512x288に切り抜く必要があります。
これは上下48づつ切り抜きますので
-croptop 48 -cropbottom 48 を-s の前に追加します。

元の動画がAvi動画でよくある画面サイズ640x480の場合は、PSP画面サイズ(16:9)にするには640x360に切り抜く必要があります。
これは上下60づつ切り抜きますので
-croptop 60 -cropbottom 60 を-s の前に追加します。

元の動画がYoutubeでよくある画面サイズ320x240の場合は、PSP画面サイズ(16:9)にするには320x180に切り抜く必要があります。
これは上下30づつ切り抜きますので
-croptop 30 -cropbottom 30 を-s の前に追加します。


ニコニコ動画の場合はコマンドはこうなります。
ffmpeg.exe -y -i "C:\smile.flv" -f psp -flags +bitexact -b 768k -ar 48000 -vcodec h264 -acodec aac -level 21 -r 29.97 -bufsize 224k -ac 2 -coder 1 -ab 128k -maxrate 768k -croptop 48 -cropbottom 48 -s 480x270 "C:\smile.mp4"

意外とこれだけでも結構いい画質になります。

2007年9月28日金曜日

DVD字幕をVSConvで画像にしてみよう!

画像にすると普段使っている画像閲覧ソフトで字幕が見られて便利です。
他にもいろいろ面白い使い道があるかもしれないですね!

ただし、この方法はMS-DOSを使いますので初心者には難しいかもしれません。

このような画像になります。

DVDから字幕の取り出しには、オープンソースのDVD字幕取り出しソフト VSRipを使います。
取り出したVOBSUB(idx/sub)字幕から画像への変換には、オープンソースのVOBSUB字幕変換ソフト VSConvを使います。

どうにか、VSRipを使ってVOBSUB(idx/sub)字幕を取り出したら
MS-DOSを開きます
そして、VSRipがあるフォルダーへMS-DOS上でディレクトリーを移動させます。

あとはそこからVSConvのコマンドを入力します。
idx/subに字幕が1つしか含まれていない場合は
以下のようにコマンドを実行します。

画像としては一番普通のwinsubmux形式とします。
他に、maestroという形式もあります。(こっちの形式は画像サイズが720x480なので色が変です)


また字幕の場所はc:\tmp\字幕jimaku.idx とします。
字幕の保存ベース名もc:\tmp\字幕\jimaku とします。


vsconv -f winsubmux -i "c:\tmp\字幕jimaku.idx" -o "c:\tmp\字幕jimaku"

すると、c:\tmp\字幕\ フォルダーの中に sub_000001.bmpから始まるBMPファイルができあがります。

1つのVOBSUB字幕ファイルに複数の字幕がある場合は何番目の字幕を取り出すかを指定して字幕をとりだします。
この場合上記のコマンドにidオプションが付きます。
(ここがややこしいのですが、番号は0から数えます。つまり1番目の字幕は0となります。)

idは1とします。(2番目の字幕を取り出し)
以下のようなコマンドになります
vsconv -f winsubmux -i "c:\tmp\字幕jimaku.idx" -o "c:\tmp\字幕jimaku" -id 1

id番号の見つけ方
通常はパッケージに字幕1は日本語で、字幕2は英語とか書かれていますので、そこから1を引いた番号がidとなります。


それ以外には、変換元の .idxファイルをメモ帳で開いてみるといいです。
以下のように、idの所に、indexという形で書かれています。

# Japanese
id: ja, index: 1
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: Japanese
# Vob/Cell ID: 2, 1 (PTS: 0)

2007年9月24日月曜日

VSRipをコマンドラインから使う

オープンソースのDVD字幕取り出しソフト VSRipの自動処理をしたい人に最適です。(初心者には必要ない知識です!)

MS-DOSから 以下のようなコマンドを使います。
VSRip setting.txt 
このsetting.txt(ファイル名はなんでもいい)に設定を書きます。

設定ファイルの仕組み
1行目には、取り出す字幕のIFOファイルを指定します。
2行目には、保存先のベース名を指定します。このベース名に.idxと.subがついたファイルが出力されます。
3行目には、 1 と書きます。ここはプログラムチェーン(PGC)を指定する箇所なのですが、通常1以外ないです。
4行目には、0 と書きます。ここはアングルを指定する箇所ですが通常アングルを含むDVDはありません。
5行目には、取り出す字幕を指定します。通常、ALL ですべて取り出すか、番号を指定して指定の字幕を取り出します。
6行目には、終了後の動作を指定します。CLOSEで閉じます。SHOWでそのままダイアログが出たままになります。
普通は、CLOSEとします。(本来は、ここでenとかjaで言語を選択できるはずなのですが機能しません)


設定ファイル例
すべての字幕を取り出す。

d:\VIDEO_TS\VTS_01_0.IFO
C:\tmp\字幕テスト
1
0
ALL
CLOSE


これと同じです。


字幕を選択して保存

d:\VIDEO_TS\VTS_01_0.IFO
C:\tmp\字幕テスト
1
0
2
CLOSE


これと同じです。



設定ファイルに間違いがある場合 Error parsing parameter file!というダイアログが表示されます。
設定ファイルを見直しましょう。間違ったIFOファイルを指定した場合もこのダイアログがでます。


より詳しくは、英語ですが、以下を見てみてください。
http://forum.doom9.org/archive/index.php/t-54723.html

2007年8月18日土曜日

手書きイラストをデジカメだけで取り込んで綺麗にする!(Potrace)

こんな感じの手書きをデジカメで撮ったのが、こういう風になります。
スキャナがなくても綺麗にと取り込めますよ!


ここでは、加工にGoogleの写真編集ソフト - PicasaとakJ Betasのフリーで画像からトレース ドロップPotraceの2つのソフトを使います。


まずはイラストを書くか、書いた物を用意します。線が入っていない紙に書いてくださいね!
次に、デジカメで撮影です。このときフラッシュはない方がいいです。中途半端に影が入らないようにあとなるべく水平にした方がいいです。

これぐらいでも大丈夫です。


つぎにこのデジカメで撮影した画像をPicasaで自動コントラストの調整(明るさを調整)します。



そして、イラストの所だけを、Picasaで画像を切り抜きします。
するとこういう画像になります。



この画像を、ドロップPotraceで変換するとこんな感じになります。
これでも十分なのですが、変な点とかがいらない場合は、


ドロップPotraceのpotraceのtの所の数値をあげます。これを上げると小さい線や点を省きます。


そしてもう1度ドロップPotraceで変換すると、こんな感じになります。



あと普通ですと、背景白に、線が黒という設定ですが、
ドロップPotraceの下側の上級設定タブをクリックして、ベクターの線色を変更すると、線の色を変更できます。
また、背景色を変更すると、背景の色を変更できます。


そして、もう1度akJBetasのドロップPotraceで変換するとこんな風になり完成です!
ブログに手書きイラストが欲しいときに便利ですね!

2007年8月17日金曜日

Potraceで写真からクリップアートを作成する

完成例です。








できあがったクリップアートは
暑中見舞いや年賀状、ブログやホームページに差し込むイラストとして使えます!

作り方は簡単です。
まずはデジカメでまわりの気になる物を撮ってみます。このとき写真のサイズは一番小さいので十分です。
そしてこれをPicasaなどの写真ソフトで必要な部分だけ切り取ります。


 あとは、この切り取った写真をドロップPotraceでトレース画像にしてみます。

できあがった画像のいらない線などを、アクセサリーの中にあるペインター等の画像編集ソフトで消します。



これでクリップアートの完成です!

2007年7月30日月曜日

結合時の音ズレ防止のためにAviの音声長さを調整する

動画をファイルを結合する時、映像部分と音声部分の長さにずれがあります。
 このズレが酷い場合で1秒近くあり、これが音ズレの原因になります。
ここでは音ズレを防ぐために、音声の長さを調整する方法を説明します。

ただし、VBRのMP3は正常に動作しません。この場合は、オープンソースの動画編集ソフト Virtualdubmodをお使いください。

Avi形式以外の動画は可能でしたらAviに変換してみてください。
FLVの場合はakJ BetasでFLV形式をAvi形式にするという方法があります。(音声はWavに変換してください)

以下のやり方でAvi動画からWav形式で音声を保存します。このとき、Virtualdubは開いたままにしておきます。
Avi動画から音声だけをMP3・Wav形式で保存する

次にメニューのFile/Infomationでファイルの情報を表示します。

ここで大事なのが2つで最初はfpsという値です。これは一秒間に 表示するコマ数を表します。
たいてい小数点を含む数値になっています。ここでは29.966です。
あとは、length:という合計のフレーム数(コマ数)です。ここでは7747となっています。


正確な時間を出すには、この合計コマ数を1秒あたりのコマ数(fps)で割ります。
アクセサリーの電卓を使いましょう。ここでは、以下のようになりました。258は秒数になります。60で割りますと、4なので、4分18秒 526329ということです。

さきほど取り出したWav音声ファイルを、オープンソースの音声編集ソフト Audacity
で開きます。開きましたらメニューから編集/カーソルの移動/トラックの最後へ移動します。


このときに、下に表示されていますのが、この音声の再生時間です。
ここですと、4:18.481633となっています。


音声の方が映像より長い場合は、最後をだいたい選択して、編集/削除で消します。



さきほどの映像の再生時間から音声の再生時間を引きます。
秒数は同じですので、小数点だけ、0.526329-0.481633となります。

その結果を後で使いますので、編集からコピーしておきます。


今度は、メニューの製作/Silenceを選びます。


そして無音の長さの所に、先ほどコピーしたものを右クリックメニューから貼り付けます。
そしてOKをクリックします。すると音声が調整されます。



あとはメニューからファイル/別名で書き出 WAVを選んでWavファイルで保存します。

今度は、Virtualdubに戻ってメニューよりAudio/WavAudioを選択します。
このとき、その下のDirect Stream Copyに●がついていないとダメです。ついていなければ、同じく、Direct Stream Copyを選択します。



>
そして、最後にメニューよりFile/Save as AVIを選びます。
保存先を選んだら音声が調整されたAvi動画が保存されます。



あとはこれらのAvi動画を使って動画を結合すると音ズレはしないはずです。

Avi動画から音声だけをMP3・Wav形式で保存する

オープンソースソフト Virtualdubを使ってAvi形式の動画から音声だけを、Wav形式MP3形式で保存する方法を説明します。ただしMP3形式はあらかじめ動画の音声部分がMP3でないとだめです。

 他の方法としてオープンソースソフト acky ドロップ WavアンドMP3を使う方法もあります。

抜き出したWavやMP3はオープンソースソフト Audacityで編集するといいですよ。



まずは、Aviファイルを開きます。
メニューよりFile/Open video fileでファイルを選びます。あるいはファイルをドラッグアンドドロップします。


うまく開けない場合は 以下を参考にAvisynth経由で開きます
VirtualdubでWMV形式をAvi形式に変換(Avisynthを使用)


MP3形式で保存する
MP3形式のままで保存する場合は、メニューよりAudio/Direct stream copy(無変換)を選びます。

Wav形式で保存する
Wav形式で保存する場合は、メニューよりAudio/Full processing mode を選びます。

そして、メニューよりFile/Save Wavを選んでファイルを保存します。
Wav形式の場合は問題ありませんが、MP3形式で保存したい場合は、.mp3という拡張子を付けて保存しましょう。(例 test.mp3) そうでないとファイル拡張子が.Wavとなります。


Avi動画の映像をXvid形式へ変換する(Virtualdubを使って)

Avi形式から他のソフトを使って変換や編集したりする場合、一部映像コーデック を使っているとうまくいかない時があります。こういうときは、一般によく使われているXVIDコーデックに変換することで解決できます。
ここではオープンソースソフト Virtualdubを使ってAvi動画の映像部分をXvidにする方法を説明します。


まずは、Aviファイルを開きます。
メニューよりFile/Open video fileでファイルを選びます。あるいはファイルをドラッグアンドドロップします。
うまく開けない場合は 以下を参考にAvisynth経由で開きます
VirtualdubでWMV形式をAvi形式に変換(Avisynthを使用)
Avi動画を開いたらメニューよりVideo/Full Processing modeを選択します。

そしてメニューよりVideo/Compressionを選択します。



すると映像コーデックを一覧が表示されますので、XviD MPEG4 Codecを選択します
2つありますが、一番下から2番目を選択します。(どちらでもいいのですが)
この2つの違いは、fourcc description codeがyv12かxvidだと思います。

XviD MPEG4 Codecを選択したら、横のConfigureボタンをクリックします
ここで画質を調整します。画質をよくするとそのぶん、ファイルサイズが大きくなります。
この画面は、品質モードです。左にずらすとより高画質に、右にずらすと低画質になります。
ここでTarget Quantizerという所をクリックするとビットレートモードになります。

ビットレートモードは、お馴染みのビットレートを使って画質を決めます。2000も設定すれば十分高画質です。
決ったらOKボタンを押していって画面を閉じます。
次に音声は変換しないので、メニューよりAudio/Direct Stream Copyを選びます
そして、変換のためメニューよりFile/Save as AVIを選びます。
保存先を選んだら変換が開始されます。

2007年7月20日金曜日

Lame ACMの確認

オープンソースソフト Virtualdubオープンソースソフト Virtualdubmodや、TMPGEncなどでAvi形式MP3音声をするにはMP3コーデックが必要になります。
このとき Lame MP3 Codec ACM インストール するのが普通です。
このLame MP3 ACMのインストールをWindows XPで確認する方法を説明します。


コントーロールパネルのなかのサウンドとオーディオデバイスを開きます。



ハードウェアタブを選択してその中の、オーディオ CODECを選択して、プロパティーボタンをクリックします。



別なウインドウが開いたら、プロパティータブをクリックして、その中からLame ACM MP3 Codecを探します。
場所はスクロールした一番下かもしれません。
もし無ければ、インストールが失敗しています。
(再度インストールし直してみてください)


あれば、選択してプロパティーボタンをクリックします。


Lame ACM MP3 Codecのプロパティーですが、このオーディオCodec を使う がチェック入っていないとだめです。もし使わないにチェックが入っていれば、使うをチェックしてOKを押します

他のMP3エンコーダーと関連して問題が起こるかもしれません。その場合は優先順位の所を変更します。


このオーディオCODECを使うになっていて優先順位が1になっていて、パソコンを再起動してもこのMP3 Lame Codecが選択できない場合の原因はわかりません。


なおAudacity等、lame_enc.dllが必要なソフトは
Lame MP3 Codec lame_enc.dll インストールします。

2007年7月18日水曜日

音楽からボーカルを抜いてカラオケ用楽曲を作る(Audacityを使う。その1)

オープンソースソフト Audacityを作って、普通の音楽からボーカル部分を抜いてカラオケ用の楽曲を作る方法を説明します。

ただし、うまくいく音楽は限られています。(ステレオであることが最低条件)
まずは、音声がステレオかどうか注意してください。
さらに音楽をヘッドフォンか何かで聞いてみてください。
そしてボーカルが左右どちらから聞こえるか確認します。
ここで左右どちからはっきりする場合は、うまく消せません。真ん中で鳴っているようなボーカルは綺麗に消せます。
また楽器を聞いてみてください。もし全部の音が真ん中から鳴っているように聞こえる場合は、
疑似ステレオの可能性があり、ボーカルどころか、全部の音が消えます

カラオケや動画作成時のBGMを作るときとかに活用してください。

AudacityはWav形式MP3形式の音声のみ開くことが可能です。
動画ファイルからのWav形式の変換には、acky ドロップ WavアンドMP3でWav音声変換で楽々変換 などの方法をお使いください。

ファイルをドラッグアンドドロップで開きます。この時、ステレオ(stereo)音声じゃない場合、これ以上何もできません。


このトラックのメニューよりステレオトラックの分離を選びます。するとトラックが2つにわかれます。



上側のトラックのMute Solo の上の辺りを正確にクリックして上のトラックを選択します。



メニューより効果/上下を反転(invert)を選びます



また上側のトラックのメニューよりモノラルを選択します



同じく下側のトラックのメニューよりモノラルを選択します




これで後は、再生してみて出来具合を確認します。
この時、solo ボタンをクリックするごとに、ボーカルが聞こえたり、聞こえなかったりしますので活用してみてください。
どうしてもボーカル音は完全に聞けなくて、多少コーラスぽく残りますが、上から自分の音声を合成したら、大丈夫です!



これで大丈夫でしたら
はメニューからファイル別名で書き出 WAVを選んでWavファイルで保存します。
(なおこの音声はモノラル音声となります)
MP3で保存するには、別途設定が必要になります。

質問 掲示板