tkhrsskの日記

技術ネタなど

問題志向と解決志向

ひとりごと

allabout.co.jp

問題志向 ゴールが明確にしやすいし、管理面では重要だけど、 うまくいかないときの閉塞感、達成しても当たり前といった風潮で 疲弊しやすいかなと。

解決志向 いままでできなかったことが、できるようになったという達成感は大きい。 ただし、目的を見失って、やれることばかりに手を付けるといったことにならないように 気を付けないといけないとも思う。

Apple Developer Program

1週間でアプリの有効期限切れるのが不便だったんで、お布施して加入してみた。

でもまだアカウント画面上、手続きされていないように見える。

手続きには48時間くらいかかるらしい。

catacataog.com

PHVってなに(ガソリン車、EV、ハイブリッド車の違い)

メモ程度にまとめた。 PHVは、ガソリン以外にエネルギー供給ができて、エンジンとモーターを動力に使う車のこと。

種類 説明
ガソリン自動車 ガソリンでエンジンを動かす自動車。
EV Electric Vheicle. 電気自動車。電源でモーターを動かす自動車。
HV Hybrid Vhiecle電気(モーター)+ガソリン(エンジン)で動作するもの。PHVと区別する場合は、ガソリンで供給はするが外部電源での供給ができないもの。
PHV または PHEV Plugin Hybrid Vheicle. 電気+ガソリンで動作し、ガソリン以外に外部から充電できるもの。
FCV Fuel Cell Vhiecle. 燃料電池(水素)で、モーターを動かす自動車。
天然ガス自動車 CNG自動車またはLNG自動車とも。天然ガスでエンジンを動かす自動車。
ディーゼル 軽油で、ディーゼルエンジンを動かす自動車 であってるかな。

参考

car-moby.jp

GStreamerで h264 on RTP の動画データを送受信

macOS上、GStreamerで h264 on RTP の動画データを送受信を試してみる。

RasberyPiでH.264映像配信。Macで受信 - Qiita

を参考にして、、

送り側

gst-launch-1.0 autovideosrc ! vtenc_h264 ! rtph264pay ! gdppay ! tcpserversink host=127.0.0.1 port=5555

受け側

gst-launch-1.0 tcpclientsrc host=127.0.0.1 port=5555 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink

上記で試したところ、コマンド叩いてからバッファリングされていているため、 送り側と受け側のコマンドの実行時間の差だけ動画もずれる。

  • gdppay : Payloads GStreamer Data Protocol buffers
  • avdec_h264 : libav h264 decoder
  • vtenc_h264 : H.264 encoder
  • vtenc_h264_hw : H.264 (HW only) encoder

UDPにしてみよう

送り側

gst-launch-1.0 autovideosrc ! vtenc_h264 ! rtph264pay ! gdppay ! udpsink host=127.0.0.1 port=5555

受け側

gst-launch-1.0 udpsrc port=5555 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink

udpsrcにホスト指定はない。

なんかエラーが出てカクカクしている。動画にならない。

受け側

gst-launch-1.0 udpsrc port=5555 ! gdpdepay ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink

受け側のautovideosinkに、sync=falseを付与し、 受け側から起動すると、遅延がだいぶ減った状態で、ストリーミング再生できた。 受け側から起動しないと、エラーになる。

GStreamerでRaspberry Piからストリーミング配信をする - Qiita

上記ページを参考に、udpsrcにパラメータを付与する。

gst-launch-1.0 udpsrc port=5555 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false

出なくなった。。また、udpsrcにcapsをつけるとgdpdepayにつなげられなくなる模様。

もう少し格闘を続けようかどうしようか。。。

その他、参考

gstreamerでマルチキャストストリームが再生できない | アットマークテクノ ユーザーズサイト

Armadillo-810でのH.264映像のネットワーク配信について | アットマークテクノ ユーザーズサイト

GStreamer で Wireshark の RTP パケットからビデオを再... - Cisco Support Community

Linuxメモリ管理 pssとrssの違いなど

VSZまたはVSS プロセスの仮想メモリ

RSS Resident set size 物理メモリの消費量

USS Unique set size 実際にプロセスが占有しているメモリ

  • USSに共有メモリをプロセス間で均等に分配したものがPSSになる。

PSS Proportional set size プロセスが実質的に所有しているメモリ

  • PSSは、共有メモリを使う人が増えれば、一人当たりのサイズが減るわけですね。

たいていは、VSZ > RSS > PSS > USS となるはず。

mallocとかforkした場合、VSZは増えるが、実際に書き込んで使われるまではRSSは増えない。 共有ラメモリ分を分配したら、PSS。共有メモリをのぞいたら、RSS