AGMDecoderは必須
今日は、来週のリリースに向けて、まずは、AGMPlayerの配布パッケージを作り始めたのだが、現行版にもAGMDecoderは添付してあったのだが、使う意味は殆ど無かった。しかし、次バージョンでは、AGM形式動画をトランスコードする場合には必須になる。
« 2013年7月 | トップページ | 2013年9月 »
今日は、来週のリリースに向けて、まずは、AGMPlayerの配布パッケージを作り始めたのだが、現行版にもAGMDecoderは添付してあったのだが、使う意味は殆ど無かった。しかし、次バージョンでは、AGM形式動画をトランスコードする場合には必須になる。
今日、Google Playの「デベロッパー プログラム ポリシー」が変更されていたので見てみたのだが、「ユーザーが無条件に広告を非表示にできるようにしてください」、という記述があった。なので、Android版の広告は外す。英文を見てみると、違う意味の様ではあるのだが。
次バージョンのAGMPlayerはAmuseGraphicsに同梱すると同時に、独立版もアップデートする。また、今回はAG-デスクトップ/Webカメラレコーダーのフリー版にも同梱してリリースするので、一日でリリースするのは危険だ。なので、リリースは来週順番に行う。
次バージョンのAGMPlayerも大体は完成したので、後は配布パッケージを作ってリリースすれば良いのだが、次バージョンは、去年の秋くらいにAGM-DCT+を開発した時に想定していた動画プレイヤーの完成形になる。なので、ここで説明ページもつくるかもしれない。
今は次バージョンのAmuseGrphicsに添付するAGMPlayerの仕上げを行っているのだが、数日前に書いた様に、一般動画のネットワーク越しでの視聴用プリフェッチのタイミングがYouTubeの動画再生時とは違ったので、調整してみたのだが、結局は、元に戻した。
今日の作業で次バージョンのAGMPlayerも大体は良い感じになった。なので、一般動画のネットワーク越しでの再生をAmuseGraphicsのレジストユーザー以外が使えなくする方法を検討していたのだが、こういった機能は使う方は当然として、作る方も、鬱陶しい。
昨日書いた様に、今日はWindows版以外のAGMPlayerの変更を行っていたのだが、Java側で調整する事で、JNIライブラリの変更は不要に出来た。なので、今日の時点で、Windows版ライブラリにある一般動画をMac/Ubuntu/Android環境で見れる様になった。
今日は、AGMPlayerのネットワーク越しの一般動画再生処理にプリフェッチ機能を追加した。その結果、再生は安定したので安心して見ていられる様になった。動画の視聴はMirror-DTCでも行えるのだが、プリフェッチがある分、AGMPlayerの方が安定する。
今日は、AGMPlayerのネットワーク越しの一般動画再生処理を改良し、一般動画のデコードとAGM形式へのエンコードとネットワーク転送とAGM形式のデコードと表示が並行動作する様にした。今日の時点ではプリフェッチはしていないのだが、ほぼ十分な性能だ。
今日は、次バージョンのAmuseGraphics用に、AGMPlayerのネットワーク対応機能を拡張し、一般動画の視聴も出来る様にした。今日の段階で、VideoCD相当のMPEG1ファイルについては、PC版でWiFi経由での視聴はスムーズなのだが、まだ、性能的には不十分だ。
昨日書いた様に、次バージョンのAmuseGraphicsに同梱するAGMPlayerでは、一般動画もネットワーク越しに見れる様にする事にしたのだが、このブログを見続けていた人は、この期に及んで!! と、思ったかもしれない。しかし、作者は、それ程、無茶はしない。
次バージョンのAG-デスクトップレコーダーにはAGMPlayerを同梱する予定だ。なので、AGMファイルの修復機能はAGMPlayerにも入れたのだが、何となく、AmuseGraphicsのレジストユーザーが怒りそうな気もするので、レジストユーザー向けの機能追加を始めた。
AmuseGraphics Ver1.2.2から、AGMファイルの書き込み中にPCをリブートしてしまっても、書き込みが完了しているデータについては、再生可能な状態に復旧できるようにした。しかし、これでは片手落ちだったので、バッファリングエンコード時の修復機能も拡張した。
今日は、AG-デスクトップレコーダーなんかでAGM形式動画の書き込み中にPCをリブートしたりして書き込みが異常終了した場合用の復旧機能を実装していたのだが、現行版だと完全な復旧は不可能と判ったので、復旧可能なのは新版から、という事にした。
昨日書いた様に、次バージョンのAmuseGraphicsでは、AGM形式動画ファイルの出力中にPCをリブートしてしまった様な場合に備えて、AGM形式ファイルの修復ツールを追加するのだが、ムービーカッターの機能として実装する事にしたのでバイナリは増えない。
次バージョンのAGMPlayerはVer1.2.2にしたのだが、作者的には、AmuseGraphicsのバージョンが1.2.1なので、困っていた。しかし、とりあえず、バージョンを上げる理由を考え付いたので、AmuseGraphicsもVer1.2.2にして、来週、同時リリースしようかと思っている。
次バージョンのAGMPlayerはネットワーク対応になり、何処かのAGMPlayerのライブラリ内の動画を何処か他のAGMPlayerで再生したり出来る様になった。処理ルーチンはJavaのみで記述したので、本質的には、JNIバイナリの変更は不要なのだが、少し変更した。
今日は、AGMPlayerにネットワーク設定ダイアログを追加し、リリース版相当機能の実装が終わった。なので、apkファイルを作成し、Tegra2-Android2.3.スマホである所のPHOTONにもインストールしたのだが、普通に動いた。当然、PHOTONもサーバーになれる。
X202Eを購入して使って見ると、噂通り、Windows8は7よりもずっと軽い感じだった。これは、Windows8は非力なタブレットでも使える様に軽量化されたからなのだが、次バージョンのAGMPlayerも同じ様な感じだ。なので、ノートPCで使えば、軽いと感じるかもしれない。
今回のAGMPlayerの変更では、ネットワーク越しのAGM動画再生をサポートし、ネットワークが安定していれば、さほどストレスなく再生できる様になったのだが、ローカル再生と比べると、様々な場面で操作が1テンポ遅れる感じになる。なので、待ち表示を追加した。
今はAGMPlayerのネットワーク対応中で、AGM形式動画の再生自体は問題が無いものの、操作性が少し悪かったので、性能的な改良を行っていた。その結果、とりあえず、普通に使う分にはストレスは無くなったので、今週は仕上げをしてリリースする予定だ。
今日もAGMPlayerのネットワーク対応処理の改良を行っていたのだが、改良用にコードを追加するに従い、ジワジワ軽くなっていっている。世の中的には、コード量が増えれば重くなる、と、思っている人もいるかもしれないのだが、実際には、そうでもない。
今はAGMPlayerのネットワーク対応中で、既にネットワーク越しでのAGMファイルの視聴は可能になっているのだが、ライブラリビューでの操作が、Android版では、もたつく感じだったので、性能面での改良を行っている。今日は、サムネイルの記録方式を変更した。
今日はAndroid版AGMPlayerのネットワーク対応機能を動く様にし、使ってみていた。暗号化を行わなかった事もあり、ネットワーク経由での再生時にもCPU性能は問題ない様で、Nexus7で720p動画もスムーズに再生できた。まだ、操作レスポンスは少し悪いのだが。
今はAGMPlayerをネットワーク対応にするための変更中で、PC版は完成したので、今日からAndroid版の変更作業に入った。変更部分はJavaコードのみなので、今日の時点で、既に変更したコードは全てJava版に入っていて、動かしつつAndroid用に変更している。
今はAGMPlayerの変更中で、進捗は順調なのだが、ブログネタには困っている。なので、8月に入ってから、@Niftyのホームページにある接続会員用の宝くじをやっていたのが、今日、当たったので、ネタにする。貰えるのは2000円分の@nifty使用権だけなのだが。
今はAGMPlayerのネットワーク対応中で、Windows環境では大体問題は無くなったので、今日は出来上がったJavaのjarファイルをMac版に適用してみた。その結果、問題が2つ出たのだが、解決出来たので、Mac<->Windowsでの動画ファイル共有が可能になった。
今はAGMPlayerをネットワーク対応にするための変更中なのだが、ネットワーク対応機能自体は使える様になったので、今日はネットワーク設定ダイアログを作成した。昨日書いた様に、ブロードキャストパケットは信頼性が低いので、接続先は手入力も可能にした。
PC版AGMPlayerへのネットワーク機能の追加は、まだ完全ではないのだが、とりあえず、この段階で使い込みを行ってみている。接続にはWiFiを使っているので、様々なタイミングでエラーが発生する。今は、そういう状況でもそれなりに動作する様に改良中だ。
今日は、AGMPlayerにサーバー機能を実装した。これで、AGMPlayer単体で、クライアントにもサーバーにもなれる様になった。当然、ネットワークアクセス機能はオプション扱いにするのだが、クライアント/サーバー機能も個別にOn/Off出来る様にする予定だ。
今はAGMPlayerをネットワーク対応にする変更中で、既にWindowsネイティブ版のサーバーを使えばネットワーク上のAGM形式ファイルを扱える様になっている。なので、次はAGMPlayerにサーバー機能を追加するのだが、その前に、コードの微調整をした。
今はAGMPlayerをネットワーク対応にするための作業中で、今日はファイルアクセスにプリフェッチ機能を入れた。この機能は、アクセス中のファイルの次の数MBを非同期に読み込んでおける機能で、ネットワークに遅延があっても安定した再生を可能に出来る。