<< 2024/04 >> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
|
JPT3815W 向け?専用レコーダー その3
13/06/11 00:21 / その他のソフト
最初は「Motion JPEG で中身は Jpeg なんで画像の圧縮率が高くなるようにポスタリゼーション処理(簡単に言うと色数を減らす)とかやったら録画サイズ小さくなるんでない?」と思って、受信したデータを一旦 Bitmap に落としてから加工して Jpeg に再圧縮した上で動画に書き出そうと思ったのですが・・・芳しくない orz
一応、比較してみますと、 ドノーマルで JPT3815W から送られてくる Jpeg データは昼間で大よそ 55KByte 前後、夜間は 35KByte前後になります。 昼夜でサイズが変わるのは、夜はモノクロに近くなりますので必然的に圧縮率が高まる訳です。 昼間の状態で、これをグレイスケールにしますと、40K 暗いまでサイズが小さくなります。 防犯用?としてはいいかもしれんですが、やっぱカラーで録画しておきたいなーってことで、ポスタリゼーションを行って見たのですが、サイズは 50K 前後と、5K 小さくなるだけでした。 その上副作用としてブロックノイズが酷くなって、まぁさらっと見る限りではいいんですが、やっぱ気になってしまいます。 やっぱりかー、やっぱりそこにいかんとダメかーって事で昨夜から唸っていたのですが・・・ はい。こんなんでました。 受信したデータをリアルタイムエンコードかますようにしました(笑) Windows には Video for Windows(VFW)という古くから動画を扱う API がありまして、それを使うと、どこかにいる偉い人が作ってくれた codec を簡単に利用することが出来ます。 確か昔作った VFW のライブラリがあったはずだよなぁと探してみましたらありました。 タイムスタンプが 2000年ととっても古いです。 (こいつは Delphi 2007 R2 を使って開発をしていますので、vfw.h / vfw.lib なんて便利な物が無いので、自力で vfw.h を移植する必要があるんですよ。Delphi 使いの宿命です) コードのコメントを見ると 1999-2000 Delphi4.0 用になってます(笑) まぁ、ライブラリと言っても必要な変数定義と DLL の指定だけなので、大掛かりな物ではありません。 とりあえず Delphi4 用固有の箇所を Delphi 2007 で使えるように書き換えてあれこれやってみます。 頭の中の動画関連の知識は Cinepak 辺りで止まっているので(いつの時代だ)とりあえず codec を列挙する所から作ります。 おぉそうだ! mmioFOURCC だよ! fccType や fccHandler だよ! ICOpen ってなんだっけ?と思い出しつつ、とりあえず列挙した中に入っていた DivX codec を指定してみた所、なんかエンコードが出来てしまいました。(いつもながら適当です) えーと、こちらは最初に作った Motion JPEG で圧縮した動画です。(確認は VirtualDub でやってます) 6.4sec (64frame) で 1,783K 約 1.7M です。 6,4秒で 1.7M ってどんだけ圧縮されていないんだよ(笑) そら録画したら、当たり前のように 800M とかファイルが出来るわけだ。 こちらは、受信しつつ DivX で圧縮をかけたファイルです。 なんか微妙に codec のバージョンが古い気がする。 いつ入れたんだろう・・・と、それはさておき、5.7秒(57frame)で、186K です。桁間違えていません。 サイズが 1/10 ですよ。viva DixV!! あ、DivX codec って言っていますが、実際の圧縮は MP4 H.264 です。拡張子が avi ですが、これは AVI のファイル形式を使っていて、中身が H.264 ってことですね。 少し話が飛ぶのですが、codec のエンコード。 特に MPEG 関連は、米MPEG LA ってところがライセンスを管理していて、エンコードとかデコードするソフトはライセンス料がかかるんですよ。 MP4 に関しては、ネットに無償公開するものであれば無料っぽいんですが、有償公開するものに関してはライセンス料がかかるっぽいです。 ここらがわからんとソフト公開できないんですよねぇ。 (MotionJPEG だけなら無問題) 誰か調べてくれないかなぁ(他力本願) 閑話休題。 非常にサイズが小さくなるので、丸1日録画しておいても HDD 容量を気にする必要まったく無しです。 まぁ、受信しつつエンコードをする関係で非力なCPUで無くても FPS が駄々下がりですが(30% down 位)防犯用とか猫録画用なら別に 5fps でも良いくらいだしなぁ。 まだ余分な処理も入っているので、そこらを最適化すれば 10% down くらいには持っていけるんじゃないかとは思いますが。 これでとりあえず録画関連は目処がついたので、次に欲しいのは動態検知ですね。 最悪 MP4 codec でライセンスが必要だよ。と言われても Motion JPEG なら問題ない訳だし、今は検知が出来ないので(そして本体の検知がまったく当てにならないので)動態検知ができるようになれば、100frame 位前から絶えずバッファリングしておいて、検知した時点で録画をするとやればサイズもそんなに気にならないですしね。 あれこれ書いていますが、あんまり仕事のウェイト減らしてこのソフト作って遊んでいてもダメなんですが(笑) [更新日付:2013/06/11 01:26:58]
トラックバックを見る(0) Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+6a9e48c0788494811b470195e1237163c92a0c78] TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+6a9e48c0788494811b470195e1237163c92a0c78] 記事へのコメント コメントはありません |
@AKISoftOfficialをフォロー
掲示板 サポートBBS PMailServer BBS アクセスの多い記事
最新記事(カテゴリ別)
PMailServer2 Version 2.53 をリリースしました。
04/08 00:50 フリー版からの製品版移行時の MTA 並列数について 02/17 23:52 メールサーバーの開発を始めて20年 02/07 21:46 PMailServer2 Version 2.52a をリリースしました。 12/26 14:02 PMailServer2 Version 2.52 をリリースしました。 10/01 10:48 PMailServer2 Version 2.51b をリリースしました。 09/19 01:43 PMailServer2 Version 2.51b(仮) Memo 09/12 00:33 PMailServer2 Version 2.51a をリリース、及び脆弱性についてのお知らせ 09/05 01:15 PMailServer2 Version 2.51a Memo 08/21 00:48 アドレスV125(K5)のスターターリレーの交換 08/04 10:10 最新コメント
コメントはありません
UUアクセス数
今日は 80回
昨日は 432回 トータル 305368回 3ヶ月記事別ランキング
プロフィール
Z80から68系、8086系を経由して
Pascalに移行。現在は Delphiをメインに C/C#も囓ってみたり。 「無い物は作れ」の精神で年がら年中なにかを作っています。 すぐ自前で作りたがるので無駄に工数が上がったりして自爆してみたりもします。 好きな物は麺類とお煎餅 Blom内検索
BLOM Version 1.39 ©2007-15 A.K.I Software all rights reserved. |