してログ

Windows 8.1 をゲスト OS としてインストールしたところ、最初は USB が使えませんでした。 仮想マシンに、USB コントローラがインストールされていないのが原因です。 また、USB xHCI コントローラが入っている場合も、USB EHCI+UHCI コントローラに入れ替える必要があります。

  1. 仮想マシンをシャットダウンします
  2. 仮想マシンの設定を開き[ハードウェア>追加>USBコントローラ>EHCI+UHCI]を追加します
  3. 仮想マシンを起動します
参考

そのままでは「リモートコンピュータには、お使いのコンピュータでサポートされていないネットワークレベルの認証が必要です。サポートが必要な場合は、システム管理者かテクニカルサポートに問い合わせてください。」と表示され、接続できません。 この場合、WindowsXP SP3 であれば、下記のレジストリを変更することで接続できるようになります。

  1. レジストリエディタを開く(ファイル名を指定して実行>regedit)
  2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]にある[Security Packages]の最後に行を追加し[tspkg]を入力する
  3. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders]にある[SecurityProviders]の末尾に[, credssp.dll](カンマを忘れずに)を入力する
  4. OS を再起動する

別な方法としては、Windows8.1 の認証レベルを変更することでも可能です。 この場合、Windows 8.1 の[システムのプロパティ>リモートネットワーク レベル認証>リモート デスクトップを実行しているコンピューターからのみ接続を許可する (推奨) ]のチェックを外します。

Android4 の車載機が出るのを待ち続けて最近すっかり忘れておりましたが、前回導入を断念した XTRONS から出ていたようです。 色々と面倒な海外通販ではなく、日本市場向けに出していただける、とてもありがたい存在です。 今回購入した「TD730A - 7”Android4.1デジタル 2DIN 車載PC」を何回かに分けてレポートしていきたいと思います。 なお、タイトルに Android4.1 とありますが、入っているのは Android4.2.2 です。

(TD730A)XTRONS 2DIN 7インチ Android4.2.2 パネル角度調整可 車載PC DVDプレーヤー・静電式タッチスクリーン・3G WIFI GPS ブルートゥース iPod対応 USB

設置にはいくつか加工が必要

パッケージには紙の取扱説明やクイックセットアップなどといったものが一切入っていません。 結線情報等は、ホームページを見て確認する必要がありますので、このページをプリントアウトして作業をしましょう。

ハーネスの加工
付属のものは汎用ISOコネクタなので、ギボシ端子に加工する必要があります。具体的には、コネクタ部分を切り落として、ギボシ端子を取り付けて行けばOKです。ただし、オスとメスがありますので、車側のハーネスの対応する色のものを見て合う方を付けていきます。国内メーカーの場合は、最初からギボシ端子になっているので、この辺は注意が必要です。

↑左がギボシ(オス・メス)、右がクワ型端子(アース用)
(カー用品店にあり、加工に電工ペンチが必要です)

↑ソケットを切り落とし、このように加工しました
(ギボシのオス・メスは、車側のハーネスを見て対応させてください)
CD/DVD 保護ネジの取り外し
本体上部にある二箇所の保護ネジを取り外しておきます。黄色いシールに「REMOVE BEFORE ...」と書いてあったのを見落とし、初期不良かとサポートに問い合わせてしまいました。

↑サポートが送ってきた画像
(写真とは違い配線図は無く、英語で注意書きがされていました)

↑取り外したネジ
ブラケットの取り付け
車側から取り付け用ブラケットや、スペースを確認しておきます。私の場合は、取り付け位置の幅が狭くて加工する必要がありました。車側の穴を少し狭くするようなフレームが、プラスチックを溶解する加工で取り付けてあり、それを取り外しました。ブラケットも、付属のネジではうまく取り付けられなくて、別のネジやワッシャが必要になってくるかも知れません。ここでは仮締めなため、少しゆるく止めておきます。
ディスプレイフレームの取り付け
本体と車の隙間を目立たなくするものなので、気にならないなら取り付け無くても良いと思います。本体の前側から入れますが、かなりキツイので破損しないように注意が必要です。
車への搭載
バッテリーのマイナス端子を外して、ハーネス、アンテナ、GPSアンテナ、iPodケーブル等を接続します。アースは車側のハーネスにありましたので、そこに接続しました。ブラケットで本体の位置を微調整して締め固めます。USBケーブル等は、裏からグローブボックスに出しました。
GPSアンテナの配線
GPSアンテナは、ダッシュボードの裏から、Aピラー(取り外しが必要)を通して、ダッシュボード上に出しますが、これは車屋さんにお願いしました。GPSアンテナのプレートは付属していないので、気になる人はこういうのを買うか、自分で作ってください。
セットアップ

日本市場向けの製品ですが、初期設定が日本向けになっていません。

言語の設定とキーボードの変更
設定画面[Setting>Language & input>Language]から「日本語」を選択します。
日付の設定
設定画面[設定>日付と時刻]を開き、タイムゾーンを「GMT+09:00 日本標準時」、だいたいの時刻を入力後、「日付と時刻の自動設定」にチェックを付けておきます。
ラジオの受信地域の設定
設定画面[設定>General>Extra settings(パスワード123456)>Select radio region]を「日本」に設定します。初期のままだと、87.5MHz 以上のFM局しか選局できないので注意が必要です。
走行時の視聴制限を解除
設定画面[設定>General>Extra settings(パスワード123456)>Brake setting]を「CLOSE」に設定します。標準の動画プレイヤーで映像が出るようになります(恐らくこの機種は車速ケーブルを接続する場所が無いので、常時映像がオフになっていると思います)。
製品レビュー(標準機能編)
パッケージ
取扱説明書やクイックセットアップなどの紙が入っていないのは、とても不親切です。本体にデジタルの説明書が入っているようですが、手動でAPKをインストールしなければならず、何の説明も無いまま辿り着くのは不可能だと思います。最低限、結線の説明とデジタル説明書のインストール方法は入っているべきでしょう。なお、本体に動画の操作デモが入っていて、これを見ればだいたい分かりますが、ピントが固定されていないのでとても見にくいです。これらの説明書がホームページ上からダウンロードできないのも不親切です。
汚れ、キズ、破損
汚れ、キズ、破損があり、品質はあまり良くないと思います。破損については、ディスプレイフレームのプラスチックが割れていて今にも取れそうになっていました。サポートにメールしましたが、一切の謝罪が無かったことを付け加えておきます。取り付けてみると、隠れて見えない場所でしたので、最終的にはこのまま使用することにしましたが、一言あるのと無いのとではだいぶ違いますよね。

↑割れていた部分(新品で買いましたが、再生品かと疑います)
ディスプレイ
前回マスクがズレていて一部表示が隠れてしまっていましたが、そのようなことはありませんでした。コントラストや発色が、iPhone や Nexus7 などと比べると見劣りしますが、値段相応かと思います。保護フィルムが綺麗に貼られていないためか最初、映りが良くない印象でしたが、これを剥がしたところ良好な表示になりました。アスペクト比は、若干狂っているような気がしないでも無いですが、気になるレベルでは無いと思います。
雑な製品加工
3GのUSB端子は使用しないため、USBメモリを接続しています。この端子ですが、内側の金属の枠が変形しており、かなりの力で押し込まないと接続することができませんでした。このままだと不便ですので、USBハブを入れて利用することにしました。

↑内側の枠が変形していて楽に差し込めませんでした
iPod ケーブル
iPod / iPhone を接続するためのケーブルは、一世代前のものです。iPhone5 以降のライトニングはブラケットが必要になってきますので、利用したい場合は同時に注文する必要があります。私は、このケーブルを使用する予定はありませんが、グローブボックスに出しておきました。
パネルオープン機構が危険
CD/DVD や SD カードを出し入れする時は、イジェクトボタンを押すと、パネルが前進しながら仰向けに倒れます。もう一回押すと閉じるのを期待すると思いますが、この製品は閉じません。メディアを出し入れすると自動的に閉じるのですが、そうでない場合は時間が来るのを待つしか無いように思います。問題なのは、出し入れに手間取っていて時間が来てしまうと、お構いなしに閉じてしまうことです。実際、SD カードを半刺しの状態で閉じてしまい、飛び出た SD カードに引っかかって動かなくなってしまうことがありました。これ、指を挟んでしまいそうで、本当に危険です。自動的に閉じるのではなく、常に手動操作にして欲しいと思います。
パネルオープン時の誤操作
メディアを出し入れする際に、タッチパネルに触れてしまうことで、誤操作してしまいます。パネルオープン時は、タッチパネルの操作を無効にするなどして欲しいと思います。
ラジオ
初期設定で受信地域を日本にしないと、87.5MHz 以上の放送局しか入りません。バンドは、FM1、FM2、AM があり、それぞれ10局ずつ記憶できます。ただ、保存した放送局に名前を付けられないのが残念です。
音楽再生(標準プレイヤー)
問題ありません。日本語の曲名もちゃんと表示され、ジャケット写真なども表示できています。ただ、スペアナのようなビジュアライザがあると良かったです。気になったのは、最初から iNand の中に十数曲ほど入っていましたが、著作権はどうなっているんでしょうか? この個体、やっぱり再生品なのかも知れません。
動画再生(標準プレイヤー)
テストで用意した mp4 の動画は問題なく再生できましたが、コンテナやコーデックによっては再生できないものもあり、メインで使うのは厳しいかもしれません。ただ、電源OFF後でもレジューム機能がきちんと働くのは評価できます。また、アスペクト比は維持されず、画面サイズにストレッチされるようです。ディスプレイの解像度は 800x480 ですが、1080P の FullHD 動画をスムーズに再生できる十分な処理能力を持っています。
DVD 再生(標準プレイヤー)
アスペクト比が維持されず、画面サイズにストレッチされるようです。リモコンで、ZOOM 機能がありますが、ひととおりモードを変えても、縦横比を正しく表示させることはできませんでした。DVD に記録されている画面アスペクト比を読み取って表示して欲しいと思います。できれば、黒帯の入っているソフト用にクロップされるモードもあると良いです。
iPod
昔使ってた iPhone3G があったので繋いでみましたが、特に問題なく利用できました。古い iPhone や iPod がある人、もしくはリサイクルショップなどで買ってくれば、調度良いストレージとして使えると思います。
TV、AUX
TVは日本向けでは無いため、AUXは外部入力の機器が無いため、ともに試せませんでした。これらは標準のホームアプリで固定化されているので、消したり並べ替えたりすることはできないようです。標準のホームアプリはボタンのアニメーションがうるさいので、入れ替えた方が良いかもしれません。
ハンズフリー通話(Bluetooth)
ペアリングをするだけで特に問題もなく使えました。連絡先データは、手動でダウンロードしないと表示されません。まだ、数回しか通話を試していませんが、とても快適にできています。ただ、連絡先にある電話番号から掛ってきたのに、名前が表示されなかったと思います。また、着信音がチープなのですが残念なことに変更できないようです。
ナビ(標準ナビ)
日本向けでないこともあり、地図のデータがありません。Google ナビなど別のアプリをインストールする必要があります。他の標準機能はできませんが、ナビだけは設定画面[設定>General>Navi application]でボタンから起動するアプリを変えることができます。また、標準搭載のナビは3GB以上も容量を使っていますので、アプリ(iGO navigation)をアンインストール、地図データフォルダ(/sdcard/IGO)の削除をお勧めします。
その他
エンジン始動で電源が入り、カットでシャットダウンします。エンジン始動中に電源をオフにしたい場合は、HOME ボタン(電源マークがある)を長押しすればよいみたいです。また、設定画面[設定>General>Shutdown delay]でエンジンカット後、何分でシャットダウンするか設定できます。恐らく、これを指定した場合、エンジンカット>スリープモード>設定時間経過>シャットダウン、というような流れになるのだと思います。スリープモードの消費電力が心配ですが、利便性を考えて最大の1時間に設定しました。
ベンチマークテスト

すべての項目において、Poor(貧弱)と判定されてしまいました。 参考までに、Nexus7 のスコアは 17289 でしたので約半分の性能です。 他のスマホでは、Samsung Galaxy Note、Samsung Galaxy Nexus、Sony Xperia S、Sony Xperia T などと同じくらいの性能のようです。 例えば、ナビとして使いたい Google マップはかなり重く快適とは言えない操作感です。 この辺については、また別の記事として書きたいと思います。

アプリ
AnTuTu Benchmark 5.3
スコア
8241
結果の詳細
UX : Android 4.2.2
  マルチタスク      2067
  Dalvik            617

RAM : 463.6 / 996.3 MB
  RAM演算能力       534
  RAM速度           218

CPU (multi-thread) : x2
  整数演算          556
  浮動小数点演算    518

CPU (single thread) : x2
  整数演算          717
  浮動小数点演算    797

GPU : Mali-400 MP
  2Dグラフィックス  441	
  3Dグラフィックス  999 (800x480)

IO : 191.7 / 830.7 MB
  ストレージのI/O   352
  データベースのI/O 425
ここまでの評価

素直に買って良かったと思う製品です。 車載向けの標準アプリの使用感も良好ですし、何といっても Android 4 のフル機能が使える自由があります。 例えば、給油記録アプリをインストールして、燃費計算やオイル交換の履歴を登録したり、ドライブレコーダーの録画を再生するのにも使えます。 Android 4.2.2 では全部は使えないまでも、OK, Google を発声して、音声応答で天気や目的地へのルートを検索させることができます。

しかし、処理速度の面では一番使いたいであろう、Google ナビの利用には遅すぎます。 このためか、交差点を通り過ぎてしまったり、曲がるときの地図の回転が滑らかでは無いため、どこを走っているのか見失うことが多いです。 また、TD730A は、方位センサーや加速度センサー類を一切搭載していないため、車の進行方向は GPS による移動方向で出しているようです。 滑らかな地図の回転が行えないのも、方位センサーが搭載されていないのが一因だと思われます。 また、Google マップのコンパスモードや、センサー類を使うデジタルコンパスなどのアプリも残念なことに機能しません。

今までのカーオーディオは、用意された使い方に合わせるしかありませんが、Android が搭載されることで使い方や機能をアップグレードすることができます。 数日間の使用でも、色々とアイディアが思いついていますので、これからもレポートして行きたいと思います。


他のレポートはこちら

バックアップを復元すると再発することから、バックアップデータに問題があるという疑いになりました。 Apple サポートのアドバイス通りに、iCloud から連絡先とブックマークを、写真は PC を使って手動で戻すことにしました。 他のアプリケーションのデータは捨てなければならないのですが、オンラインに保存するタイプのアプリなら残ることが期待できます。 行った手順は下記の通り。

  1. iCloud に連絡先とブックマークがバックアップされているのを確認しておく
  2. 問題のあるバックアップデータを一旦復元
  3. PC に繋ぎ直して、マイコンピュータにある iPhone デバイスのドライブから写真をコピー(ここで問題があったのは後述)
  4. 端末初期化を実行し、きれいさっぱり消し去る
  5. データの復元方法のところまで来たら、iCloud を選択する
  6. ひと通り処理が完了するのを待つ
  7. PC に接続するが、このとき「新しい iPhone」として登録する
  8. iTunes 上で写真の設定から、共有元を 3. でコピーしておいたフォルダを選択する
  9. iTunes で同期を行えば、写真は iPhone にコピーされる(ただし、この状態ではカメラロールに入っておらず、あくまで PC のフォルダのミラーという形になっている)
  10. iPhone の AppStore を開き、「アップデート>購入済み」の一覧から、再インストールしたいアプリをすべて選択する
  11. 各アプリを開き、アカウント等をひたすら設定していく

以上の操作では、復元できないものは下記の通りです。 これらは、個別に手動復元をするか、きっぱり諦めましょう。 どうしても前のデータを見たくなった時は、最新のバックアップを撮った後、古いバックアップデータを復元すれば確認できます。 iTunes 以外のソフトを使えば、これらのアプリのデータも復元できるかも知れません。

  • メールのアカウント情報
  • MMS のアカウント情報及びメッセージ
  • LINE などのアカウント設定
  • データをローカルに保存するようなアプリのデータ(例えば、燃費計算のアプリを使っていましたが、今までの給油記録をすべて失いました)
  • アプリアイコンの配置
  • 壁紙等
電波を拾えなくなる原因?

写真のバックアップで、PC にコピーするときエラーでうまくコピーができませんでした。 そのデータを調べてみると、ファイル名が空で、種類がローカルディスク、となっているファイルがありました。 これを PC にコピーすると、エラーは出るものの容量1KBのフォルダと同じ名前の付いたファイルができます。 中身はうまく開けないのですが、ある方法を使ってバイナリを見ると XML ファイルのようです。 推測でしかありませんが、このような壊れたファイルが、システム内にもあった可能性が考えられます。


↑ iPhone 側にファイル名が無いファイルがある


↑ PC にコピーすると容量1KBのフォルダ名と同じ名前でコピーされる
(ここでエラーとなりコピーが終了してしまうようです)

前回の内容から iTunes からデータ復元をしたところ、恐れていた現象が再現してしまいました。 分かったことは、端末リセット後は普通に使え、iTunes から復元した時点でキャリアの電波が拾えなくなるということです。 放っておけば大丈夫なこともありますが、テザリングを使ったときほぼ確実に通信不能になってしまうようです。

現象の詳細がだいぶ明らかになって、iTunes からの復元を諦めればいいという察しはついていますが、できるだけ楽にデータ復元したいということで、Apple サポートに電話してみました。 事情を説明すると、iTunes からの復元を諦め、iCloud から必要なものだけ復元するようにと、アドバイスいただきました。

  • 連絡先、ブックマーク他は、iCloud にバックアップする設定にします
  • メールについては、IMAP4 のため大丈夫です(POP3 の人は全部消えます)
  • 写真については、一旦 iTunes から復元し、PC に USB 接続した後、マイコンピュータのドライブから直接コピーを取ります
  • アプリの設定等は諦めるしかありませんが、アプリ自体は AppStore の購入済み履歴から再インストールできます
  • 必要なバックアップが取れたら、端末リセット>iCloudから復元>写真のコピー>アプリの再インストール、を行います
  • 写真の復元は、新しい iPhone バックアップを作成し iTunes 経由で行います
前の記事

WIndows7 ですが、最近メモリが足りなくなることが頻発するようになっていました。 最近のブラウザはメモリを贅沢に使うようになっているし、作業上3種類を同時起動していましたから、仕方ないのかなと。 でも、さすがに我慢できなくなってきて、増設しようかと調査していたら、すでにマザーボードの最大容量4GBを積んでいて、これでメモリ足りないなんて訳ないだろうと疑い始めます。 システムのほうをチェックしていて、ようやく気づきました。 システムのプロパティでは4GBと表示されているのに、タスクマネージャでは2.8GBになっています。 しばらく見比べていて、システムのプロパティのある表示に目が止まります。 あれ? カッコ書きで2.75GB使用可能って書いてある。 なるほど、今まで2.75GBしか見えて無かったってことですよね。

インターネットで検索してみると、BIOS が古いと 64bit の Windows7 では 3.2GB 以上のメモリをフルに利用できないことがあるそうです。 原因が分かったので、最新版の BIOS を探すことにしました。 蓋を開けてマザーボードを調べると、Foxconn G31MX とあります。 これを検索すると、G31MX と G31MX-K というのがヒットするのですが、どちらなのかイマイチ分からない。 ここは適当ですが、G31MX-K のページからダウンロードすることにしました。

  • Foxconn G31MX-K サポートページから Tech Support のタブに BIOS(最新版) と FOX LiveUpdate をダウンロード
  • LiveUpdate では最新版の判定になりますが、手動アップデートを行い 773F1P14 を入れます
  • 終了したら当然再起動です(動け!)
  • 新しいハードウェアが検出されたり、Windows 再認証が必要だったりしますが、取り敢えず確認します
  • 無事4GBと認識され、動作もだいぶ軽くなったと思います
  • 不思議なことに、接続していない A ドライブを認識しました(懐かしのフロッピーディスクドライブです)
参考:Microsoft のサポート情報
BIOS アップデート前後の比較

↑ BIOS アップデート前(2.8GB しかない)


↑ BIOS アップデート後(4GB になった)



↑ BIOS アップデート前(灰色のハードウェア予約済という部分が見えていない)


↑ BIOS アップデート後(灰色の部分が無くなった)

久しぶりにテザリングを使っていたところ、1分ほどで接続が切れるトラブルがありました。 Wi-Fi の接続だけでなく、4G→3G→電波ロスト→キャリア名消失となり、最終的には電波「検索中...」となったままといった症状です。 電源を入れなおしても、通信リセットも効果なし。 新しく買った通信子デバイスのせいかと疑っていましたが、最終的には iPhone の不具合だったようで、Apple のサポートを受けてきました。

  • 不具合発生、単純なリセットでは解決できず
  • とりあえず「ネットワーク設定をリセット」 → 効果なし
  • SIM 抜き差し → 効果なし
  • iTunes でバックアップ後「すべてのコンテンツと設定を消去」 → 効果なし
  • Softbank 販売店にて、別 SIM で再現性を確認 → 別 SIM 入れてもダメなので本体故障確定 → Apple に持ち込めと言われる
  • Apple の修理カウンターに持って行き、経緯を説明 → 再度、別 SIM で現象を確認
  • ファームウェアリセット(最も強力なリセット)を行う → 現象改善
  • ちなみに、ここで改善しなければ、本体交換(3万8千円)コースだそうです

というわけで、工場出荷状態の iPhone になっています。 家に帰ったら、バックアップを復元してみますが、現象も再現したりして。。。 それにしても、Apple の対応はとてもスムーズで分かりやすく、さすがでした。 あと、本体診断プログラムでバッテリーの異常を見つけてくれて、無償交換プログラムの対象だということで、それの申し込みもしてくれました。 この辺が、次も iPhone にしようかな、と思わせる部分だと思いました。

続きの記事

OpenLayers の縮尺レベルは、デフォルトで(小縮尺)0~15(大縮尺)です。 この範囲は numZoomLevels プロパティで表され、デフォルトでは16になっています。 例えば、0~20に設定したい場合は、以下のようなコードになります。

	map = new OpenLayers.Map({
		numZoomLevels:     21,
		:
	});

表題どおりなのですが、時計の進み方が遅いときがあります。 コントロールパネル>日付と時刻で進み方を眺めていると、遅いときは2~4秒ごとに1秒進むようです。 これは常にそういう状態なわけではなく、ちゃんと1秒ずつ進んでいるときもあります。 そのためか、時計がすぐに遅れてしまいます。 検索で調べてみると、ゲスト OS が CentOS のときの事例はありました。

ゲスト OS が CentOS の場合は、カーネルオプションで直せるとのことです。 逆に、異常に進みが早くなる場合もあるようで、この場合は VMware-Server の config.ini に CPU のクロック周波数などを書くと直るようです。 残念ながら、ゲスト OS が Windows で時計が遅くなる現象は見つけられませんでした。 私も、他のサーバーでこのような現象を経験したことが無いので、非常にレアなケースなのかも知れません。

現象を確認している環境

何か情報がありましたらコメント下さい。

CPU
AMD Athlon 64 X2 Dual Core Processor 4200+ 2.2GHz
OS
Windows Server 2003 sp2
VMware
VMware-Server 1.0.10
ゲスト OS
WindowsXP Professional sp3

訳あって AVI コンテナの内部構造について勉強していたところ、大きいデータにスケールアップできなくて利用を断念したというお話し。 Time Lapse で大量に撮った JPG の格納に、ZIP では無く動画ファイルを活用しようと考えました。 ZIP では、そのまま動画編集ソフトで扱えないし、動画ファイルにしてしまうと、EXIF などの情報が失われたり、再エンコードで劣化してしまうからです。 しかし、単純に jpeg をフレーム毎に記録しているだけの mjpeg ならば、目的を達成できるのでは無いかと言うわけです。 試しに、ffmpg で -qscale 0(-sameq の代わり)を付けて mjpeg に出力してみたところ、容量が大幅に減ってしまうことから、EXIF や品質を維持していないように見えます。 このような状況から、自前で動画フレームを結合し、AVI コンテナに収めるようなツールを作ることにしました。

AVI ファイルの構造

AVI ファイルは、RIFF という形式で表され、チャンクとリストにより構成されています。 それらを組み合わせて、AVI ヘッダーやストリームを格納する仕組みです。 詳しい仕様は、AVI ファイル フォーマット を参照してください。 これによると、Motion JPEG を格納するには、AVIメインヘッダー、ストリームヘッダー、ストリームフォーマット、ストリームデータ、インデックスエントリの 5 つのチャンクを出力すれば良いことになります。 この時ストリームデータは、JPEGファイルをそのまま格納できるので、EXIF や品質を落とさないで保存することができます。

これらの情報から、連番 JPEG 画像を AVI コンテナに収めるツールを作成しました。 基本的には、下記のサイトや仕様通りに作成すれば良いのですが、いくつかポイントがありましたので列挙しておきます。

補足情報
AVIヘッダーの dwFlags ビット配置は?
ドキュメントでは曖昧な記述でどのようなビットをセットするのか分かりません。これは、Aviriff.h に定数定義があります。定数の中身については、Microsoft ライブラリのソースコードを見ないと分からない場合があるので、異なる言語で実装する場合でも、ソースコードを取得して読んでみることをお勧めします。
ストリームデータの記述方法
JPEG ファイルを羅列するものと思いましたが、各 JPEG ファイルを 00dc チャンクで包むようです。ひとつの 00dc チャンク内に JPEG を羅列した場合、エクスプローラのプロパティで AVI ヘッダを認識せず、サムネイルも表示されません。ただし、VCL media player や TMPGEnc などで再生または認識できました。恐らく AVI2.0 のオーバーヘッド節約モードとかが関係していると思われます。
JUNK チャンクを挿入して 2048 バイト境界に配置する?
そのような説明がされているサイトがありましたが、特に配慮する必要は無いように思います。
AVI は 2GB 以下の容量しか対応しない?
AVI には、Video for Windows(AVI1.0) の時代のものと、OpenDML AVI File Format Extensions(AVI2.0) の拡張仕様の2種類があり、AVI1.0 は 2GB まで、AVI2.0 は無制限(ファイルシステムの限界より大きい)のようです。なお、AVI1.0 ではチャンクサイズやオフセット値などが DWORD 型になっているので、4GB までは行けそうな気もします。
dwMicroSecPerFrame には何を入れたらいい?
フレームあたりのマイクロ秒を入れます。下記の計算式に当てはめれば良いです。60fps の場合は、16666 になります。
1 / fps * 1000 * 1000
dwMaxBytesPerSec には何を入れたらいい?
秒あたりの最大バイト数を入れます。ドット数とビット深度、及びフレームレートから、「width * height * 3 * fps」の計算式でしょうか? しかし、これだとかなり大きくなるし、ffmpg で作った似たような AVI では 2500 という比較的小さな値が入っていました。
dwSuggestedBufferSize には何を入れたらいい?
推奨バッファサイズを入れます。dwMaxBytesPerSec の数十倍程度を入れておくべき? よく分かりませんが、ffmpg で作ったものには 0x100000 が入っていました。
AVI 出力ツールの構造

基本的にはチャンクとリストを単位に順番に出力していく構造になります。 各チャンクまたはリストの出力は、下記のような手順が単純で効率が良いです。

  1. FOURCC を出力する
  2. ファイルポインタを記憶する
  3. チャンクサイズを 0 で出力する
  4. データを出力する
  5. (2)の位置との差からチャンクサイズを計算し、正しいサイズに(3)を書き換える
容量限界が 2GB なわけ

AVI(1.0)が 2GB までなのは、チャンクサイズを 4 バイトで表すためでした。 4 バイトで表すことのできるサイズは、符号ありで 2GB、符号なしで 4GB になると思います。 また、実装上 fseek など使う場合は、引数の long int 型が 2GB の制限を生んでしまいます。 従って、AVI を扱うソフトウェアはフォーマットの上でも、実装の上でも 2GB に制限されていると思われます。

OpenDML AVI File Format Extensions(AVI2.0)

仕様をざっくり読むと、1GB 以下では単一の RIFF AVI チャンクを持つ AVI ファイルと同じようです。 1GB 以上では RIFF AVI チャンクと、複数の RIFF AVIX チャンクで構成されるようです。 基本的には、1GB 以下になるように、複数の RIFF に分けて出力すれば良さそうです。 なぜ、1GB 以下なのかはナゾですが、実装としては 1GB 以下で RIFF ファイルを分割して出力し、最後に1本のファイルに結合するのが楽そうです。