ブックマーク / mcommit.hatenadiary.com (44)

  • FFmpegのコードを読み始めた - simotin13's message

    自分向けの備忘録です。 ソースコードの入手とビルド ソースコードの入手 githubにミラーされているのでclone github.com git clone git@github.com:FFmpeg/FFmpeg.git ビルド方法 Ubuntu上で作業をしているので以下のページを参照します。 trac.ffmpeg.org aptで色々と入れる必要はあります。 sudo apt update sudo apt install nasm yasm libx264-dev libnuma-dev libx265-dev libvpx-dev libfdk-aac-dev libopus-dev libaom-dev autoconf automake build-essential cmake git-core libass-dev libfreetype6-dev libgnutls2

    FFmpegのコードを読み始めた - simotin13's message
    naoto0211
    naoto0211 2024/04/07
  • 自宅に太陽光発電を設置した結果~2年目~ - simotin13's message

    太陽光発電・蓄電池のシステムを自宅に設置して2年目の結果が出たので簡単に振り返ってみたいと思います。(厳密には2年と半年ほどになります) 1年目の結果は以下の記事を参照。 mcommit.hatenadiary.com 2023年のデータ 発電データとグラフは以下のような結果でした。 2023年発電データ2023年発電グラフ 2年間の推移 年 発電量(kWh) 消費量(kWh) 売電量(kWh) 買電量(kWh) 蓄電池放電量(kWh) 自給率(%) 2022 2,378 4,306 386 2,397 1,047 55 2023 2,441 4,344 435 2,423 1,030 56 2年目までの推移は上記の通りです。 変化内容を見ると、 発電量が63kWh増えた 消費量が26kWh増えた 売電量が49kWh増えた 買電量が26kWh増えた 蓄電池放電量が17kWh減った 自給率は

    自宅に太陽光発電を設置した結果~2年目~ - simotin13's message
    naoto0211
    naoto0211 2024/03/03
  • yoctoでビルドしたイメージをBeagleBoneBlackで動かす~【kirkstone的令和最新版】~ - simotin13's message

    2019年にyoctoに入門してみたという記事を書いていましたが、久しぶりにyoctoを触ってみると yocto project も4.x系がリリースされており記事を書いた当時と状況が変わっています。 mcommit.hatenadiary.com 2019年に書いた記事の内容に沿って、yoctoでビルドしたイメージをBeagleBoneBlackで動かそうとした動かなかったので改めて最近のyoctoでビルドしたイメージをBeagleBoneBlackで動かす手順について触れておきたいと思います。 目次 目次 kirkstoneを使ったビルド 環境構築 Poky の入手 local.conf の変更とビルドの実行 重要!SDカードへのイメージの書き込み手順 SDカードのデバイスファイルについて 手っ取り早く試したい人向け~ddコマンドによるイメージの書き込み~ 自分でSDカードに必要なファ

    yoctoでビルドしたイメージをBeagleBoneBlackで動かす~【kirkstone的令和最新版】~ - simotin13's message
    naoto0211
    naoto0211 2023/07/30
  • gstreamerでRTSPのストリーミングを音声付で録画する - simotin13's message

    ここ最近 gstreamer をよく使っているのですが、gstreamer は日語の情報が少ないので使い方などについてメモ書きしておきたいと思います。 目次 目次 gstreamerとは何か インストール 利用するカメラについて C210の初期設定 gstreamerを使って録画してみる 映像のみの動画を録画する 音声ありの動画を録画する まとめ gstreamerとは何か 一言で言えば動画や音声を扱う便利なオープンソースのライブラリ+ツール一式でしょうか。 gstreamerではカメラの映像を配信することや配信されている映像をファイルに録画したりと色々な機能が提供されています。 動画のみや音声のみ、あるいは特定プロトコルやコーディックのみをサポートしたオープンソースのマルチメディア系のライブラリはありますが、gstreamerはサポートしているコーディックや機能が幅広く、マルチメディア

    gstreamerでRTSPのストリーミングを音声付で録画する - simotin13's message
    naoto0211
    naoto0211 2023/07/17
  • flockでは排他できない - simotin13's message

    ずいぶんと煽ったタイトルをつけてみましたが、Linuxでファイルアクセスを排他しようとして苦労したので書いておきたいと思います。 結論 結論から申しますと、上書きモード(fopenのオプションで言うと"w")で書き込みを行うファイルに対してはflockで排他ができません。 flockを普段から使っていなかった私にとってはこのふるまいに割と衝撃を受けたのですが、確信を得るために検証コードでの動作確認と、ファイルシステム(システムコールからVFSあたりまで)のコードを読んでみました。 もし、この記事の内容で認識が違ってそうな点などありましたらコメントやTwitter(@simotin13)でご指摘頂けると幸いです。 なお、この記事で書いている確認用コードは以下のレポジトリにまとめています。 github.com 目次 結論 目次 ファイルアクセスの排他の必要性について ファイルの不整合を起こし

    flockでは排他できない - simotin13's message
    naoto0211
    naoto0211 2023/06/25
  • Intel Pin を使ってコードカバレッジツールを作ってみた - simotin13's message

    一年ほど前にGDBを使ったコードカバレッジツールを作っていましたが、 mcommit.hatenadiary.com 最近少し時間ができたのでIntelPinという動的バイナリ計装エンジン(Dynamic Binary Instrumentation Engine)を使う形で改めて作ってみました。 IntelのPinプラグインを書くのは初めてだったので使い方やバイナリ計装について調べたので諸々を記事に書いておきたいと思います。 Intel Pin とは何か? DBI は何をしているのか? Pinの使い方 Pinの実行方法 Pin のAPIの利用法 Makefileについて Pinを使ってみたきっかけ 作ってみたカバレッジツールについて 参考書籍・参考サイト 感想 Intel Pin とは何か? Intel Pin は文字通りIntelが公開している動的バイナリ計装エンジンです。ユーザアプリ

    Intel Pin を使ってコードカバレッジツールを作ってみた - simotin13's message
    naoto0211
    naoto0211 2023/05/21
  • 自宅に太陽光発電を設置した結果~1年目~ - simotin13's message

    2021年に太陽光発電・蓄電池を設置していました。 発電が開始されたのは2021年の6月からでしたが、1月~12月の期間での1年の結果が出たことになるので記事を書いてみたいと思います。 太陽光発電については東京都が条例で設置を義務付けしたり、詐欺会社のことがニュースになったりと話題が多いですが、実際に設置した人の声というのはまだまだ世の中に出ていないような気もするので参考になるのではないかと思います。 設置の経緯 そもそもなぜ設置したかというと、2021年に太陽光発電の営業をしている会社の人が来られたのがきっかけでした。 太陽光発電には特に興味はありませんでしたが、再エネ賦課金による電気代の値上がりが続いていることと、保証制度がそれなりに充実してたので蓄電池と合わせて設置を決めました。 我が家は子供が多いので、他の家庭と比べてかなり電気を使っています。契約内容にもよりますが、電気代は使えば

    自宅に太陽光発電を設置した結果~1年目~ - simotin13's message
    naoto0211
    naoto0211 2023/01/31
  • 帝京大学 理工学部 情報科学科 通信教育課程を卒業しました - simotin13's message

    2022年9月を以て帝京大学理工学部情報科学科の通信教育課程を卒業しました。 www.teikyo-u.ac.jp 卒業確定の連絡を受けたのは9月20日ごろだったかと思います。 Twitterやブログでこれまで公表してはなかったのですが、ここ数年勉強していた帝京大学理工学部通信教育課程を卒業することが決まりました。4年半長かった。 pic.twitter.com/ojYxtST4KL— simotin13 (@simotin13) 2022年9月20日 卒業証書・学位記一般的な教育機関の年度は4月~翌年の3月までですが、帝京大学では9月卒業の制度があるため、9月での卒業が可能です。2023年3月まで学習を継続することも可能でしたが、卒業に必要な単位を満たしてしまったので何となくもう卒業でもいいかなと思い卒業することにしました。 私は2018年の4月に入学して卒業したのが2022年9月なので

    帝京大学 理工学部 情報科学科 通信教育課程を卒業しました - simotin13's message
    naoto0211
    naoto0211 2022/10/09
  • 大学の勉強をしている間に買った本やよく見たYouTubeについて - simotin13's message

    先日、通信制の帝京大学の理工学部を卒業した記事を書きましたが勉強するうえで参考にした書籍やYouTubeの動画について紹介してみたいと思います。 mcommit.hatenadiary.com 教科別に指定されている教科書以外でよかった書籍やYouTubeの動画についてまとめてみました。 目次 目次 線形代数 微分積分 離散数学 電気回路 論理回路 応用数学 まとめ 線形代数 線形代数では、行列式の展開や連立方程式の解き方、固有値について勉強することになります。 教科書の問題を解くのと合わせてオーム社の漫画でわかる線形代数で全体的な雰囲気をつかんでいました。 マンガでわかる線形代数 作者:信, 高橋,いろは, 井上,トレンドプロオーム社Amazon 微分積分 私は数3を履修していなかったので、大学の微分積分はかなりつらかったです。 結局数3の参考書を買って高校の範囲から勉強し直すような感じ

    大学の勉強をしている間に買った本やよく見たYouTubeについて - simotin13's message
    naoto0211
    naoto0211 2022/10/09
  • C/C++ 用のコードカバレッジツールを作ってみた - simotin13's message

    タイトルの通り C/C++言語で使えるコードカバレッジツールを作ってみました。 x86_64 GNU/Linux 向けのバイナリと動作確認のサンプル用シェルスクリプトをGithubで公開しています。 github.com このコードカバレッジツールは covme という名称のシングルバイナリのプログラムです。機能的にはまだまだ充実していなくて、現時点では実用性は低いのですが、簡単なプログラムであればC0レベルのカバレッジを取ることができ、結果をHTMLファイルとして出力します。 covme demo 目次 目次 使い方について どうやってカバレッジを計測しているのか? GDBの利用 DWARFの利用 動機 C/C++ 言語用のコードカバレッジツールがあまりない 組み込みソフトウェアの開発で CI/CD したい covme で実現したいこと どうやってやるのさ? ソースコードについて まとめ

    C/C++ 用のコードカバレッジツールを作ってみた - simotin13's message
    naoto0211
    naoto0211 2022/03/27
  • ブックデポジトリーで本を買った(2回目) - simotin13's message

    1年以上ぶりの更新になりますが、タイトルの通り久しぶりにブックデポジトリー(Book Depository)でを買ってみたので書いておきたいと思います。 Book Depositoryは数年前にAmazon経由で一度を購入したことがありました。 mcommit.hatenadiary.com 今回もAmazon経由で購入してみました。 前回買ったのは Valglrind という動的解析ツールのマニュアルでしたらが、今回買ったのは、 OpenOCD Open OnChip Debugger Refarence Manual というこれまたマニアックなです。 OpenOCD - Open On-Chip Debugger Reference Manual 作者:Team, Openocd発売日: 2015/10/24メディア: ペーパーバック どれくらいの期間で届いたか Amazon

    ブックデポジトリーで本を買った(2回目) - simotin13's message
    naoto0211
    naoto0211 2021/05/26
  • 納付済み所得税の督促状が届いた - simotin13's message

    所得税の督促状が届きました。 と言っても昨年度の所得税については申告期間中の2月に確定申告も納付もとっくに終わっていたので何が起きているのか理解ができませんでした。 慌てて申告時の書類を色々と漁ってみましたが、私はコンビニで納付をしていたので「払込金受領証(お客様控え)」を領収書代わりに受け取っておりました。 受領証を確認すると確かに督促されている金額と同じ金額で支払っています。 督促状は文字通り、 「所得税を払えゴラァ!払わんかったら利子取るからな!」 という案内ですが、私からすると払ったものを払ってないと言われている状態なので気になって税務署に行って確認してみました。 税務署で確認した結果 税務署で納付状況を確認した結果、問題なく納付できていることを確認できました。 職員の方から督促状が届いた経緯を説明頂けたのですが、なるほどと思ったので書いておきたいと思います。 まず、所得税が納付さ

    納付済み所得税の督促状が届いた - simotin13's message
    naoto0211
    naoto0211 2020/05/25
  • 複数画像を選択できる multi image picker を使ってみる~flutter try a wiget evryday #2~ - simotin13's message

    flutterの記事2回目。 今日はスマートフォンのアルバム・ギャラリーに保存されている写真を選択するパッケージ multi_image_picker を使ってみました。 flutterでの画像選択には公式のパッケージであるimage_pickerがあります。 pub.dev このパッケージでは1枚の画像しか選択できないため複数の画像を選択するには他のパッケージを利用する必要があります。 画像の複数選択用のパッケージにはいくつかありますが、 multi_image_picker以外はあまりメンテナンスがされていないようです。 目次 目次 手順 インストールとインポート ソースコード 設定 注意事項 Androidでの注意事項 iOSでの注意事項 画面イメージ まとめ 感想 参考書籍 手順 パッケージの詳しい説明はこちらのページに記載されています。 sh1d0w.github.io インスト

    複数画像を選択できる multi image picker を使ってみる~flutter try a wiget evryday #2~ - simotin13's message
    naoto0211
    naoto0211 2020/01/09
  • ListViewとCardを使う~flutter try a wiget evryday #1~ - simotin13's message

    2020年にアプリ開発の仕事をする予定があるので2019年の年末からflutterを触り始めました。 沢山あるウィジェットの使い方を覚えないと、UIの構築が思い通りにできないのでとりあえず毎日1個以上のウィジェットを使ったコードを書いて体で覚えていきたいと思います。 とりあえず第1回目はListView,CardとNewWorkImageによるイメージ表示です。 目次 目次 コード 動作イメージ 解説 レポジトリ おすすめの書籍 明日の予定 コード import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widge

    ListViewとCardを使う~flutter try a wiget evryday #1~ - simotin13's message
    naoto0211
    naoto0211 2020/01/08
  • yoctoで共有ライブラリ(.so)を作るレシピを書いてみた - simotin13's message

    以前書いた記事、 mcommit.hatenadiary.com ではBeagleBoneBlack用のイメージを作るのを試してみましたが今回はyocto を使って共有ライブラリ(Shared Object)と共有ライブラリを参照する実行モジュールのビルド&イメージ化を試してみました。 組込Linuxの開発では(組込じゃなくても)共有ライブラリ(Shared Object)を作って各実行モジュールでそれを呼び出すようなアプリケーションを開発することはよくあります。 ホスト環境で開発する場合は割と簡単ですが、できたプロジェクト一式をyoctoを使ってクロスコンパイルし、イメージ化する方法はあまり情報がなく、試行錯誤するのに割と時間がとられたので記事として挙げておきます。 目次 目次 とりあえず試したいという人はここを読んでください 環境構築 今回試すプロジェクトの構成 calcディレクトリ

    yoctoで共有ライブラリ(.so)を作るレシピを書いてみた - simotin13's message
    naoto0211
    naoto0211 2019/12/07
  • Hyper-Vの仮想マシンに"接続"できないときの対処法 - simotin13's message

    タイトルの通りHyper-Vの仮想マシンに接続できなくなるという謎な現象が起こっていました。 仮想マシンを起動すると確かに起動はして普通に動いてはいるようですが、「接続」を選択しても仮想マシンの画面が表示されないのです。 つまり、仮想マシンのネットワークの設定ができていない状態だと手も足もでないという絶望的な状況です。 色々調べた結果、こちらの記事が参考になりました。 social.technet.microsoft.com 結論として、仮想マシンへの接続画面が表示されない場合は C:\Windows\System32\vmconnect.exe を起動すると接続用の画面が表示されます。 仮想マシンへの接続ツール※もちろんHyper-Vを有効化しておく必要があります。

    Hyper-Vの仮想マシンに"接続"できないときの対処法 - simotin13's message
    naoto0211
    naoto0211 2019/11/09
  • yoctoに入門してみる - simotin13's message

    追記 こちらの記事は2019年に書いた記事でしたが、最近のyoctoでビルドするとこの記事の手順通りにしてもSDカードからLinuxを起動できなくなっていました。(2023年7月時点) kirkstoneでビルドしたイメージを動かす記事を改めて書きましたのでBeagleBoneBlackで動かす部分については以下のリンクの記事の方を参考にしてください。 mcommit.hatenadiary.com yoctoの基的な知識についてはこちらの記事に書いてあることからあまり変わっていませんのでこちらの記事を読んで頂ければと思います。 (追記ここまで) ちょっと前にyoctoについて色々と調べる機会があったので理解している範囲で書いておきたいと思います。 yoctoに関する基的な知識とBeagleboneBlack用のイメージをビルドし動かすまでの手順を書いたので少し長くなりました。 目次

    yoctoに入門してみる - simotin13's message
    naoto0211
    naoto0211 2019/11/06
  • POSIX メッセージキューについて調べてみた - simotin13's message

    Unix系OSでのIPCの手段として提供されている機能の中にメッセージキューという機能があります。 この機能はプロセス間のデータの受け渡しに便利ですが、そもそもプロセス間通信とかたまにしか使わないので備忘のためまとめておきたいと思います。 目次 目次 メッセージキューとは APIの簡単な説明 初期化 送受信 キューの削除 メリットとデメリット メリット キューであること 優先度が指定できる 送信と受信の呼び出し順を意識しなくてよい 送信側が待たされない 送受信ともタイムアウトが指定できる socketより気軽に使える デメリット C言語以外での実装があまりされていない 双方向性がない システムコールがデフォルトで有効化されていないことがある サンプルコード Linuxでの実装 まとめ 追記 メッセージキューとは プロセス間通信の手法の1つです。 メッセージキューに関する注意点として、Sys

    POSIX メッセージキューについて調べてみた - simotin13's message
    naoto0211
    naoto0211 2019/07/25
  • RV32C ~圧縮命令ってなんだ?~ - simotin13's message

    モナリザの第7章を読んでみました。 RISC-V原典 オープンアーキテクチャのススメ 作者: デイビッド・パターソン,アンドリュー・ウォーターマン,成田光彰出版社/メーカー: 日経BP社発売日: 2018/10/18メディア: 単行この商品を含むブログを見る 前回の記事でRISC-Vのアセンブラについて調べていて気になっていた圧縮命令について書かれた章です。章といいつつこの章は実は参考文献のリストなどをあわせても7ページしかありません。 RISCのデメリット RISC系のCPUは命令セットがシンプルな分アセンブラのコード量が多くなりがちです。シンプルな命令の組み合わせつつ、パイプラインを有効活用する事で命令あたりのクロックサイクルを少なくすることがRISCの戦略ということになりますが、命令を組み合わせる分、使用する命令数(サイズ)はCISC系と比べて多くなります。*1 使用する命令数(

    RV32C ~圧縮命令ってなんだ?~ - simotin13's message
    naoto0211
    naoto0211 2019/05/30
  • RISC-Vのアセンブラについて調べてみた - simotin13's message

    昨日はFreedom Studioでデバッグする方法について書きましたが今日はRICV-Vに慣れるためにレジスタやアセンブラについて少し調べてみました。 mcommit.hatenadiary.com 概要 HiFive1 Rev.Bで使用されているCPUはFE310-G002。命令セットはRV32IMACというISAらしい。 名前を知ったところで現時点では何も分からない。 よく出てくる命令 とりあえずCのコードの逆アセを眺めて出てきた命令を列挙してみました。 命令 意味(英語) 処理 jal Jump and Link 関数呼び出し add Add 加算(レジスタ) addi Add Immediate 加算(直値) sw store word メモリへのストア(word) sd store double メモリへのストア(double) li load Immediate レジスタへの

    RISC-Vのアセンブラについて調べてみた - simotin13's message
    naoto0211
    naoto0211 2019/05/28