見出し画像

RasPiごにょ+NASが上手く動いていないよー? (転送速度いろいろ)

NASを(これまたRaspberryPiで)組み上げたので、そちらにテレビの録画データをどんどんつっこむように書き換えて動かしていましたが、どうもうまく録画してくれない日々が続いています。

1チャンネルだけを録画する時は問題ないんですけど、数チャンネルを同時に録ってみると、再生時に画面がまっくろだったり、音が飛び飛びだったり、場合によっては「再生できません」なんてことになったり。

画像2

せっかく録画指定してもこうなっちゃうのは悔しいもの><

どうも

データが壊れているかんじ?

なのです。

いろいろ調べてみると、2チャンネル以上同時に録画する時、後から録った番組がブロックノイズの塊になったり、音声がミギャギャギャッ!って音になってたりしてだめだめなかんじです。

今は録画マシンにRaspberryPi4+PX-Q1UDをつかって、4chの地上波を録画できるようにしています。

せっかくNASを利用しはじめたので、RasPiにつないであったHDDを使うのはやめて、SDカード上にMiracurun + Chinachu で録画をできる仕掛けを作り、NASへ自動録画するようにしてあります。(作り方は、だいたいごにょごにょシリーズのぐらい参照)

さて、動作確認をするため、

実験用スクリプト

recdvb --b25 --strip --dev 0 26 30 test26-30.m2ts &
recdvb --b25 --strip --dev 1 24 30 test24-30.m2ts &
recdvb --b25 --strip --dev 2 22 30 test22-30.m2ts &
recdvb --b25 --strip --dev 3 20 30 test20-30.m2ts &

こんなスクリプトを作ってみました。(ってただ並べただけです。いわゆるワンライナーコマンドx4ですね)

26-NHK Eテレ
24 テレビ朝日
22 TBS
20 TokyoMX

をそれぞれ30秒ずつ同時に録画する仕掛けです。

これを実行してみるとこんなかんじ

画像4

出来たデータを再生してみると……

画像1

うぼわ。やっぱりだめじゃん。

本来なら4チャンネル同時に録画できるはずなのに……

もしかして転送速度が足りない?

というわけで、

RasPi+NASのデータ転送速度チェック

をやってみます。

参考サイト:

実験用に巨大ファイルを作る

$ dd if=/dev/urandom of=GB.txt bs=64M count=16 iflag=fullblock

これで、GB.txt というファイルに1ギガバイトのランダムな内容のファイルが作られます。(けっこう時間かかります)

出来上がった GB.txt (1GBのファイル)をGB1.txt にコピーして時間を計測してみます。

時間を計るのは、単にコマンドの前に time と入れるだけでOK。

$ time cp GB.txt GB1.txt

みたいな感じですね。

この場合は、microSD(以下、SD)カード内に入っているファイルを読みだして、そのデータをSDカードに書き出しているので、Read:SD + Write:SD の時間がわかるはずです。

結果

画像5

約2分32秒。やっぱりSDカードはおっそいですね…。

SDカードからNASへコピーしてみると…

画像6

速っ! 20秒弱でコピーできちゃいました。

まさかキャッシュのせい? かと思ってもう一度SD to SDでコピー

画像7

さらに遅くなってる……w

試しに NAS to NAS でコピーをしてみると

画像8

25秒。NASからの読み込み時間+NASへの書き込み時間でもこんなものです。

とすると、SD to NASの時間もおそらくほとんどの時間はSDのReadタイムではないかとおもわれますね。そして、SD to SDで2:30~3分かかったということは、SDへのWriteタイムがかなり大きい(想像通りですが)。おそらく、1GBをSDへWriteするのは2分はかかるということでしょう。

さらに試しに、直接HDDをUSB3.0端子につないでやってみます。

画像9

はっや! 約8秒でSD to HDDの1GBコピーができました。

HDD to HDDでやってみると

画像9

およそ12秒。

NASも速いと思いましたが、直接HDDをつないだ方がさらにお速いようです。

これは……、HDDじゃなくてSSDとかつないでやってみたくなりますねえ。(でもそっちは今回のお題じゃないのでまたこんどw)

まとめると

・SD to SD   平均2分45秒 : 約6MB/sec (R:Wは、2:8ぐらいの割合?)
・SD to NAS   平均22.5秒: 約44MB/sec
・NAS to NAS 25秒 :  約40MB/sec
・SD to HDD   8秒 :  約125MB/sec 
・HDD to HDD  12.44秒: 約80MB/sec

となりました。

RaspberryPiはそのシステムがそもそもSDカードに入っているため、NAS to NAS や HDD to HDDであってもSDカードに依存するボトルネックはどこかにありそうな気がします。が、まあとにかくSDカードを使っているとめちゃくちゃ遅いのよね。というある意味予想通りの結果となりました。

ここから先は

519字 / 1画像
ワンボードコンピュータのRaspberryPiシリーズで、テレビの全チャンネルを同時に録画してしまおうという野望の元に集まった私一人の戦いを赤裸々に描きます。 記事公開後ひと月を目途に記事を有料化していきます。有料記事を2つ以上読まれる時はマガジンを購入されたほうがお得になります☆

RasPiTV

200円

ラズベリーパイでTVをごにょごにょっとするアレです。

よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,