ナマケモノの家

ナマケモノ

seesaw とは

本プログラムは, ftp(proftpd) と連携して、ftp経由で再生した動画ファイルの 未視聴/視聴済 を記録し、playList を生成する ソフトウェアです。

注意

Ver1 では samba を使用していたが、Ver2 からは ftp(proftpd) を使うようにした。

背景・目的

PC で録画した動画ファイルを、居間の TV に接続した Fire TV stick+VLC や、 タブレットの VLC 等の再生ソフトを使って視聴しているが、 ファイルが溜まってくると、見た/見ていないの管理が煩わしい。 (後でBDに保存するので、見たら消す方式は使えない。)
そこで、新規のファイルは「未視聴」に、動画再生すれば自動的に「視聴済」 に分類される仕組みを作成した。

動作概要

プログラム構成図

インストール方法 (ubuntu 24 の場合)

定数名 意味 備考
BaseDir seesaw が出力するディレクトリ  
ProftpdLogFN proftpd の ExtendedLogファイル名  
TargetDir 録画ファイルがあるディレクトリ 複数可
TargetExt 対象とするファイルの拡張子 複数可
Exclude 除外するファイル,ディレクトリの正規表現 複数可,ファイル名可
RefreshPeriod TargetDirの検索周期(秒)  
DoneTime 視聴済にする再生時間(秒)  
FlipDelay 反転処理までの遅延時間(秒)  
LogRotateSize log ローテーションサイズ(byte)  

オプションの説明

-b, –background

バックグラウンドで実行する。

–done str

str を正規表現として、一致するファイルを視聴済にする。
例: ruby seesar.rb --done ニュース

–notyet str

str を正規表現として、一致するファイルを未視聴にする。
例: ruby seesar.rb --notyet ニュース

-t

–notyet/done の時に test mode(表示のみ)にする。

-k, –kill

バックグラウンドで動いている seesaw を停止させる。

-l, –loglevel n

log に出力するレベルを指定する。n = 0〜5 でデフォルトは 1

-r, –reload

データの再検索を行う。

状態遷移の動作説明

ftp経由で、動画ファイルに対して次の操作をした場合に状態遷移が起きる。
なお操作2は、操作1の終了から FlipDelay で指定した秒数以内で行う操作のこと。

操作1 操作2 動作
Long再生 なし 未<->済 の入れ替え
Long再生 Short再生 なし(キャンセル)
Long再生 Long再生 なし(操作1のキャンセル)
Short再生 なし なし
Short再生 Short再生 未<->済 の入れ替え

動作確認環境

サーバー側 クライアント(1) クライアント(2)
Ubuntu 22.04.4 LTS Fire HD 10 (2022) Fire stick TV 4k
ProFTPD Version 1.3.8b VLC 3.5.4 VLC 3.5.4

連絡先

不具合報告などは、 GitHub issuse の方にお願いします。

リンク

ライセンス

このソフトウェアは、Apache License Version 2.0 ライセンスのも とで公開します。詳しくは LICENSE を見て下さい。