SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
1
Raspberry Pi Zero と
カメラモジュールで作る
ライブ配信実験機
Tetsuyuki Kobayashi
2018.4.25 Streaming Conference #2
2
 The latest version of this slide will
be available from here
 http://www.slideshare.net/tetsu.koba/presentati
ons
3
Who am I?
 20+ years involved in embedded systems
 10 years in real time OS, such as iTRON
 10 years in embedded Java Virtual Machine
 Now GCC, Linux, QEMU, Android, …
 Blogs
 https://qiita.com/tetsu_koba
 http://d.hatena.ne.jp/embedded/
 http://kobablog.wordpress.com/(English)
 Twitter
 @tetsu_koba
はじめに
 ラズパイの H.264 ハードウェアエン
コーダが意外にいけてる
 ラズパイを堅牢にする工夫はいろいろ
あるが、今回は省略。
ライブ配信実験機
本日話すること
 ラズパイの H.264 ハードウェアエン
コーダ
 YouTube Live に配信してみよう
 応用編 1: BGM を流そう
 応用編 2: 加速度センサーで設置角度
を自動設定しよう
ラズパイの H.264
ハードウェアエンコーダ
 1920x1080 30fps 可能。
 これを使えば CPU の負荷はオーディ
オのエンコードとネットワーク処理だ
け。
 専用コマンド (raspivid) の他に
GStreamer と ffmpeg から使用可能
映像の入力
 USB の WebCam からの映像入力では
フレームレートが出ない
 640x480 20fps くらい
 おそらくメモリの帯域が足りない
 専用カメラモジュールならば OK
 専用コマンド (raspivid) を使うとカ
メラ入力を直接 H.264 エンコーダに
つなげられるらしい
YouTubeLive に配信してみよう
必要な部材
 Raspberry Pi Zero WH ケースセット
 Raspberry Pi カメラモジュール
 電源 (microUSB: モバイルバッテリー可 )
 microUSB B オス to USB A メス変換ケー
ブル
 ネットワーク ( 以下のどれか )
 USB Ethernet アダプタ
 内蔵 WiFi
 スマフォで USB テザリング
Raspberry Pi Zero WH
ケースセット
秋月で 2,680 円 ( 税込み )
Tips
 ピンヘッダのピンが邪魔でカメラ用
ケースのフタが閉まらない !?
 「そんなのはニッパーで切ればいいん
ですよ」 by 同僚の電気エンジニア
カメラモジュール
 ラズパイ純正のカメラモジュールはい
くつかの種類がある
 初代は少し安く入手できる 3,080 円
 使用時に赤 LED が点灯
 v2 は SONY 製 4,300 円
 ピント調整の治具が付属
 そのほか赤外線カメラもある
 ソフトウェア的にはどれもほぼ同じ。
  YouTube 側の準備
 YouTubeLive の「いますぐ配信」を
使うのが簡単。
 エンコーダの映像フォーマットに合
わせてくれるので設定の不一致が起
こらない。
 live_dashboard のページで調べてメモ
 RTMP の URL ( サーバー URL )
 stream key ( ストリーム名 / キー )
ラズパイ側の準備
 sudo apt install ffmpeg
 次のページのスクリプトで
STREAM_KEY だけ自分のものに修正
する
 マイクは無いので無音をエンコードし
ている
 画像解像度はデフォルトの
1920x1080
youtube.sh
#!/bin/sh
STREAM_KEY=your_stream_key
ping -c 5 a.rtmp.youtube.com || exit $?
raspivid -o - -t 0 -rot 270 -fps 30 -b 4500000 | 
ffmpeg -re 
-ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero 
-r 30 -f h264 -i - -vcodec copy -acodec aac -ab 128k 
-f flv rtmp://a.rtmp.youtube.com/live2/$STREAM_KEY
/boot/youtube.sh
これらのコードは gist で公開
tetsu-koba/00_raspberrypi_livestream
エラーが発生したらリトライ
#!/bin/sh
green_led=/sys/class/leds/led0
led_green_ok(){
echo timer > $green_led/trigger
# pi zero seems to swap on and off
echo 3000 > $green_led/delay_off
echo 200 > $green_led/delay_on
}
led_green_error(){
echo timer > $green_led/trigger
echo 50 > $green_led/delay_on
echo 50 > $green_led/delay_off
}
mount -o remount,ro /
mount -o remount,ro /boot
while true; do
led_green_ok
./youtube.sh
led_green_error
sleep 10
done
/boot/run.sh
残念ながら
純正ケースでは
フタを閉めると
LED は見えない
電源を入れたら自動で配信開始
#!/bin/sh -e
[ -x /boot/run.sh ] && (cd /boot; ./run.sh ) &
exit 0
/etc/rc.local
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
/etc/fstab に以下の行を追加
応用編
BGM を流そう
 内蔵マイクが無いが無音はさみしい
 SD カード内に置いた音声ファイルを
BGM として繰り返し流す
 音声ファイルはあらかじめ AAC に変
換して /boot/audio/ に置く
 ffmpeg -i music.mp3 music.aac
 AAC のエンコードが不要になるの
で CPU の負荷が軽くなる
加速度センサーで設置向きを自動認識
 映像の回転角度を 0, 90, 180, 270 の 4
つを指定可能。
 加速度センサーの値から、この 4 つの
うちのどれがよいかを自動判別する
 3 軸加速度センサー [ATD345] 販売
価格 : 395 円 ( 税別 )
 http://www.aitendo.com/product/9548
 判別するのは電源 ON の後の最初の 1
回のみ。 ( 手抜き実装 )
加速度センサーを追加
ATD345
camera module v1
youtube.sh
#!/bin/sh
STREAM_KEY=your_stream_key
AFIFO=/tmp/afifo.$$
ping -c 5 a.rtmp.youtube.com || exit $?
rm -f $AFIFO
mkfifo $AFIFO
ROT=`/home/pi/axd`
raspivid -o - -t 0 -rot $ROT -fps 30 -b 4500000 | 
ffmpeg -loglevel warning -re -f aac -i $AFIFO -r 30 -f h264 
-i - -vcodec copy -acodec copy -bsf:a aac_adtstoasc 
-f flv rtmp://a.rtmp.youtube.com/live2/$STREAM_KEY &
while true; do
cat /boot/audio/*.aac
done >> $AFIFO
/boot/youtube.sh
設置向きの判定
 i2c につながった加速度センサーの設
定、測定値読み込み、設置向きの判定
を行う部分は golang で書いた。
 tetsu-koba/00_raspberrypi_livestream
 参考
 組み込みLinuxでのGolangのススメ
スマフォの USB テザリング
 以下のサイトを参考に。
 Raspberry Pi 2でAndroidのUS
Bテザリングを使う
 Raspberry Pi 2でiPhoneのUS
Bテザリングを使う
最後に
 ここで書いたことは基本的に他の
Raspberry Pi シリーズでも適用可能。
 RTMP の URL と stream key が入手で
きるサイトなら同様にいけるはず。
 エラー発生時のリカバリは手抜き。実
験用。
 デモは懇親会の時に。
27
Q & A
@tetsu_koba
Thank you for listening!

Weitere ähnliche Inhalte

Was ist angesagt?

実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...NTT DATA Technology & Innovation
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
SFUの話
SFUの話SFUの話
SFUの話tnoho
 
MediaPipeの紹介
MediaPipeの紹介MediaPipeの紹介
MediaPipeの紹介emakryo
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)shingo inafuku
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsTatsuo Kudo
 
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~Hiroshi Tokumaru
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてJetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてFixstars Corporation
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るGo Miyasaka
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 zaki4649
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Hiroyuki Wada
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)シスコシステムズ合同会社
 

Was ist angesagt? (20)

実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
SFUの話
SFUの話SFUの話
SFUの話
 
MediaPipeの紹介
MediaPipeの紹介MediaPipeの紹介
MediaPipeの紹介
 
診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)診断ツールの使い方(Owasp zapの場合)
診断ツールの使い方(Owasp zapの場合)
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
ここが変だよ、グローバルスタンダードの脆弱性対策~入力値の考え方~
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてJetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けて
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
nginx入門
nginx入門nginx入門
nginx入門
 
AWS CognitoからAuth0への移行パターン4つ
AWS CognitoからAuth0への移行パターン4つAWS CognitoからAuth0への移行パターン4つ
AWS CognitoからAuth0への移行パターン4つ
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点 PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
 

Ähnlich wie Raspberry Pi Zero とカメラモジュールで作るライブ配信実験機

Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Kazuo Asano (@kazuo_asa)
 
Tricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft floatTricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft floatTetsuyuki Kobayashi
 
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)catmoney
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築yaegashi
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったCHY72
 
ロボットシステム学2015年第7回
ロボットシステム学2015年第7回ロボットシステム学2015年第7回
ロボットシステム学2015年第7回Ryuichi Ueda
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp CodereadingHiro Yoshioka
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And JekyllYoji Shidara
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築Saito5656
 
React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話
React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話
React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話Akira Fukuoka
 
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加するWindows コンテナを AKS に追加する
Windows コンテナを AKS に追加するYuto Takei
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版VirtualTech Japan Inc.
 

Ähnlich wie Raspberry Pi Zero とカメラモジュールで作るライブ配信実験機 (20)

Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6Starting qt5beta at_raspberry_pi Qtnagoya#6
Starting qt5beta at_raspberry_pi Qtnagoya#6
 
Tricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft floatTricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft float
 
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
 
Open VZ
Open VZOpen VZ
Open VZ
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作ったFM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作った
 
ロボットシステム学2015年第7回
ロボットシステム学2015年第7回ロボットシステム学2015年第7回
ロボットシステム学2015年第7回
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
 
Hacking Vox and Plagger
Hacking Vox and PlaggerHacking Vox and Plagger
Hacking Vox and Plagger
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
 
React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話
React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話
React+Redux+Node.js+Raspberry Piで ビデオプレイヤーを作りたかった話
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
Seti@home on debian 20140725
Seti@home on debian 20140725Seti@home on debian 20140725
Seti@home on debian 20140725
 
Windows コンテナを AKS に追加する
Windows コンテナを AKS に追加するWindows コンテナを AKS に追加する
Windows コンテナを AKS に追加する
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
 

Mehr von Tetsuyuki Kobayashi

WebOS Open Source Edition を試してみた
WebOS Open Source Edition を試してみたWebOS Open Source Edition を試してみた
WebOS Open Source Edition を試してみたTetsuyuki Kobayashi
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くTetsuyuki Kobayashi
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)Tetsuyuki Kobayashi
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメTetsuyuki Kobayashi
 
Simple and efficient way to get the last log using MMAP
Simple and efficient way to get the last log using MMAPSimple and efficient way to get the last log using MMAP
Simple and efficient way to get the last log using MMAPTetsuyuki Kobayashi
 
Basic of virtual memory of Linux
Basic of virtual memory of LinuxBasic of virtual memory of Linux
Basic of virtual memory of LinuxTetsuyuki Kobayashi
 
ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?Tetsuyuki Kobayashi
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of AndroidTetsuyuki Kobayashi
 
Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Tetsuyuki Kobayashi
 

Mehr von Tetsuyuki Kobayashi (20)

some topic of ffmpeg
some topic of ffmpeg some topic of ffmpeg
some topic of ffmpeg
 
New VIdeo CODEC AV1
New VIdeo CODEC AV1 New VIdeo CODEC AV1
New VIdeo CODEC AV1
 
Try new transport protocol SRT
Try new transport protocol SRTTry new transport protocol SRT
Try new transport protocol SRT
 
WebOS Open Source Edition を試してみた
WebOS Open Source Edition を試してみたWebOS Open Source Edition を試してみた
WebOS Open Source Edition を試してみた
 
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書くLinuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)
 
組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ組み込みLinuxでのGolangのススメ
組み込みLinuxでのGolangのススメ
 
ARM 64bit has come!
ARM 64bit has come!ARM 64bit has come!
ARM 64bit has come!
 
Virtual memory 20070222-en
Virtual memory 20070222-enVirtual memory 20070222-en
Virtual memory 20070222-en
 
Simple and efficient way to get the last log using MMAP
Simple and efficient way to get the last log using MMAPSimple and efficient way to get the last log using MMAP
Simple and efficient way to get the last log using MMAP
 
Tips of Malloc & Free
Tips of Malloc & FreeTips of Malloc & Free
Tips of Malloc & Free
 
Basic of virtual memory of Linux
Basic of virtual memory of LinuxBasic of virtual memory of Linux
Basic of virtual memory of Linux
 
Patch101
Patch101Patch101
Patch101
 
ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?
 
Tweaking Google TV emulator
Tweaking Google TV emulatorTweaking Google TV emulator
Tweaking Google TV emulator
 
Inter-process communication of Android
Inter-process communication of AndroidInter-process communication of Android
Inter-process communication of Android
 
Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'Android is NOT just 'Java on Linux'
Android is NOT just 'Java on Linux'
 
Android ipm 20110409
Android ipm 20110409Android ipm 20110409
Android ipm 20110409
 
Init of Android
Init of AndroidInit of Android
Init of Android
 
Android On Ubuntu for developer
Android On Ubuntu for developerAndroid On Ubuntu for developer
Android On Ubuntu for developer
 

Raspberry Pi Zero とカメラモジュールで作るライブ配信実験機