2009年12月31日

recordMyDesktop を使用した Linux におけるデスクトップのキャプチャ

Ubuntu Linux で動画をキャプチャしてみた。YouTube やニコニコ動画を見ていると Windows で動画をキャプチャしていると思われる画像や Windows でのキャプチャ方法を説明している動画が殆どなので、自分はあえて Linux を使用してフリーウェアでどこまで動画キャプチャにおいて Windows に追随できるのか試してみることにした。

※ 2009/12/31 「ニコニコ動画への動画のアップ」が出来たのでまとめておきます。

recordMyDesktop

恐らく Linux で最も使いやすく、かつ高性能な動画キャプチャソフトです。Ubuntu では GTK による GUI 版の「gtk-recordMyDesktop」がリポジトリに含まれているのでそれを使用すると便利です。名前の通りデスクトップを簡易的にキャプチャし、学術的な発表やプレゼンの使用に推奨されるものですが、非常に低負荷でのキャプチャが可能で、 3D デスクトップ環境のキャプチャ(フルショット)にも対応しています。また、デスクトップのキャプチャのみではなく、指定したウィンドウのキャプチャも可能等、極めて優秀なキャプチャソフトです。保存される動画形式は Ogg Video (ogv) 形式 (Theora/Vorbis) ですが、他のフォーマットには動画編集ソフトで変換できるので特に不便はありません。

See Also:
ノンリニア動画編集ソフト Kdenlive の使い方
ノンリニア動画編集ソフト OpenShot の使い方

・使い方

「録音」クリックするとレコードが開始されます。「品質」はそのままキャプチャした動画の品質に影響します。レコード中はシステムトレイのアイコンが緑色になります。レコードを終える時はシステムトレイのアイコンをクリックします。終了するとキャプチャした動画のエンコードが開始されます。「ウィンドー選択」で特定のウィンドウのキャプチャが可能です。


「設定」でキャプチャに関する詳細なパフォーマンスの設定が出来ます。「フレーム率」はキャプチャの際の fps です。最高で 50 まで指定する事が出来ますが、重い場合は下げる事で軽量なキャプチャが出来ます。 25 位でも動画として十分に動いて見えるので、マシンスペックが足りない場合はその値を目安に調整するのがよいです。「すべてのフレームで完全なキャプチャを行う」にチェックを入れると 3D デスクトップのキャプチャが出来ます。 3D を利用したソフトウェアをキャプチャする場合には必須の項目です。しかし、当然ながらかなり負荷がかかります。


音声のキャプチャには標準で ALSA サウンドドライバからのキャプチャに対応していますが、JACK に対応しており、これを使用することによってより柔軟かつ高品質なサウンドのキャプチャが可能です。 JACK が稼働している時に JACK を使用する設定にすると、音声のキャプチャに使用するポートが表示され、コネクト出来ます。


JACK (Jack Audio Connection Kit)

See Also: JACK を使用した Linux における柔軟な音声編集

キャプチャした動画を編集するには動画編集ソフトが必要ですが、 Linux においても様々な特徴を持った編集ソフトがあるので、編集の目的に合わせて自分が使いやすいものを使用するのが良いと思います。

See Also:
Ubuntu 9.10 で有力な動画編集ソフト OpenShot/Cinelerra
簡単に使えるノンリニア動画編集ソフト Kdenlive の使い方

2009年8月23日

Ubuntu で Amarok 1.4 を使う

Linux で使える iPod 対応のメディアプレイヤーとして優れているのの一つに Amarok 1.4 があります。

1: Ubuntu 9.04 以降で Amarok 1.4 を使うには

Ubuntu 9.04 以降のバージョンのディストリビューションに含まれている Amarok のパッケージのバージョンは 2 です。これは Amarok 1.4 を愛用してきた Ubuntu ユーザーにとっては非常に残念な事だと思います。 Amarok 2 が標準になった Ubuntu で Amarok 1.4 を使用出来るようにする PPA を公開してくれている素晴らしい方がおりますので、その方の公開している PPA を有難く使わせてもらいます。

!mad.Works

これには素晴らしいの一言。賞賛の声もすごい。(PPA を公開して下さっているのは Bogdan という方です。 THANKS Bogdan!!!)

・Ubuntu 9,10 以降でのインストールサポート (Launchpad PPA, 10.04 対応)

$ sudo add-apt-repository ppa:bogdanb/amarok14
$ sudo apt-get update
$ sudo apt-get install amarok14

・この PPA でインストールした Amarok 1.4 で MP3 が再生出来ない

amarok14-engine-xine は再生に libxine1-ffmpeg を利用します。これは「推奨パッケージ」として提供されていており、インストールしなくても Amarok が動作します。しかし、これがインストールされていないと MP3 を再生することは出来ません。

amaork14-engine-xine から推奨パッケージの libxine1-ffmpeg をインストールすると mp3 を再生出来ます。

2: ライブラリの管理に MySQL を使用する

AmaroK 1.4 は音楽の管理に SQLite を標準で使用しており、これによって音楽ライブラリを管理することができますが、音楽の管理に使用するデータベースを MySQL に変更することでデータベースの肥大化に対応出来ます。システム側で AmaroK 用のデータベースを作成して使用します。

・MySQL のインストール

MySQL Server と MySQL Criant をインストールします。 Ubuntu では Synaptic マネージャを利用して mysql-server をインストールすればあとはすべて必要なものを自動的にインストールしてくれるので簡単です。

・MySQL サーバーにログイン

Ubuntu Linux 8.04 以降ではインストール時に MySQL サーバーへのログインパスワードの設定を求められますが、これが出なかった場合は手動でログインパスワードを設定する必要があります。

(ここからはコマンド・ライン端末を使用しての作業)

$ mysqladmin -u root password ○○○○

○○○○に MySQL サーバーにログインするパスワードを入れて設定。

・データベースの作成

$ mysql -p -u root

入力すると設定したパスワードを求められるので入力。認証されるとサーバーにログイン。

ここからは一行づつ入力してデータベースの作成。

mysql> CREATE DATABASE amarok;

mysql> USE mysql;

mysql> GRANT ALL ON amarok.* TO amarok@localhost IDENTIFIED BY '○○○○';

(ローカルホストの amarok ユーザからのアクセスをすべて許可し、その amarok ユーザのパスワードを○○○○と設定する。ここは各自任意で入力)

mysql> FLUSH PRIVILEGES;

mysql> quit

これで Amarok に使用するデータベースの作成は完了。

・AmaroK での設定

メニューから「設定」→「コレクション」へ。
使用するデータベースを MySQL に設定し、次の項目を入力。

Hostname : localhost
Database : amarok
Port : 3306
Username : amarok
Password : ○○○○ (データベースのアクセスに設定したパスワード)

適用ボタンを押して設定を終了させ、エラーが表示されなければ成功。コレクションの再構築を実行すれば、MySQL による音楽管理になります。

3: iPod への楽曲転送

iPod に楽曲を転送するには、デバイスの設定を行う必要があります。メニューから「設定」→「Amarok の設定」→「メディアデバイス」で使用するデバイスを追加します。


「デバイスを追加」を選択し、必要な項目を設定します。


「デバイスの名前」で接続する iPod の名前、「デバイスのマウントポイント」でその iPod がマウントされているディレクトリを指定します。「OK」を押して「適用」すると、既にマウントポイントに iPod がマウントされている場合は「接続」してくれます。以降は Amarok 起動時に iPod がマウントされているとその時に接続してくれるようになります。 Amarok 起動後に iPod をマウントした場合は、手動で「接続」をクリックして接続出来ます。 iPod の世代を自動で正確に認識してくれていれば iPod との接続は正常です。

「プレイリスト」から楽曲をドラッグ・アンド・ドロップで接続している「デバイス」にドロップすると、楽曲は「転送キュー」にキューイングされます。「転送」を選択するとキューの楽曲が iPod に転送されます。この時 iPod の残り容量は楽曲を「転送キュー」に移動した時点でその楽曲に適用されるアートワークのサイズも含め正確に算出してくれます。キューの下の青いバーの右端が赤くなると容量オーバーです。

転送が終了したら「接続を切断」で Amarok から iPod を切断します。その後 iPod をシステムからアンマウントしてから iPod が正常に動作するか確認して完了です。

4: Amarok 1.4 と Last.fm を連動させる

Last.fm のアカウントを持っていれば Amarok 1.4 で Last.fm と連動できます。設定項目で自分のアカウント情報を入力すれば OK です。


Last.fm と連動させると「Last.fm」への再生情報の送信、更新が出来ます。また、 Amarok 側から Last.fm ストリームに直接接続したり、再生中のアーティストに関連するアーティストを表示し、その情報を簡単に調べる事もできます。 Last.fm と連動させると「関連情報」の項目に「そのアーティストに関連するアーティスト」の情報が表示されるようになります。自分のライブラリにあるアーティスト以外は斜体で表示されます。

情報が欲しいアーティストをクリックすると、そのアーティストを Wikipedia 等で簡単に調べる事が出来ます。また、「そのアーティストに関係するアーティスト」も表示されます。

5: スクリプトの利用

Amaork は機能を柔軟に補強する為の強力なスクリプト機能を備えています。これらのスクリプトを使用すると Amarok をより便利に使用する事が出来ます。


メニューから「ツール」→「スクリプトマネージャ」でマネージャを開き、「他のスクリプトを取得する」をクリックするとオンラインでスクリプトを取得できます。しかし、これによって提示されるスクリプトは一部のものだけなので、他のものを探す場合には KDE デスクトップ環境カスタマイズの為のサイトである「KDE-Apps.org」が利用できます。

・KDE-Apps.rog
http://www.kde-apps.org/index.php?xcontentmode=56

Amarok 1.4 に対応したスクリプトは「Amarok Scripts」の項目に投稿されています。

2009年7月24日

JACK を使用した Linux における柔軟な音声編集

JACK を利用した Linux における柔軟な音楽の編集の仕方と様々な音声編集ツールの紹介です。

JACK

JACK は対応したアプリケーション同士のオーディオ入力・出力をルーティングして柔軟に音声加工できるサウンドサーバーデーモンです。これを利用すると、JACK に対応した様々な音声編集アプリケーションからの音源を取り込み、編集したり出力したりする事が出来るようになります。

・JACK のインストール

# sudo apt-get jackd qjackctl

qt GUI 環境の JACK コントロールアプリケーションを導入すれば楽に JACK がコントロールできます。今回はこのアプリケーションを使って JACK を使用した音声編集をしていきたいと思います。

 Ubuntu Japanese Team Wiki - UbuntuStudioTips/Application/qjackctl(qjackctl に関するチュートリアル)

・JACK の設定

まず JACK の GUI コントロールアプリケーションを起動させます。

# qjackctl

これが JACK のコントロールアプリケーションです。まず JACK を環境に合わせた設定をするために「Set up...」をクリックします。


まず JACK の使用するデバイスを選びます。ほとんどの Linux PC が ALSA をサウンドドライバにしていると思うので、ここでは ALSA で設定しています(PulseAudio でも ALSA で動作する筈です)。次に、音声のインプット・アウトプットに使用するデバイスを選択します。インプットが録音に使うデバイス、アウトプットが再生に使うデバイスです。 Default 設定でも良いですが、使用状況に合わせて設定できます。また、この設定画面には各種数値が多く表示されていますが、それを制御することによって JACK のパフォーマンスを変化させることができます。専門的に使用する場合や PC のスペックの兼ね合い等で設定しなおした方が良い場合もあります。ただ、簡単にいじる分には特に変更しなくても動くと思いますので、ここでは説明は省かせてもらいます。


・JACK の起動

設定が完了したら、「Start」ボタンを押して JACK デーモンを起動させます。デーモンの起動に成功すると、ディスプレイに Started と表示され、 JACK が音声のルーティングを開始します。


JACK による音声のコントロールを行うには、「Connect」を選択してコネクションウィンドウを開きます。


このウィンドウで JACK の音声ルーティングを制御できます。JACK の設定で指定したデバイスのポートが表示されていると思います。画面は左が「アウトプット」ポート、右が「インプット」ポートです。音声はアウトプット方面(アウトプットポート)からインプット方面(インプットポート)へと渡されます。それぞれのポートを「コネクト」することで、そのポートに音声をルーティングします。非常に説明が難しいので、実際に JACK に対応しているアプリケーションを使用してこのやり方を説明したいと思います。

Jack Rack

JACK Rack は JACK を利用して音声に LADSPA エフェクト処理を施せるツールです。 LADSPA とは、フィルターやエフェクトの取り扱いの規格であり、各種プラグインを利用してそれらのエフェクト処理を音声に施す事が出来ます。


JACK Rack を立ち上げた後、JACK の コネクションウィンドウを見てみて下さい。JACK Rack のポートが表示されていると思います。このように JACK に対応しているアプリケーションは JACK 起動中に立ちあげると、 JACK で音声をルーティングする為のポートが表示されます(JACK で専門的に使用するアプリケーション以外では設定で JACK に対応させる必要があります)。


左側「system」の「capture_1」は今は USB マイクでのキャプチャに設定してあります。これに JACK Rack を使ってエフェクト処理をして音声を PC で再生させてみたいと思います。

この場合、音声のルーティングはこういう流れになります。

USB マイクから音声入力

JACK Rack で音声エフェクト処理

PC で再生(出力)

アウトプットのポートとインプットのポートを選択して「Connect」を押すと、そのポート同士がコネクトされます。今回上記のような音声ルーティングをするにはアウトプット側「system」の「capture_1」とインプット側の「jack_rack」の「in_1」「in_2」をコネクトし、アウトプット側の「jack_rack」の「out_1」「out_2」とインプット側の「system」の「playback_1」と「playback_2」をコネクトすれば実現できます。コネクトしているポート同士は視覚効果で線で結ばれます。ポートが2つありますが、これは音源が「ステレオ」だからです。

JACK Rack の入力ポートに音声を入力する事で JACK Rack で音声にエフェクトが施され、出力ポートからエフェクトを施された音声が出力されます。この例では USB マイクで入力した音声は JACK Rack を経由(ルーティング)して PC に出力される訳です。

system: capture_1(USB マイクのアウトプット)

jack_rack in_1, in_2(JACK Rack へ音声のインプット)

jack_rack out_1, out_2 (JACK Rack で加工した音声のアウトプット)

system: playback_1, playback_2(PC への出力にインプット)


VLC media player

有名な VLC media player も JACK に対応したアプリケーションの一つです。「ツール」→「設定」→「オーディオ」→「出力タイプ」を JACK にすると、音声を JACK でルーティングできます(VLC の JACK プラグインのインストールが必要です)。


今度は VLC から音楽を再生してそれに JACK Rack でエフェクトを加えて出力してみます。この例では入力される音声は USB マイクではなく VLC で再生された音楽となります。

VLC で音楽再生(入力)

JACK Rack で音声エフェクト処理

PC で再生(出力)

VLC からのアウトプットを JACK Rack のインプットに繋ぎ、 JACK Rack のアウトプットと PC のプレイバックを繋ぐことで実現できます。JACK Rack で音楽を LADSPA の C* PreampIV で出力の変更をしてみました。


Ardour

デジタル・オーディオ・ワークステーションである Ardour ももちろん JACK に対応しています。今度は実用性も兼ねて Auder を使って音楽を録音しながら USB マイクで自分の声を録音し、マルチトラックでの録音で「歌ってみる」事を実現してみたいと思います。

USB マイクから音声入力

Ardour で録音 ← VLC から音楽入力

PC で再生

Auder では使用するトラック毎に入出力ポートが用意されるので、トラックに対応するポートに音声をルーティングすることでマルチトラッキングが可能です。今回は「Audio 1(トラック1)」に VLC からの音楽の入力、「Audio 2(トラック2)」に USB マイクからの自分の声の入力の2トラックを使用してマルチトラックでの録音を JACK を介して実現してみました。 Ardour のような高度なアプリケーションになると JACK のルーティングもある程度自動でやってくれます。


このように、 JACK は対応したアプリケーションのポートを介して連携させることでそのアプリケーションで作成・編集した音声のルーティングが出来る為、非常に柔軟な音声の編集が可能です。

・その他 JACK に対応したアプリケーション一例

Linux MultiMedia Studio (LMMS)

Linux 上での FL Studio や Cubase や Logic Pro に相当する音楽作成ソフトウェアです。


Audacity

使いやすいサウンドレコード・編集ソフトです。生オーディオの録音、既存のサウンドの切り取りや貼り付け、特殊効果の付与等が簡単にできるので、簡単なオーディオ編集にはもってこいのソフトです。


Hydrogen

先進的なドラム・マシンソフトウェアです。ドラムリズムを直感的に作り上げる事が出来ます。


tarminatorX

リアルタイムオーディオシンセサイザです。 LADSPA を利用した音声のミックスができます。マウスの軸に様々なプロパティを付けてグリグリ動かすことで、DJ のようなスクラッチ音を出したりと様々な面白い音を作ることができます。


recordMyDesktop

デスクトップキャプチャソフトである recordMyDesktop も JACK に対応しています。よって JACK を利用すればマイクで音声を入れた動画をキャプチャしたりもできたりします。

・リアルタイムカーネル

JACK のパフォーマンスを最大限発揮するにはマルチメディア処理に特化した特殊なカーネルが必要になります。これは「リアルタイムカーネル」と言われています。このカーネルを導入した Linux 上で JACK をリアルタイム処理で実行するとパフォーマンスを最大限に引き出すことができます。JACK でリアルタイム処理を有効にするには qjackctl では「Settings」で「Realtime」にチェックを入れます。 リアルタイムカーネルが有効に動作していればリアルタイム処理で JACK が動作します。

See Also: Ubuntu Desktop で出来るマルチメディア処理

・JACK と PulseAudio の連携

JACK の Input/Output を PulseAudio の Sink/Source にするモジュールを使うことで、両者を連携させる事が出来ます。 PulseAudio を使用する環境で JACK を動かす場合に有効に利用できる方法です。

UbuntuStudioTips/Application/JACK-PulseAudio

2009年7月12日

ノンリニア動画編集ソフト Kdenlive による動画編集

KDE ベースのノンリニア動画編集ソフト Kdenlive の使い方です。

Kdenlive

Kdenlive は、シンプルなインターフェースが特徴の使いやすいノンリニア動画編集ソフトです。複数のトラックのタイムライン上に素材となる動画ファイルや音声ファイルを貼り付け、直感的に動画を編集できるのが特徴です。使い方も非常に簡単に使えるように配慮がなされており、「Project Tree」、「Effect Stack」、「Transition」の三つのプロパティを操作することで動画を編集できるようになっています。この三つのプロパティの扱い方を通して Kdenlive での簡単な動画作成方法を説明します。

1: Ubuntu の動画編集に適した環境の構築

Ubuntu はある程度編集のし易い環境にマシンをカスタマイズする事で処理能力を向上させる事ができます。 Ubuntu では PulseAudio による音声出力が遅延すると Kdenlive における動画編集の際にも音声が遅延し、動画の製作が非常にやり辛くなります。そのようなマシンパワー不足等で動画編集が思うようにいかない場合に有効に作用するかもしれません。

See Also: Ubuntu Desktop で出来るマルチメディア処理

2: Kdenlive の設定

まずは始めに自分の PC の合わせた Kdenlive の環境設定をします。 Kdenlive を初めて立ち上げたときに設定ウィザードが表示され、一通り Kdenvive の環境設定ができますが、もちろん後から自分で変更することも可能です。「メニュー」から「Settings」→「Configure Kdenlive...」を選択すれば Kdenlive に関する設定が行えます。色々と設定する箇所は多いですが、重要な設定は「ビデオ・プロファイル」と「プレイバック」に使用するデバイスの設定です。

・「ビデオ・プロファイル」のデフォルト設定

動画を編集する際の動画のサイズやアスペクト比を設定します。 0.7.7 で自分で定義が可能になりました。定義した設定をデフォルトの設定にするには定義時に「Use as Default」をクリックするか「Configure Kdenlive...」の「Misc」の「Default Profile」で行えます。


ビデオ・プロファイルは動画編集の目的によって対応するものに変更する必要があります。テレビの規格や DVD の規格等様々なものに適応するプロファイルがあるので、目的に応じて変更もしくは定義します。なお、編集中の動画のビデオ・プロファイルは途中で変更する事が出来ますが、これによってプロジェクトの fps が変わるとタイムライン上に配置したクリップがその fps に対応出来ず、タイミングがズレます。ビデオ・プロファイルの変更は「ビデオサイズを変更」、「アスペクト比を変更」は正常に行えますが「fps の変化」には正常に対応出来ていないようなので、プロジェクト作成時にはそれに注意を払う必要があります。現在編集中のプロジェクトのビデオ・プロファイルを変更するには「メニュー」から「Project」→「Project Settings」を選択します。


・「プレイバック」に使用するデバイスの設定

編集中の動画を再生する際に使用する映像と音声のデバイスを設定します。基本的に「Automatic」が推奨されますが、うまく映像が再生できなかったり、音声が再生されない場合には適切に設定を変更してやる必要があります。「Configure Kdenlive...」の「Playback」項目で設定できます。


3: 動画の編集


・「Project Tree」プロパティ

動画編集の素材となる画像・動画ファイルや音声ファイル等をクリップとしてプロジェクトに追加することができる項目です。「Project Tree」タグを選択して右クリックをし、「Add Clip」を選択すると動画や音声をプロジェクトに追加できます。その他「Add Color Clip」で任意の色の静止画、「Add Title Clip」で字幕クリップを追加できます。追加したファイルは、ドラッグアンドドロップで指定したトラックのタイムライン上に配置することができ、配置したタイミングと長さで動画や音声が再生されます。また、トラックに配置したクリップは端を左クリックでツマんで動かす事によって再生の始点と終点を変更する事ができます。動画や音声ファイルは再生時間以上の長さにすることはできませんが、画像ファイルは任意の長さに調整することが可能です。ステータスバーのハサミアイコンをクリックすると任意の位置でクリップを切断して別々のクリップにすることができます。このようなタイムライン上の細やかな編集には、ステータスバー上の虫眼鏡アイコンの横のバーを操作する事で可能なタイムラインのスケールアップ・ダウンを利用します。


タイムライン上に配置した素材は左クリックを押しながら動かすことで自由なトラック・タイミングに移動させることが可能です。タイムライン上の青い逆三角形から下に伸びている直線の位置が編集点で、「Project Monitor」にそのタイムライン上で再生される動画が表示されます。また、編集中の動画を実際に再生して確認してみる時にも、その位置から再生が開始されます。編集中の動画を再生するには「Project Monitor」の再生ボタンを押します。


様々なトラックに任意のタイミングでクリップを追加していく事で、一つの動画を編集して作り上げていきます。

・「Effect Stack」プロパティ

「Effect Stack」は、トラックに配置した任意のクリップに「エフェクト」という特殊効果を追加できる項目です。エフェクトを追加したいクリップを左クリックで選択し、「Effect List」から追加したいエフェクトを選択します。クリップに追加したエフェクトの編集は、「Effect Stack」タグで行えます。この項目に選択しているクリップに適用されているエフェクトが表示され、それぞれエフェクトの効果のプロパティ変更や、削除ができるようになっています。


エフェクトを使用することで動画に様々な特殊効果をつけることが可能ですが、例として幾つか簡単に使用できるエフェクトを紹介しておきます。

・Box Blur

キーフレームによって値を操作できるブラー効果です。

・Pan and Zoom

クリップの表示位置及びスケールを調整します。

・Scale0tilt

動画の上下左右に黒いボーダーを付与します。また、それに合わせてスケールと表示位置も調整出来ます。

・Blue Screen

指定した色をキーとして調整し、透明にします。動画のコンポジティングに利用します。

・Rotate and Shear

クリップのプロパティ(x,y,z 値)を指定してアニメーションによる回転及び剪断をします。

・Transparency

クリップのアルファ・チャンネルを調節します。値を大きくするほど透明度が高くなります。動画のコンポジティングに利用します。

・Freeze

動画を静止させます。「Freeze Before」オプションは指定した位置の動画を静止させて表示させた後に指定した位置から動画を再生させます。「Freeze After」オプションは指定したタイミングで動画を静止させます。両方のオプションを有効にすると指定した位置で完全に静止したクリップとなります。

・Speed

クリップの再生速度を調節します。

・Gain

音声のゲイン値を調節します。

・Mute

音声をミュートさせます。

・Volume (Keyframeble)

音声のボリュームをキーフレームによって操作します。

・「Transition」プロパティ

「Transition」は、映像(動画や画像)のコンポジティングを行う時に使用する項目です。コンポジティングとは映像の合成の事で、これを使用することによって同じタイムライン上の別々のトラックの映像を一つの動画に特定の条件で合成できます。コンポジティングをしたい映像のクリップで右クリックし、「Add Transition」を選択します。


トランジション処理には様々な種類がありますが、どれでも選択すると共通として選択したクリップの下に黄色い領域ができます。領域の端を左クリックでツマんで左右に移動することで長さを変更することができます。この領域が指定したトランジションを行う範囲となります。

トランジション処理は隣接しているトラック以外にも柔軟に適用できます。トランジションのプロパティの Tpye の後の with track で適用するトラックを指定できます。標準は「auto」になっていますが、トラックが複雑になってくるとまず正しく機能しないので、正確に指定した方が柔軟で強力なトランジションが出来ます。

Kdenlive は多様なトランジションのサポートにより、所謂「スライドショー」的な演出だけではなく、ノンリニア動画編集の利点を生かした様々な演出効果を生み出す事が可能です。一つのトラックに対して複数のトラックのトランジションを適用したり、「アルファチャンネル」を論理演算(and や or 等)で合成できます。画像編集ソフトにおける「レイヤモード」と同じ概念での動画の合成も可能で、その為のトランジションが多くサポートされています(例えば Gimp におけるレイヤーの合成モードの「オーバーレイ」や「スクリーン」等、同様の名称と効果の機能等)。また、キーフレームによる映像の操作も「Composite」トランジションで行う事が出来ます。

「Composite」トランジションを利用した映像のキーフレーマブルな操作


「Compsite」の適用範囲がキーフレームを利用して映像を移動させる範囲になります。プロパティに赤い四角の領域が表示されますが、これが「その時点での映像のポジション」です。点線の四角い領域が実際の映像としてスクリーンに出力される範囲です。ポジションのシークバーを移動させるとポジションもその位置に移動します。「Add Keyframe」をクリックすると現在指定しているポジションにキーフレームが追加されます。そのキーフレームのポジションにおいて映像のプロパティを変更すると(赤い四角の領域を右クリックでつまんで移動させれば映像のポジションの移動、拡大・縮小させるとズーム効果です)、前のキーフレームの状態からそのキーフレームの状態まで映像の状態が自動的に補完されます。「矢印のアイコン」をクリックすると前の、又は次のキーフレームを設定したポジションにジャンプします。「ゴミ箱」アイコンはそのポジションのキーフレームを削除します。マウスを使ったアバウトな位置設定ではなくポジションを数値での設定も可能です。

・Screen Grub - デスクトップのキャプチャ

Kdenlive は recordMyDesktop を使用してデスクトップをキャプチャし、それをそのままクリップとして動画編集に使用する事が出来ます。


4: 動画のレコーディング

動画の編集が完了したら、レコーディングして動画として作成します。メニューバー下にある赤い丸アイコンの「Render」をクリックするとれレンダー・プロジェクトウィンドウが開きます。ここで作成する動画の詳細を決定します。 Kdenlive は動画のエンコードに melt を介して libavcodec 等のライブラリを使用し、対応したコーデックで動画を様々な形式で作成することが出来ます。


指定した形式で指定したディレクトリに動画が作成されます。サイズを決めて動画を作成したい時は「Rescale」にチェックを入れて動画サイズを指定します。例えばニコニコ動画にアップする動画を作成する場合はサイズは「512 x 384」に指定するといった具合です。「Render to File」をクリックすると動画のレンダリングが始まります。プログレスバーが100%まで到達したら作成完了です。動画プレイヤー等で出来上がった動画を再生してみましょう。

5: Kdenlive 使用時の注意点

Kdenlive は便利で使いやすい動画編集ソフトではありますが、使用に際し注意しなければならない事がいくつかあります。

1: 超高確率の強制終了率

Kdenlive は非常に動作が不安定であり、突然強制終了する事が頻繁にあります。クリップを大量に使用したプロジェクトでは編集中の動画を再生して3秒で強制終了なんてザラにあります。急激に素早い処理を要求すると強制終了しやすいです。とにかくやたらめったら頻繁に強制終了するので、編集中のプロジェクトは「一回編集したら一回保存」位こまめに保存する事をお勧めします。

2: レコーディングの注意点

Kdenlive で動画を作成する場合は一定の形式や品質の動画形式プリセットが用意されてはいますが、例えば指定したビットレートでエンコードするような、より詳細な動画作成オプションはデフォルトでは用意されてはいません。この様な設定をするには FFmpeg のコマンド使って指定することになりますが、これには FFmpeg に関する詳細な知識が必要となります。その為、自分が望む品質の動画を簡単に作りたい場合には Kdenlive だけで動画を全て完成させるのは面倒です。FFmpeg の知識は無いけど覚えるのが面倒、といった場合には Kdenlive では「HuffYUV lossless (video) / PCM (sound)」のようなロスレス品質のファイルを作成し、動画のエンコードは Avidemux のようなより簡単に詳細なオプションを指定できる動画編集ソフトに任せるとよいです。

また、動画のレンダリングは melt が動作して行いますが、環境やレンダリングする動画によってはかなりのマシンパワーを使います。プロジェクトの状態に melt が対応出来ない不備がある場合や膨大なサイズのレンダリングによってクラッシュする事があるので注意が必要です。

See Also: Avidemux を使った MP4(H.264/AAC)動画の変換

2009年7月9日

Avidemux による MP4 (H.264/AAC-LC) への変換

Avidemux

Avidemux を使用する動画の変換方法です。 Avidemux を使用すれば簡単に様々な品質の動画を作成することが可能ですが、ここでは動画共有サイトへの投稿動画作成を前提とします。

動画共有サイトは色々ありますが、例とするのは「SMILEVIDEO(ニコニコ動画)」へアップする動画です。ニコニコ動画はビットレート制限やアップに適切なコーデックが限られる等、動画を作成するのが少しばかり難しいので、この基準をクリアする動画の変換を一例としたいと思います。

・Avidemux の制約

制約の関係でエンコード出来ないコーデックが有ります。「VP6」等がそうです。ですが、「H.264 AVC」は問題なく変換できるので動画共有サイトには MP4 形式でアップ出来ます。 H.264 はコーデックとしてのパフォーマンスが非常に優秀なので、動画をアップする際に実質これ以外のコーデックは必要になりません。 Avidemux は FLV 形式の変換として「FFMPEG FLV1」をサポートしています。このコーデックは Shockwave Flash Player で再生可能ですが、他のコーデックに比べるとパフォーマンス面で劣ります。

・Avidemux の動画編集機能

Avidemux は動画編集機能を備えており、動画の追加による連結やフレーム単位での切り抜き、音声ファイルの別途付与、フィルタを利用したエフェクトの付与等が出来ます。かなり強力ですが、直感的に使い辛いと感じる場合はノンリニアで動画を編集出来る Kdenlive 等のノンリニア動画編集ソフトをお勧めします。特に「ワイプ処理」や「字幕」等はノンリニアで行った方が非常に簡単に出来るので、目的や自分の感じる使い勝手で使い分け、連携させるのが効率的です。

Avidemux の最大の長所は簡単に品質の高い動画変換が出来るところです。色々オプションを弄らなくても高品質でサイズの小さい動画に変換出来てしまいます(本当に簡単で強力です)。他の高機能変換ツールとしては FFmpeg が多機能で有名ですが、色々と面倒なので簡単に変換するなら Avidemux をお勧めします。

See Also:
簡単に使えるノンリニア動画編集ソフト Kdenlive の使い方
ノンリニア動画編集ソフト OpenShot による動画編集

・ニコニコ動画の制約(一般会員)

・AVC/H.264(mp4)、Sorenson H.263(flv)、On2VP6(flv)形式以外の動画は無条件(エコノミー動画エンコード以外)で再エンコードとなり、画質が著しく低下する

・上記形式での動画のファイル容量は 40 MB まで

・上記形式での動画のビットレート上限は最高で 600 kbps(正確には 656 kbps)の制限まで

この制限は再生時間の長さによって上限が変動します。動画の品質に拘りがないならそれ程気にする必要はありませんが(ビットレート制限でアップ出来なかったらビットレートを下げてエンコードし再アップすればよい)、より完璧な動画投稿をするにあたり、この上限の算出が必要な場合は下記の「ニコニコ動画まとめWiki」を参照して下さい。

・動画は CBR(固定ビットレート)推奨

・ニコニコ動画の視聴動画サイズは 512 x 384 (4:3) または 640 x 360 (16:9) が適当

ニコニコ動画のプレイヤーが新しくなり、 16:9 の動画が 640 x 360(正確には 640 x 384 の 15:9)の解像度で視聴可能になりました。動画サイズが大きくなるため長時間の動画の投稿は一般会員では難しいですが、 16:9 のアスペクト比で 640 x 360 のサイズ(以上)の動画を投稿する事が可能です。

ニコニコ動画まとめwiki - エンコード設定

詳細はこちらのサイトが参考になります。この条件をクリアし、ニコニコ動画でも一定の品質を保証する動画を Avidemux で変換します。

1: エンコード形式の設定

「開く」を選択して変換したい動画を選択します。次に、映像に MPEG-4 AVC(x264)、音声に AAC (FAAC)、形式に MP4 を選択します。これで MP4(H.264 AVC/AAC-LC)形式に動画を変換出来ます。使用するコーデックは libx264 と libfaac です。


2: 動画のビットレート設定

次に、動画のビットレートを設定します。「映像」の「構成」をクリックし、「ビットレート」タグを選択します。ここでエンコードモードにビットレートを選択すると、指定したビットレートでのエンコードが可能です。ここでは1パスでの平均ビットレートでのエンコードを指定していますが、2パスでの平均ビットレートエンコードも指定できます。2パスは文字通り動画のエンコードを2回に渡って行って品質を精査し、高品質かつより低サイズの安定した動画を作成できます。エンコードに時間がかかりますが、安定した画質を求める場合は2パスをお勧めします。


ニコニコ動画では CBR の動画を推奨しているので、動画のレート制御を固定にする必要があります。「映像」の「構成」をクリックし、「レート制御」タグを選択します。「Bitrate Variability」という項目があるので、この値を「0%」にします。これでビットレートがほぼ固定になります。


・ビットレート設定の注意点

ニコニコ動画のビットレート制限は「動画の映像と音声両方含めた合計」であることに注意してください。

3: 音声のビットレートの設定

「音声」の「構成」をクリックすると AAC のビットレートを設定できます。標準は 128 kpbs ですが、 AAC の性質上 96 kpbs でも十分な音質です。高音質を求めないのなら映像のビットレートとの兼ね合いで下げてみてもいいと思います。

・HE-AAC 音声コーデックの使用

ニコニコ動画にアップ出来る MP4 動画は音声コーデックに HE-AAC を使用する事が出来ます。 HE-AAC はコーデックの性質上音声サイズを大幅に削減する事が可能ですが、コーデックの制約上 Avidemux ではサポートされていません。 Ubuntu で HE-AAC コーデックを使用して動画を変換するには「FFmpeg」にパッチを当てる事によって対応可能にする方法があります。

See Also: FFmpeg で 3GPP High Efficiency Advanced Audio Codec (HE-AAC) を使う

4: 動画のサイズとフレームレートの設定

最後に動画のサイズとフレームレートを設定します。「映像」の「フィルタ」をクリックすると動画のフィルタ設定ができます。ここで利用するフィルタは動画のサイズを変換する「リサイズ」とフレームレートを変換する「Resample fps」です。動画サイズはアスペクト比が 4:3 なら 512 x 384 がもっとも適切です。フレームレートは動画の性質に応じて変更するようにします。静止画が主なら 10 fps 程度でも動画として十分です。動画なら 25 fps あれば滑らかに動きます。フレームレートを少なくすれば結果的に動画全体のフレーム数が減る事になるので、ファイル容量の削減ができます。ただ、ニコニコ動画のシークはフレームレートに依存しているようで、あまりに低すぎるフレームレートを設定すると動画がシークしにくくなるので注意が必要です。


・動画投稿に際して有効に使えるフィルタの一例

Avidemux に備わっているフィルタ機能から、他に動画投稿に際して有効に使えるフィルタの一例として「動画をシャープにする」フィルタと「動画に黒い領域のボーダーを追加する」フィルタを挙げておきます。「動画をシャープにするフィルタ」はビットレート不足による動画のボヤけを視覚効果により若干見やすくする事が可能です。画素が少なくなるので実写のような画素の多い動画程有効に作用します。「動画に黒いボーダーを追加する」フィルタは、動画自体のサイズを小さくするのではなく、動画の動きのある部分のサイズを小さくするという方法で利用します。動きのある部分が少なくなる為、ビットレートを上げて動画部分の解像度を向上させる事が出来ます。動画領域のサイズは小さくなりますが、解像度を向上させた方が見やすいと判断できる場合に有効です。

全ての設定が完了したら「保存」を選択して拡張子に mp4 をつけて動画を保存します。動画の変換が始まり、完了すれば MP4(H.264 AVC/AAC-LC)の動画が出来ているはずです。動画の構成の詳細や各種フィルタを駆使すればもっと高品質な動画を作成する事も可能ですが、一応これで最低限のニコニコ動画の制約をクリアした品質の動画を作成できます。

2009年7月3日

Ubuntu Desktop でできるマルチメディア処理

Ubuntu Desktop で出来るマルチメディア処理についての概要です。個別の詳細記事や関連のある記事は参照の形でリンクを貼ってあります。

コーデック

各種動画・音声フォーマットに対応したコーデックは動画・音声ファイルの柔軟な作成において必須です。これがインストールされていないと対応するフォーマットに変換することは出来ません。一括して便利な変換環境を提供してくれる FFmpeg や Avidemux がありますが、指定のフォーマットに変換するにはそれぞれ対応するコーデックが必要になるのでインストールしておく必要があります。

FFmpeg 等のアプリケーションのインストール時には必要なものは自動的にインストールしてくれますが、一応対応しているものとして代表的なコーデックライブラリを書いておきます。

動画

libx264 - H.264 コーデック
libxvid - xVid コーデック
libtheora - Theora コーデック

音声

libfaac - AAC エンコーダ
libmp3lame - lame mp3 エンコーダ
libvorbis - ogg コーデック

FFmpeg

libavcodec (動画・音声のコーデックライブラリ)、libavformat (動画・音声のコンテナライブラリ) 等を含む動画・音声変換ソフトウェアです。 libavcodec が様々なコーデックをサポートしており、様々なマルティメディア処理系のアプリケーションが利用しているので、インストールは必須です。

本来はコマンド端末からコマンドで変換オプションを指定するものですが、便利な GUI ラッパーが存在します。

WinFF

FFmpeg の変換を GUI で簡単に操作できます。フォーマットとオプションを指定して実行すると自動的にコマンド端末で FFmpeg が動画を変換してくれます。

See Also: FFmpeg で 3GPP High Efficiency Advanced Audio Codec (HE-AAC) を使う

Realtime/LowLatency カーネル

・リアルタイム性能を向上させるカーネルの導入

「Realtime/LowLatency カーネル」を導入すると処理の遅延を軽減できるので音声の編集がやりやすくなります。 Ubuntu 12.04 以降では「linux-lowlatency」パッケージで導入できます。

※ このカーネルは LowLatency カーネルです。Ubuntu におけるリアルタイム性能とカーネルの詳細については下記を参照してください。

Ubuntu Japanese Team Wiki - UbuntuStudioTips/Setup/Kernels

インストール後はブートローダでリアルタイムカーネルをブートし、正常に起動すれば OK です。

・リアルタイム処理能力を向上させるチューニング

「Ubuntu Studio」のパッケージの一つである「ubuntustudio-controls」パッケージを導入すると「A/Vプロダクションシステム」を手動で設定できます。この設定は audio グループに属するユーザに適用されるので、自分のユーザをグループに追加しておきます。

GUI から設定する場合は、「ユーザとグループ」設定から自分のユーザの「高度な設定」を開いて、「ユーザの権限」の「オーディオ・デバイスを使用できる」を有効にします。


Community Ubuntu Documentation - Ubuntu Studio Contorols

Linux Salad - 制限を緩めてリアルタイム処理を有効にしよう!

/etc/security/limits.conf を設定しマルチメディア処理を向上させる方法が非常に参考になります。

メディア編集ソフト

動画編集ソフト

Avidemux

便利さを重視した動画・音声変換及び動画編集ソフトウェアです。コーデックライブラリを直接使用するので FFmepg を必要とせず、 Ubuntu において標準では FFmpeg で出来ない MP4(H.264 AVC/AAC-LC)変換を FFmpeg をまったく使用せずに行えます。ただし、このソフトでは「VP6」の変換は出来ません。


動画を読み込んで指定した動画フォーマットと音声フォーマット、コンテナ(形式)を指定すればそのフォーマットで動画を変換してくれます。それぞれのフォーマットはビットレートや品質等の対応する詳細なオプションを GUI から簡単に指定できます。また、簡易的ながら動画編集機能も有しており、フレーム単位での動画の切り取り・変換やリサイズ等の動画編集も行えます。

See Also: Avidemux を使った MP4(H.264/AAC)動画の変換

Kdenlive

非常に使い勝手の良い KDE ベースのノンリニア編集ソフトです。直感的なインターフェースを持ち、簡単な動画編集ならこのソフトだけで十分です。強制終了の高さに目を瞑ればの話ですが。


See Also: Kdenlive を使った動画編集

Cinelerra

強力な機能を持つノンリニア動画編集ソフトです。しかし、 PC のスペックによってはまったく使い物になりません。

・Launchpad PPA - Official Akirad Repository (Ubuntu 9.10 ~)

$ sudo add-apt-repository ppa:akirad/akirad

OpenShot


Ubuntu で最も有効に使えるようになるであろうノンリニア動画編集ソフト。使い勝手は良好です。

See Also: ノンリニア動画編集ソフト OpenShot による動画編集

VLMC

何でも再生する優秀なプレーヤー「VLC media player」を開発している「VideoLAN」が開発中のノンリニア動画編集ソフトです。これも将来性が楽しみな動画編集ソフトです。

・ VLMC Demo



Lauchpad 上でリポジトリが公開されています。

・Launchpad PPA (Ubuntu 10.04)

$ sudo add-apt-repository ppa:webupd8team/vlmc

音声編集ソフト

Audacity

使いやすいサウンドレコード・編集ソフトです。レコーディングには FFmpeg の libavcodec を使用します。生オーディオの録音、既存のサウンドの切り取りや貼り付け、特殊効果の付与等が簡単にできるので、簡単なオーディオ編集にはもってこいのソフトです。


Ardour

Linux 最強と目されるデジタル・オーディオ・ワークステーションです。本格的な録音、編集、ミキシングがこれ一つあればできます。 JACK と連動しているため各トラックに対して柔軟に様々な音源を取り込むことも可能です。


See Also: JACK を使用した Linux における柔軟な音声編集

ドローイングソフト

Gimp

言わずと知れた多機能グラフィック編集ソフトです。このソフトウェアの開発に使用された GUI ツールキットが「GTK (Gimp Tool Kit)」であり、このツールキットは GNOME 環境を中心に様々な GUI 環境に使用されています。 Linux での使用は非常に安定して動作します。


Ubuntu においても、Wacom のペンタブレットのデバイスをインストールすれば筆圧感知機能が使えます。

Wacom ペンタブレットのデバイスは Ubuntu のリポジトリに用意されているので、使用する際はインストールしておきます。

# sudo apt-get install wacom-tools xserver-xorg-input-wacom

Gimp で筆圧感知機能を有効にするには、メニューから「編集」→「環境設定」→「入力デバイス」→「追加された入力デバイスの設定」でペンタブレットの機能を有効にします。この設定はシステムがペンタブレットを認識していないとできないので、ペンタブレットを接続して行います。 Wacom のデバイスを選択し、「モード」を「なし」から「画面(もしくはウィンドウ)」にするとそのデバイスが有効になります。変更したら「現在の入力デバイスの設定を保存」を選択すればその設定の保存が出来ます。



なお、特にインストールの仕方に関して記述のないソフトウェアは Ubuntu のリポジトリに含まれているものです。 APT や Synaptic でインストール可能です。