nginx + MPEG-DASHで低遅延配信したい

この記事の所要時間: 330

まず始めに言うと、Flashなプレイヤーに対してRTMPで配信するのが一番低遅延で安定してると思います。Flashなんて嫌だ!そして宗教上の理由でHLSも嫌だ!そして低遅延じゃないと嫌だ!という欲張り兄貴に贈るMPEG-DASHの唄。
nginx-rtmp-moduleを入れたnginxを使って普通に配信サーバーがある人向け情報なので、まだ無い人はググって構築なさってくださいオナシャス!

nginxの設定内容:

dash on;
dash_path live/dash;
dash_fragment 500ms;
dash_playlist_length 4s;

をapplication ***{}の中に入れましょう。
dash_fragmentとdash_playlist_lengthがクッソ重要で、前者が動画ファイル分割時間、後者が動画ファイルをリストに載せておく時間。これらを短くすると配信遅延も短くなるのだけれど、短くし過ぎると不安定になってしまうので適宜調整。おじさんの環境だと前述くらいでちょうどいい。
dash_pathは動画ファイルを置いておく場所。

あと配信ソフト(OBSとか)の側でも設定が必要で、なるべくキーフレーム間隔を短く(できれば0.5秒、せめて1秒)にしましょう。しないと再生できないことが多いっぽい(適当)

一応HTMLソースも載せておきます。

<html>
<head>
<title>MPEG-DASH-TEST</title>
<style> video { width: 1280px; height: 720px; } </style>
</head>
<body>
<div>
<video id="videoPlayer" controls></video>
</div>
<script src="https://cdn.dashjs.org/latest/dash.all.min.js"></script>
<script>
(function(){
var url = "dash/なんとか.mpdみたいな感じでmpdファイルのURL";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#videoPlayer"), url, true);
})();
</script>
</body>
</html>

 

みたいな感じで作って、どうぞ。
ほぼdash.js公式サンプルコードのままなのでそっち見た方がよいかも(ガバガバ)。

肝心の遅延はどれくらいかというと…

←Flash(RTMP受信)、DASH、元の順

速いときでFlashは1秒ちょっと、DASHは3秒ちょっとくらい(ブラウザでミリ秒時計を表示したのを配信して適当にスクショ)。MPEG-DASHはブラウザの取得タイミングによって遅延が前後するけどなんとか3-4秒になりました。HLSは頑張って7秒くらいと記憶してるので結構縮まった、やったぜ。

みんなもMPEG-DASHしよう!

 

どうでもいい話、本当はメジャーそう(適当)なHLSで低遅延目指そうとしてたんだけど、Flashとの差がエグいのと、PCやAndroidで対応してないもしくは見づらい(おじさんの技術が足りないかもしれない)のがネックだった。
MPEG-DASH使ってみたら、PCでも泥でも再生できる、ただしiOSはダメwみたいな状況になった、やったぜ。でもFirefoxだと低遅延チューニングでかなり不安定なのでchrome推奨。
あとは動画ファイルをRAM Diskに置くとかの工夫で更に低遅延化出来ないかやってみたいと思いまぁす!

au版Xperia XZ (SOV34) の非公式SIMロック解除

この記事の所要時間: 347

こんにちは。おじさんです。
MNPで一括0円キャッシュバック付だったので、au版のXperia XZを入手してみました。

さて…
SIMロック解除したいですよね!(唐突)  しました(報告)

公式SIMロック解除は半年後に無料で出来るらしいけど、待ちきれないよ!早く解除してくれ!
という方向けに、非公式SIMロック解除という選択肢があります。
非公式SIMロック解除の基本的な手順は、

  1. なんか怪しい業者から解除コードを入手する
  2. 他社SIMを差し込んで出てきた画面にコードを入力

という感じなんだけども、au版の端末では、手順2の画面が出せない模様。
よって今回入手したau版Xperiaの場合の非公式SIMロック解除手順は、

  1. なんか怪しい業者から解除コードを入手する
  2. au版じゃないROMを焼く
  3. 他社SIMを差し込んで出てきた画面にコードを入力
  4. au版ROMを焼き戻す

というクッソ面倒くさい手順を踏むことになります。†アーメン†

よく分からないながらもなんとか解除出来たので、以下、手順を記しておきます。
ただし、ツールがガバガバなせいでROM焼き失敗する確率が高いのでおすすめしません!文鎮化しても誰も責任とりません!自己責任!メイン端末ならおとなしく180日待って、どうぞ。
あと、データのバックアップはお忘れ無く。

手順その1:解除コードの入手

海外のクッソ怪しいサイトから解除コードを入手します。値段は大体横並び(3k円弱くらい)なので、どこ使っても変わらんと思うたぶん。コードの発行まで数日かかります。
ちなみにおじさんが使ったのは https://sim-unlock.net/jp/ です。

手順その2:au版じゃないROMを焼く

これが厄介。頑張って焼いて下さい。
使うツールはFlashtoolというものを使うんだけどコレが結構ガバガバ。バージョンによってうまく焼けなかったりする。試行錯誤の結果、0.9.22.3でなんとか焼けました。

で、焼き方に関してはここを参考にして、ここにあるSB版XZ(502SO)のROMを焼きました。海外ROMを焼くのが一般的みたいだけど、どうもうまく焼けなかった。
あと、SB版を焼く際にもWipeでUSERDARAにチェック入れるとエラーになるので、外した。Misc TAとやらは全部チェックした。
チェック項目の詳細に関しては…わかんないや!

焼くときにはまった点は他にもあって、Flashを押した後しばらく待って、

↑みたいな画面が出てきたら失敗するので、とりあえずXZダブルクリックして閉じておけばいいんじゃない?(適当)
で、もう一度雷マーク押してはじめから設定してFlash押して、

みたいな画面で止まったらOK。電源きったXZを音量downキー押しながらUSBでPCに繋いで、

↑ダイアログが出てきたらYes押してあげればROM焼き開始。
Please unplug云々言われたら、USBケーブル抜いて起動する。

もしROM焼きに失敗してると、

↑のような画面を見ることになりますが、慌てず騒がず落ち着いて。
数秒待つと電源が落ちるので、そしたらまた最初からROM焼き。雷マーク押して出てくる画面のチェック項目を見直してみるとよいかも。あとは別のROMにするとか。
成功率の高いau版ROMを焼いて心を落ち着けてもよいかもしれない。

手順その3:他社SIMを差し込んで出てきた画面にコードを入力

ドコモか何かのSIMを挿して起動すると、

↑みたいな画面が出るので、ここまで来たらほぼ勝ち確も同然。
怪しい業者から入手したコード群の中にあるNSCKを入力。ちなみに、問題が発生したため~~を終了します みたいなメッセージが高速点滅してたけど、特に問題無く解除できました。
無事解除できたらSB版ROMには別れを告げ新たな船出へ。

手順その4:au版ROMを焼き戻す

2と同じ手順でau版ROMを焼いておわり!

焼けたら、さぁ感動する心の準備をお願いします!

ダイヤルアプリで*#*#7378423#*#*→SIM lockと進むと、

解除されてる!!

適当に他社SIM突っ込むと通信出来る!!

いいっすねぇウン。

あと、XZの非公式SIMアンロックに関してはmineoのフォーラムが賑わってるようなのでそこを参考にしても良いかも。

i7 5820Kのオーバークロック

この記事の所要時間: 20

150811033228

X99-UD5 WIFIのUEFIかっこいい(唐突)。UEFIの段階でフルHD解像度出力出来るんすね、知らなかった。
画面のモードは他にもあって、↓みたいな初心者向け風?画面とフツーのレイアウトの設定画面が用意されてる。この2つは鯖とかサブ機のASUSマザーのUEFIみたい。

150811032710 M.I.T._[03-28-02]

 

 

本題。OCした(直球)。
CPUはi7 5820K(2011-v3)で、マザーは先ほど書いたとおりGA-X99-UD5 WIFI。CPUクーラーはNepton 280L(簡易水冷)。詳細なスペックはこちら

定格のまま電圧を見ていると、負荷をかけてもなかなか1V超えない感じなので、はぇ^~すっごい電圧低い(適当)って思って調子に乗ってOCしていきます。
OCしたらOCCTを1時間くらい走らせるのが良い(友人談)らしいのだけれど、OCCTは通常ありえない負荷(友人談)らしいので、10分くらいでええやろ(おじさん談)ということで10分回して落ちなかったらOKという判断でいきます(適当)。ホモはせっかち。

以下結果羅列。メモはしてないのでとりあえず記憶してる限りで。

  • 4.2GHz@1.250V → NG(熱くて中断された)
  • 4.2GHz@1.150V → OK
  • 4.2GHz@1.100V → OK
  • 4.2GHz@1.075V → OK
  • 4.0GHz@1.150V → OK
  • 4.0GHz@1.100V → OK
  • 4.0GHz@1.050V → OK
  • 4.0GHz@1.000V → NG(5分過ぎたくらいでBSOD)

めんどくさいのでこれくらいしか試してない。今はとりあえず4.2GHz@1.100Vで様子見中。
ちなみに温度は1.1Vで負荷時70度前後だったかな? 1.25Vまでいくと80度後半行きそうになる。

以下CINEBENCHの結果。

cb1

cb2

 

i7 5820K@4.2GHzでCINEBENCH R11.5なら13.55ptsくらい、CINEBENCH R15なら1230cbくらい。

ちなみに4.5GHz@1.25Vと4.6GHz@1.275Vにしてみた時のR11.5の結果は以下の通り。こちらは常用する気なし。

oc4oc3

ご満悦おじさん。