WebCodecs の VideoDecoder を使用して H.264 の動画を再生してみた

f:id:aptpod_tech-writer:20211110183537j:plain

はじめに

こんにちは。Visual M2M Data Visualizer Team の白金です。

弊社の製品の intdashでは、H.264形式の動画データを収集/計測できます。計測した動画データは、Fragmented MP4 のフォーマットを使用したライブ動画をストリーミング再生したり、計測した動画を後から確認するためにHLSのフォーマットで再生する機能があります。

今回は、ライブ動画の再生機能を改善するための施策として 先日 Google Chrome の Version 94 でリリースされた WebCodecs の機能に含まれる VideoDecoder を使用して、H.264 のライブ動画をストリーミングで再生を試してみたのでご紹介します。

  • はじめに
  • WebCodecs とは
  • VideoDecoder を使用することで解決したい課題
    • 課題 1: 欠損時の各動画フレームのタイムスタンプの判別
    • 課題 2: Google Chrome で動作する H.264 デコーダーの遅延
  • VideoDecoder の使い方
  • H.264 の動画をデコードする
    • Annex B
    • AVCDecoderConfigurationRecord
  • H.264 の動画を再生してみる
    • Server を起動する
    • 動画を再生する画面を表示する
    • 動画を送信する
  • おわりに
続きを読む

ROS2で任意のメッセージをC++ノードでブリッジする方法

f:id:aptpod-tetsu:20211001141621p:plain

Protocol/Robotics Teamの酒井 (@neko_suki) です。

以前「ROS2メッセージの遠隔リアルタイムデータ伝送を実現する新プロダクトのご紹介」という記事で開発中の intdash_ros2bridge というプロダクトを紹介しました。

今回は、前回記載したとおり、技術にフォーカスして技術的な詳細を含めた進捗をご紹介します。

intdash_ros2bridgeは、ROS2上で「任意のトピック、サービス、アクションのC++実装によるブリッジ」を実現します。ブリッジとは、ROS2空間の内部のデータからインターネット経由で伝送できるメッセージ形式への橋渡しをする処理のことを指します。

intdash_ros2bridgeによって遠隔地のROS2空間をつなぐことが可能になります。その結果ROS1と同様にROS2でも遠隔制御やモニタリングなどが実現できます。

f:id:aptpod_tech-writer:20210916170952p:plain
構成図

intdash_ros2bridgeではROSメッセージの伝送のために以下の2つの方法でブリッジを行います。

  • 効率的なメッセージ伝送のための Common Data Representation (CDR) 形式という生データに近いフォーマットへのブリッジ
  • 弊社製品のVisual M2M Data Visualizer で可視化するための、JSONへのブリッジ

今回の記事では、最初にトピック、サービス、アクションをブリッジする方法について簡単に紹介します。次に、トピックをブリッジする方法、トピックをJSONに変換して伝送する方法の2点を詳細に掘り下げて説明します。

  • ROSメッセージをブリッジする方法
  • トピックのブリッジ
    • subscribe
    • publish
  • JSONへのブリッジ
  • まとめ
  • Appendix
    • create_generic_subscriptionの実装
    • create_generic_publisherの実装
    • MessageMembers の取得方法
続きを読む

ASAM規格への対応サービス-CCP DAQのご紹介

f:id:aptpod_tech-writer:20210913192557j:plain

こんにちは、オートモーティブグループの榮枝です。

オートモーティブグループでは、アプトポッド製品のIoTプラットフォームである「intdash」を活用して自動車産業へのIoTソリューションを提供しています。

昨今では、お客様の個別ニーズに応じてのソリューション提供に加えて、業界規格や業界共通的なニーズに対応すべくサービス開発も進めています。

今日は、開発中の、CCP(CAN Calibration Protocol)という自動車の内部状態を計測し調整するための通信をintdashを活用して遠隔で行えるようにするサービスについてご紹介させていただこうと思います。

  • 予備知識
    • CCP
    • 適合
    • ASAM
    • CAN
    • ECU
    • A2Lファイル
    • DAQ
  • 開発中のCCPサービスのご紹介
    • 既存の適合プロセス
      • 1. 初期設定
      • 2. 計測・適合の設定・準備
      • 3. 計測・適合
      • 4.分析
    • 既存の適合プロセスの課題
    • 本サービスが提案する適合プロセス
      • 1.初期設定
      • 2&3.計測の設定
      • 4&5.(自動)CCP通信とクラウドへのデータ送信
      • 6&7.リアルタイムモニタリングと計測データダウンロード
        • 参考:本サービスのUIイメージ
  • まとめ-今後の展望と要望投稿のお願い
続きを読む

ROS2メッセージの遠隔リアルタイムデータ伝送を実現する新プロダクトのご紹介

f:id:aptpod_tech-writer:20210728181223p:plain

Protocol/Robotics Teamの酒井 (@neko_suki) です。

今回は「ROS2メッセージの遠隔リアルタイムデータ伝送を実現する新プロダクトのご紹介」というタイトルでintdash_ros2bridgeという開発中の新プロダクトについてご紹介します。

弊社は、ROS1で任意トピックをC++ノードでPublish/Subscribeする方法を活用したROSメッセージの遠隔リアルタイムデータ伝送を行うintdash Bridge というプロダクトを提供しています。intdash Bridgeを使うことで遠隔地のROS1空間をつなぎROS1のメッセージをやり取りすることによる遠隔制御やモニタリングなどのユースケースが実現できます。

今回ご紹介するintdash_ros2bridgeは、ROS2上で「任意のROSトピック、サービス、アクションのブリッジ」を実現*1します。intdash_ros2bridgeによって遠隔地のROS2空間をつなぐことが可能になります。その結果ROS1と同様にROS2でも遠隔制御やモニタリングなどが実現できます。

現在、intdash_ros2bridgeは開発の最終段階を進めるとともに、将来のintdash_ros2bridgeの利用拡大やROSコミュニティへの貢献を視野に入れたOSS化に向けた計画も進めています。

本記事では実際に動作させてみたデモ動画と構成について紹介します。

*1:pythonによる実装は、rosbridge_serverがありますが、本プロダクトはc++で実装しています

続きを読む

intdashで遠隔アナログデータ計測をはじめよう

f:id:aptpod_tech-writer:20210720153020j:plain

はじめに

Hardware/OTグループの加藤です。 私はハードウェア系のエンジニアで、これまでデータ計測にオシロスコープ・デジタルマルチメータ・データロガー等を使用したことがあります。 それぞれ一長一短なので組み合わせて使用することになるのですが、それぞれ別々の測定器である為、取得したデータは連携していませんでした。特にオシロスコープの波形には時刻の概念はなく、他の測定器のデータとタイムスタンプを合わせて検証することはできませんでした。

また、長時間連続稼働テストや遠隔地での長時間におよぶ動作テスト等ではネットワークカメラを使用しました。 自宅やオフィスで状態を確認できるようになるのは便利なのですが、 エラーや故障が起きてしまった場合にはどういう状況でそうなったかはさっぱりわからず遠い場所で途方に暮れるしかありませんでした。 製品そのものに通信機能が無い場合が最悪で、常に見張る必要がありました。 製品か自分か動作が止まってしまう(寝てしまう)のはどちらが先かみたいな状況になりがちでした。

intdashEDGEPLANT T1を使用すると、LTE回線で各種データを同じ時系列上のタイムスタンプを付加して記録することができます。 今回、ANALOG-USB Interfaceという製品を約1年かけて設計→開発→量産に至り、アナログデータも測定できるようになりました。 これら弊社の製品を組み合わせると、LTE回線経由の遠隔アナログデータ計測や、計測したデータの可視化が行えるようになり、冒頭の課題が全て解決します。 本記事では、ANALOG-USB Interfaceを使用したアナログデータ計測のメリットとこれを試した結果を共有します。

f:id:aptpod_tech-writer:20210719135455p:plain
ANALOG-USB Interface

続きを読む