flv(aac)のMediaSequenceHeaderの場合、frameが取得できないので、nullがくることがあります。

よって、nullの場合は動作しないようにしておきます。
aacFrameはadts形式のデータとして、転送されてくることが確定したので、対応するframeAnalyzerを利用するようにしてみました。
frameの動作がばらばらになって、利用しにくくなっていたので
FrameHandlerをベースに、FrameInputとFrameOutputがある状態にしたいと思います。
基本的にmyLibにある全frameにデフォルトで対応する形にしておきます。
warningがでていてうっとおしいので押さえておきました。

このEasyRestServerの動作は当面はいらないですね。
とりあえずはredisがその役目を担っていますし・・・
CodecTypeとShareFrameDataもFrameHandlerの中にもっていきました。
frameCheckerやAnalyzerCheckerをデフォルトありきにして、必要なら外部から設定できるようにしておいた。
h264やh265用の外部からshareFrameDataの共有データを送り込めるようにしてみました。
とりあえず、pipeをつかって、ffmpegをキックするのに成功しました。

なお、一番はじめの起動時に、起動がうまくいかないことがたまにある模様です。
はじめになるはやでkeyFrameがこないのが問題っぽい。
対処するために、keyFrameを強制挿入してやっておいた方がよさそう。
どうやって実装するかね・・・
標準入力として、mkvをうけとって動作するモジュールの開発をはじめます。
標準入力を受け取ってmkvとして解析する動作を書いてみました。

とりあえずテストはできた。
標準入力の動作テスト
接続先ポート番号を出力していましたが、消しました。
entry時にxmlファイルを指定できるようにしました。
これで、xmlを準備しておけば、起動の仕方によって動作を切り替えるみたいなことができるようになります。
ちょっと修正。
ただ、StdoutFlvOutputModuleは破棄して、FlvOutputModule(stdoutやfileoutputができるもの)
にしたいと思う。
FlvOutputという出力モジュールをつくりました
ロガー追加
DataServerの動作時のthreadをdaemon化しました。(停止しない現象が発生することがたまにあったため。)
rtmpの起動オプションが足りない場合など。
余計なログ出力をoffにしました。
stdoutFlvOutputはFlvOutputに吸収されたので、撤去しておきました。
終端処理が強制終了時に実行できない問題があったので、調整しておきました。