ローカルネットワークでのストリーミング再生

とりあえず、今は下記のようなネットワーク構成になっているのですが



・玄箱内のSambaの共有フォルダをX27から/pubにcifsでマウント


この状態で、可変ビットレートのH.264(1280×720)の動画を再生した時、動きが激しくなるとコマ落ちしてしまうという現象が発生した。

ファイルをローカルに落として再生すると問題無い。
可変レートなために、ファイルの密度にばらつきがあり、動きが激しく密度の高い部分になるとネットワークが急な負荷について行けずにコマ落ちしてしまうらしい?

という事で、下記のようなスクリプトを作ってみた。


cpmplayer

#/bin/bash

file="/tmp/cpmplayer_$$_`date +%Y%m%d%H%M%S`"
nice -n 19 cp "$1" $file &
pid=$!
sleep 2
mplayer "$file"
kill $pid
rm $file


やってることはかなり単純。
再生する時に、一度/tmp内にデータを落として同時にmplayerで再生させる。
再生が終了したら、ファイルを削除。

密度の高い所の帯域が追いつかなくても、密度の低く動きが少ない部分では帯域にかなりの余裕がある。
なので、ローカルに一気に落として再生させた方がスムーズに動いてくれるという感じだ。

とりあえず、自分の環境ではこの方法でかなり快適になった。


◇そういえば

そういえばX27ですが、思ったより発熱がひどいです。
ネットで調べると熱暴走の報告が多数・・・。
自分のマシンは今の所熱暴走は無いし、これから冬なんでとりあえず大丈夫ですが。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。