Bakulog

獏の夢日記的な何か。

Pepperで録画した映像のコーデックについて

タイトルのまんまです。

 

先日アトリエ秋葉原に居た際、こんな質問が出てるのをそばで見てました。

「Pepperで録画した映像をPCにダウンロードして視聴したいんだけど再生できない…」

Pepperには映像録画機能があって結婚式とかイベントではかなり活躍している機能なのですが、実は罠があるのですねー。

基本的な録画方法についてはとのさまらぼのQiita記事があるので参考にしてください。また、録画が完了した動画はPepper内部にファイルとして保存されるわけですが、このファイルをダウンロードする方法はとのさまらぼの別の記事に載っています。ここまででダウンロードは完了です。

 

…が、ふつーにWindowsMacの標準環境で落としてきた映像ファイル(.avi)を再生しようとしてもうまくいきません。こちらがWindows Media Playerで再生しようとした結果です。

cannot_open_avi

さて困った、となりますが。映像ファイルが再生できない原因はだいたいコーデックなのでコーデックを調べてみましょう。真空波動研を使えばすぐ分かります。

pepper_video_codec

Motion JPEGと書かれているのでWikipedia先生に聞いてみるとこんな感じ。

それぞれのフレームをJPEG形式で圧縮/伸長し、連続でこれを表示することで動画としている。 同じくJPEGを発展させた動画圧縮形式として知られるMPEGJPEGの2次元圧縮だけでなく時間軸すなわちフレーム間を含めた3次元の圧縮方式であるのに対し、Motion JPEGではフレーム間の圧縮を行わない。

要するに「単なるパラパラ画像を集めて一つのファイルに固めました」というのがMotion JPEGである、と。上の引用にもある通りMPEG(.mp4)とは別物です。

ともかくコーデックがMotion JPEGであることが分かりました。本記事で書きたかった主な内容はここまでです。

もし動画を再生したい場合はVLC Media Playerを使うのが一番ラクな解決策みたいです。あるいはAviUtlffdshowとかを導入するとMotion JPEGの動画ファイルを読み込めるので、これで標準的なmp4に変換するのも一つの手かと思います。