[動画処理] Adobe Premiere Proで動画にモザイクをかけるには

動画にモザイクをかけるニーズあり。映像に本題とは無関係ない人が映り込んでいたりすると、個人情報保護の観点からそのまま公開するのは望ましくない。イメージリリース (肖像権に関する許諾) が取れていないのであれば、個人が特定できる箇所はぼかしておくに越したことは無いだろう。

僕が常用している動画エンコードソフトのFFmpegを調べたのだけど、さすがにモザイクの機能は搭載していない。もしかすると、アドインできるフィルタがあるのかもしれないけど。フリーソフトでモザイクをかけることができないかと調べたら、静止画用のソフトはいろいろあるものの、動画に関しては情報が非常に少なく、唯一ヒットしたのがSEffectというソフト。

SEffect – k本的に無料ソフト・フリーソフト
http://www.gigafree.net/media/me/seffect.html

SEffectのページ
http://www.geocities.co.jp/SiliconValley-Cupertino/7962/

フリーソフトだけで動画にモザイクをかける|車は楽しくなくちゃね|Blog|epotan|Minkara
http://minkara.carview.co.jp/en/userid/597658/blog/20039648/

試しにダウンロードしてみましたが、タイムラインで編集するソフトに慣れてしまっている僕には滑らかに操作するのは難しい。慣れれば問題ないだろうけど。これだけのソフトをフリーソフトで公開している作者には頭が下がる。

幸いにしてAdobe Premiere Proを使わせてもらえることになったので、今後はモザイクのみならず、いろんな編集処理ができそう。Adobe Premiereでモザイクをかける方法は以下のYouTubeビデオを参考にさせてもらった。他の方法もあるかと思うけど、まずは最初の一歩としてリンクしておく。

[動画処理] MP4動画をプログレッシブダウンロード再生するには

MP4形式の動画をプログレッシブダウンロード再生する方法を覚え書き。プログレッシブダウンロードをサポートすることにより、動画ファイル全体がダウンロードされるのを待たずに、ダウンロードしながら動画再生できるようになる。

プログレッシブダウンロードに対応した動画プレイヤーを使う

Adobe Flashで書かれたプレーヤーなら大抵対応しているかも。

動画はコーデック H.264 でエンコードしておく

たぶん H.264 でエンコードしておくのが一番間違いなさそう。

MP4ファイルを Fast Start 仕様にしておく (moov atom の変更)

Fast Start すなわち「早く始まる」仕様。そのようにMP4ファイルを簡単に変換するソフトが多数あるので難しいことはない。

MP4のファイル構造について。MP4ファイルの内部データはatomと呼ばれる塊ごとに管理されていて、atomの1つの種類にmoovと呼ばれるものがある。moov atomには動画のインデックス情報が格納されていて、普通の(Fast Start仕様ではない)MP4ファイルではファイル末尾に付加されている。動画プレイヤーは動画再生にmoov atomを必要とするので、ファイル末尾にそれがあるならば、ファイル全体がダウンロードされるまでは再生を始められない。このmoov atomをファイルの先頭に格納しておけば、ダウンロード開始直後から動画再生が可能になるというわけ。そういった細工を施したMP4ファイルが俗にFast Startと呼ばれているようだ。

Data Go Round Lab のフリーソフト MP4 FastStart を使うと、MP4ファイルをFast Start仕様に変更できる。操作は至って簡単で、[Open Folder] ボタンをクリックしてフォルダを選ぶとフォルダ内のファイルが一覧されるので、一覧からMP4ファイルを選んで [Make FastStart] ボタンをクリックするだけ。いろんなソフトを試したけど、このソフトが一番簡単だった。

Data Go Round Lab
http://www.datagoround.com/lab/

ffmpegでも -movflags +faststart オプションを付加することで、エンコードされたMP4ファイルをFast Start仕様にすることができる。可能であればエンコード時に一緒にやってしまうと手間が少なくと済みそう。

参考サイト

Understanding the MPEG-4 movie atom | Adobe Developer Connection
http://www.adobe.com/devnet/video/articles/mp4_movie_atom.html

Video Learning Guide for Flash: Progressive and streaming video | Adobe Developer Connection
http://www.adobe.com/devnet/flash/learning_guide/video/part02.html

[動画処理] ストリーミングとプログレッシブダウンロードの違い

現在参画している動画を扱うプロジェクトのスタッフの中に「ストリーミング」と「プログレッシブダウンロード」を混同している人が割と多くいることに気づいた。制作中のサイトに関して「この動画はストリーミングでは配信されないの?」と聞かれたので、「ストリーミングサーバーは契約していないから出来ないよ」と答えると、「YouTubeみたいにストリーミング再生できると思ったのに」と返される。こういう誤解は、マーケティングなど非技術系のスタッフに多いように思う。

YouTubeはプログレッシブダウンロード

YouTubeの動画配信はストリーミングではなく、プログレッシブダウンロード。プログレッシブダウンロードを「擬似ストリーミング」と呼ぶ人がいるので話がややこしくなる。ストリーミングとプログレッシブダウンロードの大きな違いは、前者はサーバーから受け取ったデータをファイルに保存せずに再生したら捨ててしまうのに対して、後者は受け取ったデータをファイルに保存した端から再生していくところ。従って、YouTubeで再生した動画がブラウザのキャッシュに残るのに対して、ストリーミングで再生した動画はキャッシュには残らない。

ストリーミングは動画のライブ配信に使われることが多いように思う。ストリーミングサーバーの使用料はストリーム単位で課金されるので、予想外の課金にびっくりしないように、ピーク時に必要なストリーム数を適切に試算する必要がある。ちなみに、ストリーミングには「アダプティブストリーミング」と呼ばれる、回線容量によって動画の品質を変えながら配信するストリーミング技術もあるらしい。

参考サイト

Streaming Vs. Progressive Download Vs. Adaptive Streaming
http://www.onlinevideo.net/2011/05/streaming-vs-progressive-download-vs-adaptive-streaming/

[動画処理] Free Video Jointerの動画結合機能は優秀

動画ファイルを連結できるソフトをいろいろ試した結果、Free Video Converterというソフトが割と優秀だったので紹介しとく。

Free Video Converter | MP4 MP3 iPhone AVI FLV 動画変換フリー
http://www.freemake.com/jp/free_video_converter/

操作がちょっとわかりにくいけど、メインウィンドウ右上の[Join files]をONに設定するとファイルの結合ができる。処理開始前にビットレートなどのオプションが指定できるところから推測すると、単にファイルを連結するだけでなくエンコード処理も行っている模様。実行中はCPUパワーをかなり食っているので、たぶん間違いない。でも、もしきちんとエンコードしているとしたら、ffmpegよりも処理時間はかなり短い。

連結後のMP4ファイルを確認したら、僅かに音ズレしているものがあったけど、ソフトのせいかどうかは定かじゃない。ソースが悪かったかも。用途によっては、このソフトはかなり役立つかも。

[動画処理] 動画を連結する場合は再エンコードしたほうが間違いない

MP4やWMVのファイルを結合したい場合、再エンコードに時間が掛かるのを嫌って簡単に結合できるソフトをネットで探すことがある。実際にネットを検索すると、以下のような動画連結機能を備えた便利なソフトが見つかった。

これらのソフトは期待通りの結果を出力してくれることが多いけど、動画形式によっては連結後の動画に、オーディオトラックの欠落、音ズレ、属性情報の破損などの問題が見られる場合も少なくない。

基本的にMPEGはフレーム間の差分をデータ圧縮に使っているので、再エンコードなしでは問題が起きる可能性が高まりそうな気がする。動画配布後に問題が発覚して青ざめるのは嫌ならば、結果が怪しいときには手間を惜しまずに再エンコードしたほうが間違いない。

[バッチファイル] サブディレクトリを巡回しながらアーカイブを作成するには

バッチファイルを使って以下の処理を行う方法を考える。

カレントディレクトリに沢山のサブディレクトリが存在し、それぞれのサブディレクトリに画像ファイルが多数格納されているとする。バッチファイルを使って、サブディレクトリごとに中身のファイルをアーカイブして、カレントディレクトリにZIPファイルとして保存してみよう。

このバッチファイルでは、サブディレクトリを巡回し、サブディレクトリ名を引数にしてmakezip.batを呼び出している。

このバッチファイルでは、7-Zipのコマンドライン版(7za.exe)を使ってサブディレクトリ内の全jpgファイルをアーカイブし、カレントディレクトリにサブディレクトリ名のZIPファイルとして保存している。バッチファイル内でディレクトリを移動しているのは、カレントディレクトリからアーカイブを行わないとアーカイブ内にサブディレクトリ名が相対パスとして保存されてしまうため。すなわち解凍すると、まずサブディレクトリが作成されて、その中にファイルが展開されることになる。それを避けるため。

簡単なバッチファイルだけど、テンプレートとして用意しておくと使い回しができそう。

[バッチファイル] サブディレクトリを巡回するには

バッチファイルでサブディレクトリを巡回しながら処理を実行したいことがある。以下のバッチファイルでディレクトリを巡回できる。このバッチファイルでは、カレントディレクトリのワイルドカード(*)からディレクトリのみ(/d)を取り出して、do以下の処理を行っている。

もしdo以下に複数の命令を書きたい場合は、ラベルに飛ばしてexit /bで戻るとか。

あるいは別のバッチファイルを呼び出しても良い。

For – DOS コマンド一覧
http://pf-j.sakura.ne.jp/program/dos/doscmd/for.htm

Call – DOS コマンド一覧
http://pf-j.sakura.ne.jp/program/dos/doscmd/call.htm

[バッチファイル] ファイル名を小文字に一括変換するには

ファイル名に大小文字が混ざったJPEGファイルを全て小文字のファイル名に変更したいというニーズあり。単純に大文字を小文字にするだけ。例えばTestImage0001.jpgだったらtestimage001.jpgにする。だけど、ファイルが数百個というオーダーで大量にあるので手作業でやってるわけにはいかない、というわけでバッチファイルを使う。

バッチファイルで大文字・小文字を変換する

以下の記述により、%STRに含まれる文字列中の’A’を’a’に変換できる。

アルファベット25文字全部に関してこの処理を行えば大文字を全て小文字にできるけど、バッチファイルに25行の記述を書くのは芸が無いのでループを使おう。

以下が参考サイト。

バッチファイルで変数の大文字・小文字を変換する。 – 片っ端から忘れていけばいいじゃない。
http://0xc000013a.blog96.fc2.com/blog-entry-210.html

バッチファイルで大文字、小文字に変換する。: Windows Script Programming
http://scripting.cocolog-nifty.com/blog/2010/04/post-426e.html

BATファイルで文字列の切り出し
http://www.upken.jp/kb/kZwpzAqblKfZDjtMXuWuwioeExKNdE.html

この仕組みを使ってファイル名を大文字から小文字に変換するバッチファイルを書く。

ディレクトリ中のファイルをスキャンして一括で処理する

次はカレントディレクトリ中の全JPEGファイルをスキャンして、上で作成したバッチファイルを使ってファイル名を小文字にするためのバッチファイルを作成する。

バッチファイルも知れば意外にいろんなことができる。

[バッチファイル] ファイル名に連番を付けてファイルをコピーするには

バッチファイルを工夫してファイル名にフレーム番号が含まれるように画像ファイルをコピーしたい。だけど、たとえバッチファイルで出来そうと思っても、バッチファイルなんて日常的に使わないので命令や構文はほとんど覚えてない。ネットで再勉強。やりたいことは、まさに以下のサイトで説明している通り。説明が丁寧で分かりやすくて感謝。

バッチファイルでファイル名に連番を付けてコピーする~実行解説
http://dalmore.blog7.fc2.com/blog-entry-77.html

参考サイト

バッチファイルで使える命令や構文については以下のサイトが参考になる。

開発に役立つ,BATファイルの書き方・パターン集 (コマンドプロンプトの定石を体系的に学び,バッチ中級者になろう) – 主に言語とシステム開発に関して
http://d.hatena.ne.jp/language_and_engineering/20130502/PatternsOfMSDOSorBAT

コマンドプロンプトを使ってみよう! -バッチファイル-
http://ykr414.com/dos/dos05.html

[Audacity] 無音ファイルを作成するには

Audacityを使うと無音のサウンドファイルを簡単に作成できる。以下覚え書き。

  1. Audacityを起動
  2. [Tracks]-[Add New]-[Stereo Track]メニューを選択
  3. [Generate]-[Silence…]メニューを選択
  4. [Duration]に無音時間を入力
  5. [File]-[Export…]メニューを選択し望みのファイル形式で保存

Audacity: フリーのオーディオ編集および録音ソフトウェア
http://audacity.sourceforge.net/?lang=ja