2023,江端さんの技術メモ

Win32 Disk Imager

"Win32 Disk Imager"の使いかたが結構分けわからん

まず、SDカード→PCへのコピーは、

Deviceでドライブ"e.f.[G\]"を選んで→
Image Fileの方にテキトーな名前を(d:\testtest20231010とか、絶対に存在しないファイル名にして)つけて
"Read"ボタンを押す。絶対存在しないファイル名にすることによって、間違った読み込みをすることはなくなる(はず)

PC→SDカードへのコピーは、
上記の逆転をやって
"Write"をボタンを押す。

この"Read"と"Write"を間違えて、ハードディスク丸ごと破壊したことを、ゆめゆめ忘れるな

2023,江端さんの技術メモ

私、ファイルのフォルダ管理をできるだけやらないようにしています。ファイルを作成したことを忘れてしまうからです。

なので、一つのフォルダに全部のファイルを突っ込んで、更新日時で並び換えをして、上位の方に作業中のファイルが集まるようにしています。

ただ、昔使ったファイルが上位に出てこないという問題が発生します。

ですので、ファイルを「上書き保存」とかして、更新日時を変更するようにしています。

ところが、動画は上書き保存できないので、いつも頭痛のタネでした。


で、この問題を簡単に実現してくれるツールを見つけたので、メモしておきます。

ファイルの更新日時を変更するフリーソフト - Change Timestamp

ダウンロードURL:https://dns-plus.net/download/ctime080.zip

使い方は、ファイルを、以下の表示の「対象ファイルまたはフォルダをここにドロップしてください」にドラッグするだけで終了です。

いやー、こういう便利なものがあると、本当に助かりますね。

作者の方に感謝いたします。

 

2023,江端さんの技術メモ

WordPressを管理モードで見ると、Important notice for administrators: The WordPress Popular Posts "classic" widget is going away! が表示されて、『近々、WordPress Popular Posts "classic"は使えなくなる』と脅されました(と思う)。

When I looked at WordPress in admin mode, I saw an Important notice for administrators: The WordPress Popular Posts "classic" widget is going away! I was threatened (I thought), "Soon, WordPress Popular Posts "classic" will no longer be available.

 

それは困るので、検索して色々試したのですが、たまたま動いた方法(代替手段)があったので自分用にメモしておきます。

That is not good, so I searched and tried various methods, but there was one that worked (an alternative approach), so I'll note it for myself.

管理画面から「外観」→「ウィジェット」から"カスタムhtml"を「汎用サイドバー」にドラッグ

From the admin screen, go to "Appearance" > "Widgets" and drag "custom html" to the "Generic Sidebar."

で、以下の通りに記入(タイトルは好きなように)

And fill in the following (title as you like)

なんか、良く分かりませんが、これで表示されるようです(カスタマイズは諦めました)。

I'm unsure what it is, but it seems to be displayed with this (I gave up customizing it).

"WordPress Popular Posts"の方は、強制的に使えなくなるまで、残しておきます。

I will leave "WordPress Popular Posts (classic)" until I am forced to turn it off.

以上


■参考にさせて頂いたページ

■Pages I have referred to
https://3nmt.com/new-wordpress-popular-posts-measures/

■ブロックエディタモードで実験してみたページ

wordpress popular posts テスト

 

2023,江端さんの技術メモ

Keyword: VScode vscode 図面 draw.io  drawio

 

毎年1本は、Officeを使って特許明細書を書かなければなりませんが、パワーポイントは、フローチャートやシーケンス図の作成にはあまり向いていません。はっきり言えば使い難い。

*.drawioで提出できればいいのだけど、それでは、私の図面を修正する人が困ってしまうので、最終的には*.ppt/pptx形式にしなければなりませんが、このコンバートの相性がどうも今一つ。

今、ちょっとテストしていたのですが、一応、以下でできるようですが、文字が出てこなかったりとか完璧な対応は難しいようです。

1.svg形式で保存して、emfファイルに変換 (私は、https://convertio.co/ja/を使ってみた)
2. Officeに「拡張メタファイル」で貼り付け
3. グループ解除

(参考:SVGファイルをPowerPointで編集できる図形として読み込むには?)

Drawio. integration がエクスポート/コンバートに、ppt/pptx形式をサポートしてくれれば嬉しいんだけど、ないものねだりをしても仕方ありません。

どなたか、「何を言っとるんだ? これで簡単にでできるだろう?」とアドバイスして頂ける方。お助け下さい。→ メールアドレス

2023,江端さんの技術メモ

IEがないと設定画面が表示されないので、サポートセンタに電話したら"EdgeからIEモードを起動する"でググって下さい、と教えて貰った(対応時間15秒)。で、

https://www.maspro.co.jp/support/security/pdf/edge_iemode.pdf

に説明が記載されているのので、http://192.168.0.2, login/password = admin/jvc(だったと思う) 指定URLとして登録したところ、

次の画面が表示されました。

2023,江端さんの技術メモ

対処方法

  1. FireFoxのURL欄にabout:configと入力してENTERキーを押す
  2. 動作保証外警告が出ますが、「危険を承知の上で使用する」をクリック
  3. 検索欄にnetwork.http.spdy.enabled.http2と入力
  4. ダブルクリックして値をfalseに変更する

対策として、設定の「プライバシーとセキュリティ」タブ(about:preferences#privacy)にある「Firefoxのデータ収集と利用について」欄のチェックボックスをすべて外すことで状況が改善するとのこと。

https://gigazine.net/news/20220113-firefox-problem/

 

で、まあ、現在、上手く動いていません。

2023,江端さんの技術メモ

まず動画の部分をクリックします。

メニューに「再生」タブが表われます。

「開始」をチェックして、「自動(A)」「再生が終了したら巻き戻す」にします。

これで、そのページの表示と同時に、動画が動き始めます(開始クリックの手間が省けます)。

時々上手く動かない時がありますが、その場合が動画部分をクリックすれば動き出すようです。

 

2023,江端さんの技術メモ

映像テストの実験用に使っているのですが、Mozcの日本語-直接入力がサクサクできず、ちょっとした検索もできず、困っておりました。

手当たり次第、探した結果、(私の場合は)このキーに割り当たっていたようでした。

ちゃんと設定すべきところ、それすら面倒くさくて ―― 私は、これで十分です。

ましてや、SKKを入れる気力は、絶無です。

2023,江端さんの技術メモ

今度のターゲットはVN-H68(カメラ)です。

で、取り敢えず、RTSPを取得できるかの確認作業に入りました。

VN-H68の初期設定IPアドレスは、192.168.0.2/24 になっており、私の自宅ネットワークのIPアドレスと見事にバッティングしていましたので、カメラのMACアドレスを使って、ルータに固定DHCPアドレスとして設定しなおして、ルータを再起動させました(ルータの再起動は、いつでもドキドキします)。

問題は、RTSPで転送したデータをどうやって表示するかですが、いつも通りVLCを使おうと思ったのですが、以下が失敗例です。

rtsp://192.168.0.2

rtsp://192.168.0.2:554

rtsp://192.168.0.2:544/XXXXX(適当なファイル名)

で、結局、製品の箱に入っていたCDファイルの中の
E:\VN-H68_VN-U78\VN-H68_VN-U78_ネットワークカメラAPIガイドV1.02.pdf

の中にあった以下の記載から、

VLCに以下の設定をしてみました。

rtsp://192.168.0.2/ONVIF/Streaming/channels/0

を設定しました。

なんか、レンズの配置を間違えたのか、逆さに写っているようですが、先ずは成功です。

次は、VLCを使わずに、Gstreamerを使って、直接RTSPを受信しました。
(結構すったもんだしましたが)結果として、以下のコマンドでラズパイで表示させることができました。

$ gst-launch-1.0 rtspsrc location=rtsp://192.168.0.2/ONVIF/Streaming/channels/0 ! rtph264depay ! h264parse ! avdec_h264 ! queue ! autovideosink

  1. gst-launch-1.0: GStreamerのコマンドラインユーティリティの実行ファイル名です。1.0はGStreamerのバージョン番号で、バージョン1.0を使用していることを示します。
  2. rtspsrc location=rtsp://192.168.0.2/ONVIF/Streaming/channels/0: RTSPソースを指定しています。locationパラメータには、ストリーミング元のURL(この場合はRTSPストリームのURL)を指定します。rtsp://192.168.0.2/ONVIF/Streaming/channels/0は、カメラなどのデバイスが提供するRTSPストリームのアドレスを表します。
  3. ! rtph264depay: RTP(Real-time Transport Protocol)パケットからH.264ビデオデータを取り出すデパケット化(デマルチプレクサ)エレメントです。
  4. ! h264parse: H.264ビデオストリームを解析して必要なメタデータを抽出するエレメントです。
  5. ! avdec_h264: H.264形式のビデオをデコードするためのエレメントです。avdec_h264は、GStreamer内部で使用されるデコーダの一つです。
  6. ! queue: デコードされたビデオデータを一時的にキューイング(バッファリング)するエレメントです。これにより、デコードと表示の間でのタイミングのずれを最小限に抑えることができます。
  7. ! autovideosink: 自動的に適切なビデオ出力を選択し、デコードされたビデオを表示するエレメントです。環境によっては、X Window System上で動作するxvimagesinkなどのビデオ出力プラグインが選択されることがあります。

ちなみに

cam@cam-desktop:~$ gst-launch-1.0 rtspsrc location=rtsp://192.168.0.2/ONVIF/Streaming/channels/0 ! rtph264depay ! "video/x-h264, framerate=1/1" ! h264parse ! avdec_h264 !  autovideosink
cam@cam-desktop:~$ gst-launch-1.0 rtspsrc location=rtsp://192.168.0.2/ONVIF/Streaming/channels/0 ! rtph264depay ! "video/x-h264, width=1920, height=1080, framerate=1/1" ! h264parse ! avdec_h264 !  autovideosink
gst-launch-1.0 rtspsrc location=rtsp://192.168.0.2/ONVIF/Streaming/channels/0 ! rtph264depay ! "video/x-h264, width=640, height=480, framerate=30/1" ! h264parse ! avdec_h264 !  autovideosink
これらは、表示側の問題であって、送信元のカメラのレートコントロールはできないみたい。
送信元カメラの送信制御は、

VN-H68(カメラ)の設定方法

のほうでやる必要がある。

 $ gst-launch-1.0 rtspsrc location=rtsp://192.168.0.2/ONVIF/Streaming/channels/0 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! x264enc tune=zerolatency key-int-max=30 ! mpegtsmux ! srtserversink uri="srt://:12345" latency=500

  • gst-launch-1.0: GStreamerのコマンドラインユーティリティの実行ファイル名です。
  • rtspsrc location=rtsp://192.168.0.2/ONVIF/Streaming/channels/0: RTSPソースを指定しています。locationパラメータには、ストリーミング元のURL(この場合はRTSPストリームのURL)を指定します。rtsp://192.168.0.2/ONVIF/Streaming/channels/0は、カメラなどのデバイスが提供するRTSPストリームのアドレスを表します。
  • ! rtph264depay: RTP(Real-time Transport Protocol)パケットからH.264ビデオデータを取り出すデパケット化(デマルチプレクサ)エレメントです。
  • ! h264parse: H.264ビデオストリームを解析して必要なメタデータを抽出するエレメントです。
  • ! avdec_h264: H.264形式のビデオをデコードするためのエレメントです。avdec_h264は、GStreamer内部で使用されるデコーダの一つです。
  • ! videoconvert: ビデオのピクセルフォーマットを変換するためのエレメントです。必要な場合にビデオストリームのフォーマットを変換します。
  • ! x264enc tune=zerolatency key-int-max=30: H.264形式のビデオをエンコードするエレメントです。x264encは、x264エンコーダを使用してビデオをエンコードします。tune=zerolatencyは、低遅延を設定してストリーミングに適したエンコード設定を指定しています。key-int-max=30は、キーフレームの最大間隔を設定して、頻繁にキーフレームを生成し、エラーの影響を最小限に抑えます。
  • ! mpegtsmux: エンコードされたビデオをMPEG-TSコンテナにパケット化するエレメントです。
  • ! srtserversink uri="srt://:12345" latency=500: SRTストリームを送信するためのエレメントです。uri="srt://:12345"でポート番号が12345のSRTストリームを待ち受ける設定になっています。latency=500は、500ミリ秒のバッファリングを指定しています。つまり、送信時にストリームに500ミリ秒の遅延がかかります。

2023,江端さんの技術メモ

    1. 背景
      最近映像回りの試験をやっていて、ネットワークの劣化状態を作り出す必要が出てきました。
      私、20年程前に、NISTNET というLinuxカーネルを改造する専用のパソコン作っていたので、これをもう一度作ろうと思っていたのですが、NISTNETの情報が、ある時を境にパッタリと消えてしまっていました。変だな、と思って調べてみたら、カーネルレベルでなくて、アプリのレベルでほぼ同様の機能ができるLinuxTC(Traffic Control)というものができたらしい、ということが分かりました。まあ、最近のPC性能メチャクチャ良いから、カーネルレベルやるまでもないのかな(?)とか考えました。
    2. アプローチ
      なるべく、サクっと作りたいので、ジャンク箱に入っていたラズパイ3B(Ubuntu16.04)をそのまま使うことにしました。
      『動かなければ、その時考えればいいかな』と。
      参考文献はこちらです。

      Ubuntuのブリッジ化とネットワークエミュレート(簡易版)

    3. 構成図
      こんな感じです。

    4. 購入したもの
      2つ目のNICが必要でしたので、これを購入しました(クリックすればAmazonに飛びます)。

      GBのアダプタにしたのは、ネットワーク上限にならないといいな、と思ったのですが、ラズパイ(PI 3B)のNICがGBじゃないのですから、意味なかったかもしれませんが。
    5. 事前調査
      アダプタを差して、ifconfigは、こうなりました。

      enx207bd2222d29 とか、enxb827ebde37fc とか、なんじゃらほい? と思われるかもしれませんが、これ、eth0 とかeth1と同じものと思って頂ければ結構です(正直、これで、ちょっとごたごたしましたが、今回、"そういうものだ"と思って貰えればO.K.です) 。https://wp.kobore.net/%e6%b1%9f%e7%ab%af%e3%81%95%e3%82%93%e3%81%ae%e6%8a%80%e8%a1%93%e3%83%a1%e3%83%a2/post-10990/

       

    6. TCのインストールと設定
      Step 1 ブリッチの作成
      $ sudo brctl addbr br0 
      Step 2 ブリッジにIPアドレスを割り当てる
      $ sudo ip addr add 192.168.0.200/24 dev br0   (で、以後、192.168.0.200は、sshサーバのアクセス先にもなります)
      Step 3 ブリッジ化のためにネットワークポートのIPアドレスを消去
      $ sudo ip addr flush enx207bd2222d29
      $ sudo ip addr flush enxb827ebde37fc
      Step 4 ブリッジにネットワークポートを紐づける
      $ sudo brctl addif br0 enx207bd2222d29
      $ sudo brctl addif br0 enxb827ebde37fc
      Step 5 ネットワークポートをプロミスキャスモードに設定
      $ sudo ip link set dev enx207bd2222d29 promisc on
      $ sudo ip link set dev enxb827ebde37fc promisc on
      Step 6 ブリッジの起動
      $ sudo ip link set dev br0 up
      Step 7 TC起動の確認
      $ brctl show

       

    7. 状況現在、何の設定もしていない状況なのですが、すでに映像遅延が発生しています。PI 3Bではちょっと負荷が重いのかもしれません。
      ちなみにifconfigで以下がbr0が追加されているのが確認できます。(192.168.0.200で、登録)

    8. その他TCの設定については、こちらを参考にしながら勧めていく予定です。

      ラズパイでtcコマンド(遅延・パケロス・フィルター・帯域制御)やってみた