カテゴリー
ツール

JSONCrush – JSONをURIに圧縮して載せるためのライブラリ

KilledByAPixel/JSONCrush は、JSONをURLに載せやすい形に変換するライブラリです。

JSONCrushのデモサイト。JSON形式のデータを左上に入力すると、それをテキストとして圧縮し(↓)、さらにURIとして使える文字に縁故度しています(→)。

今回入れてみたJSONでは、そのままURIエンコードした場合に比べて52%、約半分のサイズとなりました。

URLにユーザーが入力した結果のJSONデータをなるべく小さくして載せるというのがライブラリの目的です。URLに再現のためのパラメータが全部載っていれば、結果をブックマークしてもらえばいつでも同じパラメータのページが再現できます。サーバーサイドでいろいろ面倒な処理をして覚えておく必要がありません。

そのままURLEncodeする手もあるけど、URLのサイズ上限(2000バイトちょっと)に引っ掛かるのは避けたい、と。HTTPパラメータとして個別に受け取ればもっとコンパクトにできるのでしょうけど、JSONのまま渡せるのは場合によっては楽なのでしょう。作り手側に楽という意味ですが。

使ってるJSCrush ライブラリが変換部分を担っていて、これは特定の文字列内でテキストをエンコードしてくれるもののようです。JSCrushのデモサイトはこちら。

JSCrush は minify したものしかないらしく、
その動作を解析してる人がいました。この解説によれば、JSCrushライブラリは、1KbyteのJavaScriptで何ができるか、というコードゴルフコンテストの2012年の作品で使われたものだそうです。

via Hacker News

カテゴリー
技術

監視カメラの長時間画像を圧縮して短く見せるBriefCam

BriefCam は、ほとんど変化がない景色を撮影した監視カメラ等による長時間動画を、数十~数百分の1の短い動画に圧縮するという、動画の要約ソフトウェアです。

建物のホールに設置したカメラの110分の動画を、2分に圧縮したもの。違う時刻に現れたそれぞれ別の人物、あるいは同一人物が、カメラ内に登場し・去っていく様子を見せています。同じ画面上に同時に見えますが、それぞれの人には時刻が重ねて表示されています。

briefcam-hall

工場で作業する人たちの動画。同様に15分が2分になっています。

briefcam-factory

2時間のドア付近の人の出入りを90秒で再現。

briefcam-entrance

サイトには、道路を通る車や駐車場の出入り、部屋内の荷物の移動など、他のいろいろな利用例も掲載されています。

カメラの価格も、撮影した動画をコンピューターに保存することも、ネットで閲覧することも、一昔前からすれば格段に簡単になったため、世の中には監視カメラで取った動画情報はあふれるほどに存在するかと思います。

しかし、1時間撮影したものを見直して何かを発見するには、たとえ2倍速で観たとしても30分掛かってしまうわけです。重大な事件の証拠探しなら人海戦術も採れるでしょうが、それ以外の場合には、撮ったはいいが確認がたいへん、ということも多いのが実際なのではと想像します。

音声レコーダーでも、誰かが話している時だけ録音する、という機能がありますが、動画についても、変化のある箇所だけを手早く発見・確認したいという需要は多いのかもと思いました。

via The software that caught the Boston bombers