Orange Pi と RTMPDUMP についてメモ書き

こんばんはサタルタンです。

Orange Piを購入して1月ほど遊んでいましたが飽きてきたところ、昔(?)色々頑張って作っていたRTMPDUMPを用いたプログラムを思い出しました。

GoogleがAndroidの開発言語にkotlinをメインにするというのも見たので、kotlinで前のプログラムを書き直したら良いじゃないと思い立ちました。

上記の2つの理由から色々調べることにしました。

そこで、言語上可能でもRTMPDUMPを用いていたのでそもそもOrange PiでRTMPDUMP使えるの?から調べる必要が出てきたので四苦八苦していました。

そ・こ・で

忘れないように現状のメモを残します。

 

OrangePiのOSはArmbianのUbuntuです。

そこへこちらのgitのソースを持ってきました。

Readmeに書いてある通り、cloneして、makeして、sudo make installしました。

が、出来ない!ALSOのサウンドドライバか!と思いたちインストール!が、動かない!

「export LD_LIBRARY_PATH=/lib」を忘れており、できなかった模様・・・。

恥ずかしい!!!だが忘れちゃだめなのでここに書きます!

 

更に、kotlinのbuild.gradleについてもjar化する上で忘れちゃ困るので以下に書きます!

jar {
copy {
from configurations.compile
into “output/lib”
}
def manifestClasspath = configurations.compile.collect{ ‘lib/’ + it.getName() }.join(‘ ‘)
manifest {
attributes “Main-Class” : “com.improve_future.first_kotlin.MainKt”
attributes ‘Class-Path’: manifestClasspath
}
from (configurations.compile.resolve().collect { it.isDirectory() ? it : fileTree(it) }) {
exclude ‘META-INF/MANIFEST.MF’
exclude ‘META-INF/*.SF’
exclude ‘META-INF/*.DSA’
exclude ‘META-INF/*.RSA’
exclude ‘**/*.jar’
}
copy{
from “src/main/resources”
into “output/config”
}
destinationDir = file(“output”)
archiveName = ‘exe.jar’
}

これです。

jar作る際に必要となるjarをコピーして、マニフェストを定義して、更にリソースファイルを全てコピーして、jarやらコピーしたファイルの置き場所を定義しています。

ちなみにこの記述はここを参考にさせていただきました。

すごく助かりました。

これでとりあえずkotlinで作ったコードをjar化してOrangePiで実行できます!

以上!メモでした。

よろしくお願い致します。

VPS借りる上でこのページが無かったら詰んでたっていうページを紹介

どうもこんにちわこんばんわ

サタルタンです。

 

ここのところやることないのに寝続けたらやることあるけどやらなかったりと何もしてないのに時間が過ぎていくという毎日を過ごしていました。

仕事が時々辛い!

仕様不明確なのに参考にしてやれと言われ独自に補足しつつ作成するとこれじゃないみたいな感じで怒られたの辛い!

あ、この場では愚痴を書くとこじゃなかった。

日本語が変とかも言われるし。。。昔からよく言われてるけどどうしろっていうんだよ!

あ、この場では愚痴を書くとこじゃなかった。(2回め)

 

さて本題です。

今回はConohaサーバーのVPSを借りて作業する上でこのページ無かったらめちゃ困ったってのを紹介します。

  1. ConohaにVPSを設置して、SSHログイン、ポート番号変更、rootログイン禁止までを30分で!

  2. ConoHaVPSを借りてみたけど、SSHでのログインに手こずった件

  3. MySQLでの「Access denied for user ‘root’@’localhost’ (using password: NO) 」への対処

の3つです。

ブラウザからSSHログイン出来たけどターミナル(MAC故に)でどうやってすんの〜?

MySQLで変なの出たんだけど〜?

を解決するのに役に立ちました。

ぶっちゃけ借りたサーバーを有効活用するプログラム作れてないから保留してるダメダメなやつなんだけどお世話になったサイト(記事)くらいは紹介しておこうと思います。

1つ目はConohaサーバーでの一連の流れがザックリわかります。

IPTable等もザックリわかります。

2つ目はSSHログインマジうまく行かねーを解決してくれたページです。

1つ目でわからないところをサポートしてくれて超助かりました。

3つ目はMySQLのエラーについて

これ起きて四苦八苦してはぁ?ってなってた時見つけて超絶助かりました。

これあるかないかで多分5時間位変わるんじゃないかってくらいありがたいです。

ということで紹介でした。

久々すぎてあれだったけどどれだっけ?

よくわからないので以上です。

おつ!

 

Windowsの3フレーム遅延について

こんにちはこんばんわサタルタンです。

本日は3フレーム遅延について記載します。

 


2018年5月19日 追記

記事自体忘れていたのですが、いつの間にかコメントにてご指摘いただいておりました。

ゆー さん によると下記のとおりです。

> Windows 10でdwm.exe(Aero)を切る方法

> Pstoolsの導入
https://technet.microsoft.com/ja-jp/sysinternals/pstools.aspx

> 以下のコマンドを実行する。
> taskkill /IM explorer.exe /f
> pssuspend winlogon.exe
> taskkill /IM dwm.exe /f
> explorer.exe

> 動画
https://www.youtube.com/watch?v=nnMuOxBwnKQ

Aeroを切る手順があるようです。

これにより良く出てくる3フレーム問題に対応できることになります。

私は行っておりませんので申し訳ないですが自己責任で行ってみてください。


過去記事は以下

この記事をご覧の方はWindowsのPCで3フレーム分の遅延が起こっていることをご存知でしょうか?

※ここで言うWindowsとは「Windows Vista」「Windows7」「Windows8」「Windows8.1」「Windows10」を想定しています。

さて、この遅延がなぜ発生するのかですが、一般的にはAeroと呼ばれるWindowsの画面を綺麗に見せる機能により発生していると言われています。

なので、Aeroを切ることで回避できると言われています。

参考記事はこちら

方法なども上記のページに記載されています。

 

さて、紹介したページには2つ目としてNvidiaとAMDについて記載されています。

この理由は3フレーム遅延する理由はDirectXによる問題で、ゲーム側またはグラフィックカードにて3フレーム遅延の3フレームという部分を1フレームまで落とすことが可能なのです。

3フレーム遅延の出処はこの部分だと掲示板などに書かれていました。

補足で説明しておくと、1フレーム以下はアプリケーション依存になります。
(通称0フレーム)

実際は0フレームじゃないらしく、1フレームの遅延はXPを含めた全てのWindowsにて発生するらしいです。

まぁ完全に遅延なしができればいいですが、何をどうやっても不可能なのでそこは諦めてください。

根本的にマウスのクリックやキーボードの操作、画面への出力からネットワーク速度、グラフィック生成速度など遅延は起きますし、置きまくってます。

だからこそ私は諦めてくださいと可能なら遅延を減らしたいと考えます。

 

次にWindows8以降についてですが、Aeroが切れないそうです。

なぜならONやOFFの項目がないかららしいです。

やりたい場合はAero非対応のテーマを変更することで可能らしいですが、正直な話イマイチな対応に思えます。

更に調べた結果DirectX側で3フレーム遅延が対応済みでグラフィックカードでの変更のみで良いらしいのです。

参考記事はこちら

上記の記事はすごくしっかり書かれています。

おおまかに言うとAeroを切らなくともグラフィックカード側でフレーム数を最低にして、スケーリングをグラフィックカード側で行えば気にするレベルではないということらしいです。

更にAeroを切ればと一番上で言いましたが、Aeroのプレビュー機能(Windowsのタスクバーないのアプリケーションのアイコンにマウスオーバーすると出てくる画面)により遅延が発生しているから、その機能をOFFにしたりゲームをフルスクリーン化することで対応できるとどこかで見ました。

 

よって、まとめます。

  1. Aero機能をOFFにするのが一番簡単
  2. 性能が高いのであればグラフィックカード側で対応しよう
  3. どのWindowsでも遅延が発生する
  4. DirectX側で一応この問題の対処は終了している
  5. ぶっちゃけ人間の感覚上誤差の範囲

ということですね。

面白い記事があったのでこちらを一読してみてください。

以上!お疲れ様でした。

AVAのGeForce設定

どうもこんばんわサタルタンです。

今日は主にメモ用に投稿します。

内容はAVAの設定についてです。

最近AVAの設定を見なおしたのですがなぜかFPS(フレームペート)が満足に出ない!

GTX780を使っているにもかかわらず出ない!(50〜100をうろちょろ)

気になり調べてみたところわかりやすい記事?投票?を見つけましたので紹介します。

AVA内の設定はいろいろなところに乗ってますし、項目自体多くないのでなんとでもなると思います。

http://gamy.jp/dfu-tserver/ava-gtx6xx-user-good-news

こちらです。

さて、見ればすぐわかるのですが、今回私が困った内容はマルチディスプレイの項目です。

シングルにしていましたので、遅くなっていたようです。

ここをマルチにしたところ基本的に120〜180FPSをウロウロするようになりました。

結構大事なので気をつけてくださいね!

よろしくお願いします。