WezTerm&libsixelでSSH接続したラズパイから即興の監視カメラ的な使い方を試す
※ 当ページには【広告/PR】を含む場合があります。
2024/06/20
「FFmpeg-SIXEL」はすでに非推奨の状態
sixel
$ ffmpeg -i 'https://www.youtube.com/watch?v=LLzGBpNlX-c' -f sixel -pix_fmt rgb24 -s 480x270 -
#...ターミナルに直接動画を再生する
aptからffmpegをアンインストール
$ sudo apt --purge remove ffmpeg
FFmpeg-SIXELをインストール
FFmpeg-SIXEL
$ git clone https://github.com/saitoha/FFmpeg-SIXEL
$ cd FFmpeg-SIXEL
$ ./configure --enable-libquvi --enable-libsixel
$ make install
$ ffmpeg -i 'https://www.youtube.com/watch?v=ixaMZPPmVG0' -f sixel -pix_fmt rgb24 -s 480x270 -
configure
libquvi
$ ./configure --enable-libquvi --enable-libsixel
ERROR: libquvi not found using pkg-config
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.
pkg-config
libquvi
libquvi
$ pkg-config --exists --print-errors libquvi
Package libquvi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libquvi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libquvi' found
libquvi
$ sudo apt install libquvi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libquvi
libquvi
$ git clone https://github.com/mogaal/libquvi.git
$ cd libquvi
$ ./configure && make
configure: error: a2x is required to create man pages when building from git
a2x
a2x
asciidoc-base
$ sudo apt install asciidoc-base
libquvi
$ ./configure && make
configure: error: Package requirements (lua-5.1 >= 5.1) were not met:
No package 'lua-5.1' found
lua-5.1
$ sudo apt install liblua5.1-0-dev liblua50-dev liblualib50-dev
No package 'libproxy-1.0' found
libproxy-1.0
FFmpeg-SIXEL
コマ撮りしたjpeg画像をimg2sixelコマンドの表示から逐次更新させる
img2sixel
img2sixel
$ while true;\
do ffmpeg -f v4l2 -i /dev/video0 -loglevel -8 \
-vframes 1 -c:v png -f image2 - | img2sixel; sleep 0.2; \
done
#...
[video4linux2,v4l2 @ 0x15be900] ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
[video4linux2,v4l2 @ 0x15be900] Time per frame unknown
[video4linux2,v4l2 @ 0x15be900] ioctl(VIDIOC_STREAMON): Invalid argument
/dev/video0: Invalid argument
レガシーのラズパイカメラでもコマ撮り写真を撮影する方法
libcamera-vid
libcamera-vid
--codec
MotionJPEG
$ libcamera-vid -t 10000 --codec mjpeg -o test.mjpeg
--segment
--segment
$ libcamera-vid -t 10000 --codec mjpeg --segment 1 -o test%05d.jpeg
SSH接続したラズパイでコマ撮りした画像をターミナル上に動画として表示する
Sixelプロトコル
WezTerm
WezTerm
WezTerm
$ libcamera-vid -t 0 --codec mjpeg --segment 100 -o test.jpeg
$ while true; \
do img2sixel test.jpeg 2>/dev/null; sleep 0.1; \
done
GUIなしの無印ラズパイゼロでもlibsixelは動く
WezTerm
libsixel
libsixel
$ sudo apt install libsixel*
libcamera-vid
-tl(--timelapse)
-tl
$ raspistill -t 0 -w 480 -h 320 -tl 100 -o test.jpeg
まとめ
記事を書いた人
ナンデモ系エンジニア
電子工作を身近に知っていただけるように、材料調達からDIYのハウツーまで気になったところをできるだけ細かく記事にしてブログ配信してます。
カテゴリー