大変遅くなりましたm(_ _)m だって忙しいんだもん(汗)
今回の主な変更内容は…ぶっちゃけ中身的には半分以上作り変えてるんで半ば全部^^;ってのは置いといて
- Android6の新しいパーミッションモデルに対応しました。
ぶっちゃけめんどいです。しかもグルグル先生は単に責任転嫁したいだけでバックグラウンドで動くサービスのことなんてかけらほども考えてないので解決できない問題が色々と(●`ε´●)例えばパーミションを要求&取得できたのでバックグラウンドで外部ストレージへ書き込んでいる最中にアプリの設定でパーミッションを落とすとぶっ飛んでファイルも壊れます(●`ε´●)確かめなくていいけど。アプリ側はファイル/ストリームを閉じてAPI内部でバッファのフラッシュ中なだけであってもだめみたいです。
アプリ設定でのパーミッション変更は、特にパーミッションを落とす方は次回起動時とか次にファイル開く時とかから有効にすべきじゃね? - ライセンス認証方法を変更。
これに伴い端末ステータスとIDの読み込みパーミッションを削除しました。
詳しくは…内緒ね^^ - MJPEG展開を高速化しました。
平均的には15%ぐらい、最大だと25%ぐらい速くなってます。
最初の頃から比べると機種によっては2倍以上高速化\(^o^)/
これ以上となるとマルチスレッドで展開するぐらいしか思いつきません。 - UI修正
最近の解像度の大きい端末とかでアイコン等がちっちゃくなってしまうのとかを修正 - バギーなカメラとの互換性を向上しました。
世の中にはイカれたカメラが一杯あるんだなぁ(TT) - 静止画撮影時のフィードバックとしてサムネイル表示するようにしました
静止画撮影時に従来はシャッター音を鳴らすだけでしたが、今回からは撮影&保存後に丸くサムネイル映像を表示するようにしました。解像度が高い時にサムネイル表示まで時間がかかるのは端末が遅いからであって自分のせいではありませ〜んキッパリ。副作用でサムネイル表示される前に次の静止画を撮影しようとすると画面の更新が止まります(汗) - バックグラウンドモードでの不具合を修正しました。
Android4.1.2(API16)については現在はバックグラウンドモードに対応していません。
今はJavaで処理しているので、Android4.1.2のボケた制限でバックグラウンドモードが難しいんだけど、ネイティブ側ですれば可能なのは知ってます。でもAndroid4.1.2ってまだサポートせんとあかんかっってのが素朴な疑問としてあるし。グルグル先生だってそんなのはもう知らんって言っとるのに–;
実験的機能なので苦情は受け付けません^^;要望やフィードバックはOK^^ - UVCStreamerもバックグラウンドモードに対応しました。
これもAndroid4.1.2については現在はバックグラウンドモードに対応していません。
これもまだ実験的機能なので苦情は受け付けません^^;要望はフィードバックはOK^^ - UVCStreamerのサーバー設定時の不具合を修正
たぶんツイキャスのURLも大丈夫なはずm(_ _)m - UVCStreamerでサーバーとの通信断時に自動で再接続を試みるようにしました
でもこれについては特にまだまだ不具合がありそう
今回は他の変更点が多いのでH.264については見送りました。次回ですかね。
次回以降の変更・追加機能:
- H.264のサポート
ぶっちゃけ機能自体は出来てて無効にしてあるだけですが。 - 静止画撮影時のファイルフォーマットにJPEGを追加
今はpngだけですが、native側で直接圧縮しても重いので(´・ω・`)JPEGも追加しようと思います。 - 画面ロック機能
誤操作防止機能が欲しいという要望があるので追加したいと思います。でも正直良いUI/UXが思いつかないんだよなぁ。今のところ鍵のアイコンの長押しでON/OFFする予定。 - 内部アーキテクチャ変更
元々画面表示するってのが最大の目的で作ってきたのですが、バックグラウンドモードとか録画する映像も回転させて欲しいとか要望が増えてきて段々面倒になって来たり対応しづらかったりするので、従来はカメラとの通信も受け取った映像データのハンドリングもまとめて処理していたのを、通信部分と映像データのハンドリング等を分割して映像データのハンドリング部分をフレキシブル/動的に変更できるようにします。名づけてパイプライン化(^^)v 映像を回転させたり映像効果を加えたりといった処理をカメラとの通信部分に殆ど影響を与えずに追加できるようになる予定。
というか諸般の事情で大部分は既に出来てるんですけどね。 - フィリップスの古い非UVCカメラ対応
天文ファンからよくお願いされるのでぼちぼち頑張ってます。仕様がはっきりしてないので手探りですが昨年末に1台手にいれたのでそのうち対応できると思います。 - UACのその他の機能を実装
気が向けば^^; - UVC以外のUSB接続の映像機器への対応
これはいつになるかわかりませんm(_ _)m - ネットワークカメラ的に振る舞うための機能を作成
UVCStreamerに追加するかもしくは別アプリとして作るかは未定ですが、内蔵/UVCカメラをネットワークカメラとして使えるようにしたいです。UVCStreamerは外部のストリーミングサーバーへアップするだけですが、自らがサーバーとして動作するってことです。 - 追記:スマホ/タブレットの画面自体を配信
とかとか。
よろしくお願いします。
コメント
こんばんわ
有償にて使わせていただいております。
YouTube対応は、見込みありそうですか?
こんばんは。
ありがとうございます。
YoutubeはFlash Media Live Encoder(FMLE)でも配信できるようなので技術的には可能そうです。
今はちょっと手が回っていませんが、配信サービス毎にオレオレ仕様な独自APIへアクセスしないといけないので、今のままだとアプリ側がごちゃごちゃになってしまうのを何とかしようと企んでいます。それが出来ればもっと簡単に色んな配信サービスを追加対応できるんじゃないかなぁっという状態です。
Hi, can you implement auto start recording when application is launched,pls?
Thanks, Lukas
Hi,
Thank you for providing suggestion. I will consider to implement requested feature on future release.
saki
こんにちは! UVCStreamerのアップデートを試しましたが、NEXUS5 6.0.1でアプリ内課金が適用されなくなりました。以前から同じGoogle IDで他のスマホにインストールしても、アプリ内課金は購入済みになっていますが、無課金状態でしか使えませんでした。この症状は再インストールしても治りませんでした。
URLについてですが、ツイキャスで?以降がパラメータの所に書き込まれるようになりましたが、何故か3回?同じ構文が繰り返されます。それが原因かは不明ですが、配信は失敗します。(解像度云々のメッセージ)
以上、報告でした。
宜しくお願いします。
こんにちは。早速のご確認ありがとうございます。
アプリ内課金についてですが、こちらでも再度確認してみますが、Androidのアプリ設定の画面からデータを消去してから起動していただいてもだめでしょうか?(課金結果についてはGoogle Play側で保持しているものを再取得します)
従来はREAD_PHONE_STATEというパーミッションを付けて端末固有IDを取得してそれを使って課金情報等を暗号化して保持していましたが、(個人情報がどうという人が増えてきて面倒なので)今回のバージョンアップから違う形で暗号化するように変更したので古いデータが残っていると読み込めなくなります。
?付きの配信URLの件、もう一度確認して修正したいと思います。
saki
こんばんは。
アプリ内課金の件ですが不具合箇所が判明したの修正しました。端末間のチェックを無効にしてたつもりが有効になってしまってました。申し訳ありません。
先ほどアップロードしたので数時間ぐらいで更新通知が行くと思います。
?付きURLの方はもうしばらくお待ち下さい。
よろしくお願いします。
saki