Linux デジタルなDV問題

2019年2月10日 | Linux | コメント (0)

当時は、デジタルにしておけば、半永久的に保管しておけると思っていたのに、ふと気づけば早急に対処すべき問題となっていました。そう、デジタルなDV問題。

再生する装置、つまりハードウェア側の問題があります。
もしDVカメラが壊れたら、再生する手段がない。

また、最近の動画編集ソフトは当時の4:3の比率に対応していないものが出てきていて、自動でクロップされてしまうこともあります。今のうちにファイル化したほうがいいだろうと思う。

テープに記録されているデータをファイル化すると1時間て約13ギガですが、ハードディスクの大容量化で圧縮なしで保存することにしました。

ただ最近のパソコンにはDVケーブルのポートがないので、Linuxサーバーで取り込み(たまたまLinuxサーバーにFirewireのボードが刺さっていた)。

拡張子dvのファイルは、マックのQuikTimeやVLCで再生可能。

Linuxなので、DVテープから取り込むソフトをyumでインストール。dvgrabは、クロップされずにテープのデータをそのままファイル化します。

yum install dvgrab

コマンドラインから取り込むことができます。

dvgrab -t -a -rewind

rewindオプションは、テープを一度巻き戻して、取り込みを開始するのを自動化するもの。

カレントディレクトリをsambaサーバーの共有先にしておけば、クライアント機にコピーも簡単。圧縮されていないので、直接ファイルサーバーから再生するのは、ファイル転送のオーバーヘッドな負荷がかかるので、コピーしてからの視聴がよさそう。

Macintosh macOS Mojaveでmrtg

2019年2月10日 | Macintosh | コメント (0)

macOSでmrtgを動かし、システム温度の記録を取る作業記録。

(1) macOSでウェブサーバーを動かします
(2) mrtgをインストール
(3) iStatsをインストール
(4) データを取得し、mrtgに渡す

(1) macOSでウェブサーバーを動かします
macOSにはウェブサーバーが内蔵されています。この作業はネット上にたくさん情報があるので、ここでは説明を省略します。

(2) mrtgをインストール
MacPortsやHomebrewなどでインストール可能です。

MacPortsなら、管理者権限で
port install mrtg
とします。
(3) iStatsをインストール
ターミナルで、
gem install iStats
でインストールできるはずなのですが、majaveではdarwinのバージョンが異なるため、エラーが出ます。そこでシステム整合性保護を解除してから、特定のフォルダをコピーする必要があります。「システム整合性保護の無効化」で検索すると解除方法が図入りで解説されているサイトがあります。 解除したあと、コピー作業をします。
cd /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/
cp -R universal-darwin17 universal-darwin18
これでiStatsのインストールが成功するはずです。 改めて
gem install iStats
を実行。

(4) データを取得し、mrtgに渡す
rootのホームフォルダにmrtgというフォルダを作ります。
/var/root/mrtg となります。ここにある程度必要なスクリプトをまとめたいと思います。

mkdir /var/root/mrtg
cd /var/root/mrtg
vi getcputemp.sh
/usr/bin/istats cpu --value-only
/usr/bin/istats scan TCGc --value-only
echo
echo
vi getfanspeed.sh
/usr/bin/istats fan speed --value-only
echo 0
echo
echo
vi gethddtemp.sh ←istatsの機能ではなく、smartmontoolから取得
#/bin/sh
/usr/local/sbin/smartctl -a /dev/disk0 | grep Temperature_Celsius | awk '{print $10}'
/usr/local/sbin/smartctl -a /dev/disk1 | grep Temperature_Celsius | awk '{print $10}'
echo
echo
echo
vi /usr/local/mrtg/mrtg.cfg
WorkDir: /Library/WebServer/Documents/mrtg
Options[_]: growright, noinfo

### System Temperature ###
Target[cputemp]: `/var/root/mrtg/getcputemp.sh`
MaxBytes[cputemp]:100
WithPeak[cputemp]: ymw
Options[cputemp]:  gauge, growright, noinfo , nopercent, absolute
Title[cputemp]: System Temperature
PageTop[cputemp]: <H1>System Temperature</H1>
ShortLegend[cputemp]: C
YLegend[cputemp]: Temperature
LegendI[cputemp]: CPU
LegendO[cputemp]: GPU
Legend1[cputemp]: CPU(Celsius)
Legend2[cputemp]: GPU(Celsius)


### HDD Temperature ###
Target[hddtemp]: `/var/root/mrtg/gethddtemp.sh`
MaxBytes[hddtemp]: 100
Title[hddtemp]: HDD Temperature
PageTop[hddtemp]: <h1>HDD Temperature</h1>
Options[hddtemp]: growright,absolute,gauge,nopercent,noinfo
WithPeak[hddtemp]: ymw
YLegend[hddtemp]: Temperature
ShortLegend[hddtemp]: C
LegendI[hddtemp]: Temperature(Disk0)
LegendO[hddtemp]: Temperature(Disk1)
Legend1[hddtemp]: HDD Temperature in Degrees Celcius(Disk0)
Legend2[hddtemp]: HDD Temperature in Degrees Celcius(Disk1)

### FAN Speed ###
Target[fan]: `/var/root/mrtg/getfanspeed.sh`
MaxBytes[fan]: 5000
Title[fan]: FAN Speed
PageTop[fan]: <h1>FAN Speed</h1>
Options[fan]: nopercent, gauge, absolute, withzeroes, noinfo, growright
WithPeak[fan]: ymw
YLegend[fan]: rpm
ShortLegend[fan]: rpm
LegendI[fan]: Fan Speed 1
LegendO[fan]: Fan Speed 2
Legend1[fan]: Fan Speed 1
Legend2[fan]: Fan Speed 2
vi make_index.sh
#/bin/sh
/opt/local/bin/indexmaker --addhead="<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=euc-jp\">" /usr/local/mrtg/mrtg.cfg > /Library/WebServer/Documents/mrtg/index.html

作ったスクリプトには、実行権を与えておきます。

これをcronで5分おきに回します。ただ、最近はlaunchdを使うことが推奨されているようです。とりあえずcronで。

crontab -e
*/5 * * * * env LANG=C /opt/local/bin/mrtg /usr/local/mrtg/mrtg.cfg