CESでラスベガスに行ってきてた話

先月2018年1月、気になっていたCESに初めて行ってきました。仕事です。SxSWのときも行ってきて色々感じたことがあったはずが、結局文章にせずにいて、勿体無いけど今更書くのもな~となったので、若干今更と言われようともCESのこと書こうかと。
家電業界の近い未来を占う!てな記事はプロのライターが沢山書いてくれているし。いけてる新製品紹介はTech Mediaがちゃんと書いてくれているので、もっとゆるーく感じたことを書いてみます。基本的に余談で構成されています。

http://www.imagawa.tokyo/entry/2018/01/11/080200->source


やっていたこと

今年は3つの展示に関わっていました。独立してからというもの毎年何かしら関わっていたけど行くのは初めて。

Panasonic

今回のメイン。Panasonicさんのスマートホーム展示ブースをQuantumさんと一緒に展示ブースをつくりました。Sands Hallで展示していました。もちろんコア技術はPanasonicさんのものだけど、展示のためのセンサーの値を受けて、表示系へアウトプットするためのプログラムとか基板とかの一部をお手伝いしてます。あとは、自動起動とか死活監視再起動などなど展示で必要になるもの。まあほぼSuperVisorを噛ませるだけですが…。
コア技術は自社で開発。毎回変わる表現寄りのプログラムを私のようなフリーランスが作るのは効率的だし。私も展示に特化した仕様書のない実装は好きなのでこういうことを頼んで頂けるのはありがたい限り。

ALPS

CEATEC JAPAN 2017で展示したハプティックリアクターのデモを再び。温度、振動、タッチセンサをすべて同時に制御してVR中のものを同期するというもの。振動の音ファイル録音、VRアプリ、モデリングとか表現まわりを雑多にお手伝いしていました。
アルプスの展示は、個室のブースでCESの喧騒とは離れた完全にBtoB狙いの構成。CES - Consumer Electronics Showというけれど、全然コンシューマ向けでは無くて、これだけの世界のビジネスマンが集まってるので、沢山展示以外の商談が行われているし、Meetupのほうが重要だったりするんだなあと。 余談だけど会場でタッチセンサーのDevKitをもらったので、あとで試してみようと思う。ドキュメントもGitHub上にあるらしい。結構遊べそう。アイディアは沢山あるけど時間がないタイプ。

NIDECブース

以前dot by dotで作ったMotorizeシリーズを展示していたらしいけど。LVCCのブースでは見つけられなかったなあ。違う場所でやっていたのかも。

【余談】 Scentee

関わってないけど、Scenteeさんブースで、過去作の鼻焼肉がパネルに乗ってた!

Scentee Machinaは24時間でkickstarter ファンディング成功したみたいですごい。 https://www.kickstarter.com/projects/2069862374/scentee-machinawww.kickstarter.com


宿・移動の話

渡航を決めたのが12月。ぎりぎりになるとホテル高いし全然空いてないよと聞いていたのですが、Airbnbは大丈夫でした。一泊5000円もあるし。今回は4人でコンドミニアムというか別荘を借りれた。プール、ジャグジー付き。

【余談】ラスベガス中心部を少し離れると、地価もやすく、プール付きの家が沢山。値段も3000万とかみたい。東京でマンション買うより圧倒的に安いですわ。

そして一緒に行ったメンバーの一人が自炊好きで。初日の夜にスーパーで大量買い出し。朝飯はAirbnbで作り(作ってくれ)ました。最高か!

初日買い出しに行ったスーパーでは、すべてのサインが、英語・スペイン語併記。店員とお客のやり取りも半分以上スペイン語。地理的には近いわけではないけどメキシコの影響は大きいみたい。 そしてスーパーでは日本で言うキャベツの感覚で、サボテンが山積みにされている。

移動は大手ホテルからはシャトルバスが出ているけど、Airbnbの私たちは基本的にUber / Lyft でいきました。

値段は、Uber / Lyftほぼ同じだけど、Lyftの方が$1くらい安いことも多い感覚。普通のタクシーよりは圧倒的に安い。CESのいけてるビジネスマンたちは、会社の経費でますが、私は経費=自費なので、節約していきます。

また、英語が苦手な日本人にとって、アプリで行き先も設定すみ。支払いもアプリ内で完結。チップもアプリから払える。となりました。日本でも問題は多いかもしれないけど、オリンピックまでに導入できたほう使う側としては、英語できないタクシーより良いよな。実際使ってみると便利すぎて、既存のタクシーがかすれて見えました。Airbnbといいシェアリングエコノミー最高か。

ちなみにUber / Lyftはどこでも乗れるわけではなく、空港やホテルではTaxiの乗り降りエリアとは分かれたエリアで乗り降りすることが多いみたいです。Ride Share, Pickup area, Uber,などの看板のあるエリアがあるのでそこから乗ります。高級ホテルの中でもこのような看板がでて、ライドシェアはかなり浸透しているようにみえました。

【余談】ラスベガスの中心部はきらびやかだけど、Airbnbで移動するまでの自動車で15分以内のエリアでも、キャッシュローン屋の隣にウィスキー屋。その下にホームレスが寝てたり。な何度か光景を見かけました。貧富の差は激しい。


存在感の戦い

日本🇯🇵の存在感

結構言われていたように日本どこという存在感…。Sony Toyota Honda Panasonicなど大手企業はさすがの存在感がありましたが、スタートアップはブランディングはできていなかった。フランスのFrench Techは確かにイケテル感がありました。
でもSand Expoなどをちゃんと回って見ると色んなエリアに分散しているので気づきづらいが日本企業も結構頑張ってた!日本としてブランディングしてないだけで、日本はいけてるブースの率も高かった。

ただ物量の差は大きいと実感しました。South PlazaにあるJapan Techは、場所が、深圳の何百をいうブース超えた先の一番果てにある日本の十数のブースたち。日本が44マグナムで戦ってる間に、中国はマシンガンで撃ってくる…ぐらいの物量差。

完全にオリジナルなアイディアを探すのも難しく、去年話題になってた技術も、今年中国ブースで何件も出てる。みたいな。

スマートスピーカー🔊の存在感

話によると去年 一昨年はAlexa一色だったらしい。今年は広告の5割が"Hey, Google"かってくらいGoogle Homeが頑張っていた。というより焦っているのかな。街頭で効果測定アンケートをやっていた。

Hey, Googleと話しかけると、なんかグッズがもらえるガチャ。1時間まち。吉野家にならぶSoftbankユーザーみたいなことが起きていて、程度は違えど無料が好きなのは全国共通ですね。


テレビよりNetflix?

近所のスーパーで面白かったのは子供用の玩具コーナー。1押しがNetflixのキャラ。2番手マインクラフト。もはやTVアニメのキャラクターはいなかった。アメリカの子供はすでにテレビよりWebが第一のメディアになってるのかな。


展示方法

The World Firstと書いてあるものが多いけど、CESに世界初のものなんて無いってくらいコピーされる世界。翌年には類似製品がどんどんでてくる。正直、AIもVRもドローンもありすぎてどれが良いかわからなくなってくる。そんな中で展示の構成が良いと、本質では無いけどやはりふと目に止まります。職業柄そういうのは気になるので、良かった展示構成のメモ。

Sonyの展示。他の企業がギラギラ尖っている中、ソニーはブースを区切って、木目をみせて、独自の空間作ってた。

人間の展示。Netflixの新番組の宣伝なんだけれど、CESの会場で展示することで、ほんとに人工臓器てきなことなの?と一瞬思ってしまうような異質感が合った。

大日本印刷DNP電子ペーパー。マットな質感で完全に壁と錯覚しているところに、色が変わるとはっとする。

SAMSUNG LEDの壁の一部にモニターが混ざっている。途中はLED的な演出で、LEDの壁と同化しているけど、突然カラフルな映像を流すことではっとする。上と似たような効果。

Fordの壁一面LED。自動運転車がぽつんと置かれただだっ広いブースで、壁一面のLEDで、自動運転が普及した後の街のCGを流している。無機質・未来感な自動運転のブースが多い分、良かった。


その他の雑多なメモたち

  • SxSWもそうだったけど、Freemanの設営はこわい。設営中50cm横をフォークリフトで掠めてくるので、まじこわい。朝5時の築地市場と同じ感覚といえば伝わるだろうか…。
  • 潜水艦ドローンがデザイン可愛いものが多くて、とても好みでした。
  • 【余談】本、食事はそんなに感動しなかったのですが、カレー屋は最高に美味しかったのでカレーは世界共通。

asus4.hatenablog.com

同じネットワークにあるUnityアプリのタイムラインをマルチキャストで同期する

マルチキャストを使ってみたら、IPアドレスの設定必要なく、シンプルで便利でした。

同じネットワーク内で起動しているUnityアプリのタイムラインの時間をUDPで同期するサンプル。 一応ブロードキャストもサポートしてます。

gif

github.com


マルチキャストについてはこの記事が参考になりました。 www.infraexpert.com


複数台の端末同期は皆よくやる要件で

  • OSC
  • WebSocket
  • MTC
  • 音に信号埋め込んで同期 → これ*1

と何度もやっている気がする。 8年前の初めてoFでc++書きはじめたときから同じようなことやってますね…

マルチキャストはシンプルなので、ささっと使いたい時に便利かもかも。
(もっと厳しい要件のときには、ネットワークの遅延測ってとかやろうとおもいます)

Webカメラの機能比較

Webカメラはどれを使おうか迷うのでいつかの自分へのメモ。
PointGrey使いたいなーと思うのですが、値段的に気軽に使えないことが多いので。アマゾンで手軽に手に入るWebカメラを中心に見ていきます。

v4l2-ctlの

v4l2-ctl --list-ctrls
v4l2-ctl --list-formats-ext

このコマンドで以下のパラメータを確認します。

  • 変更可能なパラメータ
  • フォーマット、解像度、フレームレートの組み合わせ

BUFFALO 広角カメラ BSW200MBK

画質はいまいち。フォーカスは手動で変更する。

Controls

  • brightness (int)
  • contrast (int)
  • saturation (int)
  • hue (int)
  • white_balance_temperature_auto (bool)
  • gamma (int)
  • power_line_frequency (menu)
  • white_balance_temperature (int)
  • sharpness (int)
  • backlight_compensation (int)
  • exposure_auto (menu)
  • exposure_absolute (int)

Formats

'YUYV'

Size FPS
640x480 30.000 fps
160x120 30.000 fps
176x144 30.000 fps
320x240 30.000 fps
352x288 30.000 fps
800x600 10.000 fps
1280x720 8.000 fps
1920x1080 5.000 fps

'MJPG' (compressed)

Size FPS
640x480 30.000 fps
160x120 30.000 fps
176x144 30.000 fps
320x240 30.000 fps
352x288 30.000 fps
800x600 30.000 fps
1280x720 30.000 fps
1920x1080 30.000 fps

PLAYSTATION Eye PS3

フレームレートが高くて、そこそこ広角。YUYVだけ対応ぽい。解像度は最大640x480。画像認識につかいやすい。

PlayStationEye

PlayStationEye

Controls

  • brightness (int)
  • contrast (int)
  • saturation (int)
  • hue (int)
  • white_balance_automatic (bool)
  • exposure (int)
  • gain_automatic (bool)
  • gain (int)
  • horizontal_flip (bool)
  • vertical_flip (bool)
  • power_line_frequency (menu)
    • sharpness (int)
    • Camera Controls
  • auto_exposure (menu)

Formats

'YUYV'

Size FPS
320x240 187.000, 150.000, 137.000, 125.000, 100.000, 75.000, 60.000, 50.000, 37.000, 30.000
640x480 60.000, 50.000, 40.000, 30.000, 15.000

Logicool HD PRO WEBCAM C920R

画質がとても綺麗。オートフォーカス優秀。画像認識に使う時は切るの忘れないように。

Logicool ロジクール HD プロ ウェブカム c920r

Logicool ロジクール HD プロ ウェブカム c920r

Controls

  • brightness (int)
  • contrast (int)
  • saturation (int)
  • white_balance_temperature_auto (bool)
  • gain (int)
  • power_line_frequency (menu)
  • white_balance_temperature (int)
  • sharpness (int)
  • backlight_compensation (int)
  • exposure_auto (menu)
  • exposure_absolute (int)
  • exposure_auto_priority (bool)
  • pan_absolute (int)
  • tilt_absolute (int)
  • focus_absolute (int)
  • focus_auto (bool)
  • zoom_absolute (int)

Formats

'YUYV'

Size FPS
640x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x90 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x120 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
176x144 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x180 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
352x288 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
432x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
640x360 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x448 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x600 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
864x480 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
960x720 15.000, 10.000, 7.500, 5.000
1024x576 15.000, 10.000, 7.500, 5.000
1280x720 10.000, 7.500, 5.000
1600x896 7.500, 5.000
1920x1080 5.000
2304x1296 2.000
2304x1536 2.000

'H264' (compressed)

Size FPS
640x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x90 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x120 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
176x144 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x180 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
352x288 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
432x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
640x360 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x448 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x600 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
864x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
960x720 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1024x576 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1280x720 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1600x896 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1920x1080 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000

'MJPG' (compressed)

Size FPS
640x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x90 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x120 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
176x144 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x180 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
352x288 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
432x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
640x360 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x448 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x600 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
864x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
960x720 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1024x576 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1280x720 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1600x896 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1920x1080 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000

Logicool C922 PRO STREAM WEBCAM

C920の上位版。画質は申し分ない。720pで60fpsキャプチャができるらしいが、よく見ると720p以外の解像度のときは、720p以下でも最大30fpsになるようなので注意が必要。

Controls

  • brightness (int)
  • contrast (int)
  • saturation (int)
  • white_balance_temperature_auto (bool)
  • gain (int)
  • power_line_frequency (menu)
  • white_balance_temperature (int)
  • sharpness (int)
  • backlight_compensation (int)
  • exposure_auto (menu)
  • exposure_absolute (int)
  • exposure_auto_priority (bool)
  • pan_absolute (int)
  • tilt_absolute (int)
  • focus_absolute (int)
  • focus_auto (bool)
  • zoom_absolute (int)

Formats

'YUYV'

Size FPS
640x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x90 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x120 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
176x144 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x180 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
352x288 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
432x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
640x360 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x448 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x600 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
864x480 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
960x720 15.000, 10.000, 7.500, 5.000
1024x576 15.000, 10.000, 7.500, 5.000
1280x720 10.000, 7.500, 5.000
1600x896 7.500, 5.000
1920x1080 5.000
2304x1296 2.000
2304x1536 2.000

'MJPG' (compressed)

Size FPS
640x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x90 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
160x120 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
176x144 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x180 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
320x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
352x288 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
432x240 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
640x360 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x448 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
800x600 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
864x480 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
960x720 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1024x576 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1280x720 60.000, 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1600x896 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000
1920x1080 30.000, 24.000, 20.000, 15.000, 10.000, 7.500, 5.000

ELP 180 度魚眼

画質はそこそこ。解像度を下げるとフレームレートが高いので、お気軽の画像解析につかえる。レンズの組み合わせも豊富。フォーカスは手動でレンズを回す。 120.101fpsってなんだろ

Controls

  • brightness (int)
  • contrast (int)
  • saturation (int)
  • hue (int)
  • white_balance_temperature_auto (bool)
  • gamma (int)
  • gain (int)
  • power_line_frequency (menu)
  • white_balance_temperature (int)
  • sharpness (int)
  • backlight_compensation (int)
  • exposure_auto (menu)
  • exposure_absolute (int)
  • exposure_auto_priority (bool)

Formats

'MJPG' (compressed)

Size FPS
1920x1080 30.000
1280x720 60.000
1024x768 30.000
640x480 120.101
800x600 60.000
1280x1024 30.000
320x240 120.101

'YUYV'

Size FPS
1920x1080 6.000
1280x720 9.000
1024x768 6.000
640x480 30.000
800x600 20.000
1280x1024 6.000
320x240 30.000

最後にスペック情報Markdown出力スクリプト

Print webcam spec using v4l2 command

よさ気なウェブカメラあったら情報ください。

再帰性反射で目立たないマーカーを作ってみる

案件で検証したものの結局違う方法を使ったので、お焚きあげ。

オブジェクトをWebカメラでトラッキングしたいという相談があったので、古き良き手法のマーカートラッキングを試してみました。
OpenCV3のcontribリポジトリに含まれるArUcoを使いました。普通に使うのは簡単で、キャリブレーションせずとも安定しています。

しかし、そのままの見た目は目立つので、
再帰性反射塗料と赤外線を使って、可視光領域では見えないマーカーを検証しました。

マーカーは印刷してカッターで切ります。

赤外線カメラは手軽に使えそうなこちらを買ったものの
https://www.amazon.co.jp/gp/product/B00IU5ENB4/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1www.amazon.co.jp

速い動きでぶれてしまったので、トラッキング用途ではこちらのリンクを参考にPS3EYEを改造するなどのほうが良さそうです。(予算があればOptiTrackとか使ってください…)
FreeTrackをTrackClipProとPlayStation Eyeで使ってみる - atwiki(アットウィキ)


3M スコッチライト 9910

3M スコッチライト 9910
まず手元に合った3Mスコッチライトで検証しました。

圧倒的性能で、綺麗にトラッキングできます。 布なので、同じ色のものを使えば、目立たなくなるものの、やはり存在感はあります。


ブライトコート N ホワイト 再帰反射性水性塗料

これも使えそう。塗料なので布より自由度が高いです。
綺麗に塗れば、目立たない用にもできるのかな。


これとは別にスプレータイプのものも検証しましたが、全然赤外線反射してくれませんでした。そういう用途ではないので、製品自体は問題ないですが。

全天球動画にAmbisonics再生

360度動画のサラウンド再生について勉強する機会があったので、まとめておきます。

Ambisonics アンビソニック 概要

マイク

4chのマイクを正四面体の配置に並べて、頭をぐるぐるまわしてパンニングが変わっても再生できるって技術です。

Ambisonicsの概要はこちらが非常にわかりやすいです。
- 徳井直生さん 360度動画のためのAmbisonicsマイクを開発中! 「百見は一聞に如かず」
- サラウンド寺子屋 AMBISONICの原理と制作の実際 1992年 Ambisonic 資料より

実はYoutubeでも、PC版Chrome, Android版で見るとこの方式のオーディオにも対応していました。
Spatial Audio対応の動画リスト

Youtubeに対応動画をアップロードする方法はこちらにまとまってます。
またAdobe PremiereにVSTプラグインを入れて動画と一緒に書き出すこともできるみたい。

ただ、ただ録音するだけではなく、あとから、効果音や、ピンマイクの音声をVR動画上に配置したいこともあるとおもいます。
そのようの編集には最近Facebookに買収されたこれが良さげ。太っ腹の無料公開。Facebook 360 Spatial Workstation
VSTプラグインで音を配置できて、Ambisonicsの書き出しにも対応しているぽいです。

有料プラグインの中には動画の中に音を配置するかのように使えるProTools用の360panというプラグインもあった

Youtubeとかで対応しているA-Format、B-Formatって?

結構躓くところが、正四面体のマイクで録音した4chそのままは、A-Formatと言われて、そのままではYoutubeへアップロードできないです。
Youtubeへは、1次フォーマット a.k.a. B-Formatへ変換する必要があるらしい

B-Formatの内容

チャンネル 内容
W 位相差のないモノラル成分
X Wに対する左右差成分
Y 前後差成分
Z 上下差成分

ポイントは、XYZは、差分成分のみということだなと。
こうすることで、4ch再生対応していない場合は、Wのみ再生すればよくなるみたい。
更にBGMを載せたいってときにWだけに乗せれば良くなったりするんでないでしょか?

4分割より細かい粒度で再現できる高次フォーマットもあり、Youtubeで対応しているのは図の2段目までということ。

Wikipediaより

動画

360度な映像をThetaなどで撮影してアップロード

YouTubeメタデータを対応させるには360 Video Metadata ダウンロードってソフトでメタデータをいれてアップロードすると、15分くらいの変換時間のち、ぐるぐる回ったりカードボードで見れる映像になったりします。

メモ: Youtubeから4k動画のダウンロード

youtube-dl -k -f 'bestvideo+bestaudio/best' "url"

で、mkvコンテナに動画4k mp4, 音声 4ch webmで入る。

mkvフォーマットとは? Matroska - Wikipedia

ffmpegで使いそうなコマンドメモ

結構めんどいのが、あまり4chオーディオはやらないだけあって、ffmpegを色々使うことに。ので使ったコマンドをメモ。

# 4chファイルを1chチャンネルごとに分割
ffmpeg -i sample.webm -map_channel 0.0.0 sample1.wav -map_channel 0.0.1 sample2.wav -map_channel 0.0.2 sample3.wav -map_channel 0.0.3 sample4.wav

# 4つのモノラルを、4chオーディオストリームへ合成
ffmpeg -i sample1.wav -i sample2.wav -i sample3.wav -i sample4.wav -filter_complex "[0:a][1:a][2:a][3:a]amerge=inputs=4[aout]" -map "[aout]" output.wav

# 動画と音をまとめる
ffmpeg -i sample.mp4 -i sample.wav -c:v copy -c:a aac -strict experimental output.mp4

Unityでの再生もやったのですが、長くなったのでひとまずここまでで。