スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« とりあえず、完成させた | トップページ | TiWebCamRecorder for Ubuntu Ver1.0.0を公開 »

瀬戸際で仕様変更

今は、Ubuntu向けのWebカメラレコーダーを開発中で、Ubuntu18.04LTS環境でバイナリを完成させたので、今日は、16.04LTS環境でも動作確認して公開しようか、と、思っていたのだが、瀬戸際で、Cheeseとの比較でマズイ現象が出たので、公開は順延して仕様を変更した。

マズイ現象というのは、開発中のWebカメラレコーダーにも、Cheeseにあったので、映像の明るさ/コントラスト/彩度/色相の調整機能を入れているのだが、この調整機能が、18.04LTSの開発環境では動作していたものの、16.04LTS環境では、正しく動作しなくなった、というモノだ。

もっとも、この機能はデバイスドライバに対して処理を要求し、実際の処理はデバイスドライバかハードウェアによって行われる機能なので、正しく動作しないのは、デバイスドライバが要求を正しく処理しないから、というだけの話ではあった訳だ。

なので、もしCheeseでも、同様に、正しく動作しなかったなら、作者的には、特に問題視はしなかったのだが、Cheeseでは、16.04LTS環境でも、正しく動作した訳だ。

と、言うことなので、Cheeseで正しく動作する機能が、作者製ソフトでは動作しない、というのは流石にマズイので、調べてみたのだが、いくらチェックしてみても、作者製ソフトの処理内容には問題が見つからなかった。

そして、要求した処理に対するデバイスドライバからの応答は、Invalid Argument、つまり、そんな機能はサポートしていない、というモノだったので、ある意味、正しく動作しない、というのが正しい状況である筈だった訳だ。

にも関わらず、Cheeseでは正しく動作していたので、作者的には、Cheeseは作者が知らないAPIを使用しているのかなあ、と、思ったりもしたのだが、考えてみると、Cheeseの映像調整機能というのは、デバイスドライバかハードウェアにやらせている保証は無かった訳だ。

つまり、作者製ソフトでも、AG-ムービーカッターやAGMPlayerには、映像調整機能があるのだが、これらの映像調整機能は、別に、ハードウェアにやらせている訳ではないので、Cheeseでも、自前のソフト処理で、これらの調整機能を実現している可能性もあった訳だ。

なので、Ubuntu18.04LTS環境でテストしてみたのだが、作者製ソフトでコントラストや明るさを映像が正しく表示されなくなるくらい変更したWebカメラの映像を、Cheeseの映像調整機能で調整してみた所では、正しく表示させる事は出来なかった。

と、言うことなので、Cheeseの映像調整機能は、デバイスドライバやハードウェアに要求してやらせているのではなく、自前の処理ルーチンでやっているんだろう、という事にして、作者製ソフトについても、同様に、自前ルーチンで調整をやる格好に仕様変更した。

その結果としては、当然の事ながら、16.04LTS環境でも、正しく動作する様になった。ただし、デバイスドライバやハードウェアに対して調整機能を働かせた場合には、作者製ソフトを終了した後にも、その調整は有効なのだが、自前ルーチンではそうはいかない。

つまり、自前ルーチンでの調整機能は自分用にしか働かないので、デバイスドライバに対して処理を要求する機能も、オプションで、残しておく事にした。

ちなみに、今現在、作者環境には、Ubuntu16.04LTSの実機環境はない。

つまり、前述の16.04LTS環境というのは、Ubuntu18.04LTSにVirtualBoxでインストールしてある環境と、MacBook Pro 15インチ 2016モデルのParallelsでインストールしてある環境のみになる。

なので、デバイスドライバはVirtualBox/Parallelsの一部、という事になる筈なので、映像が取り込めるだけでも御の字で、その調整機能まで実装されていなくても、不思議ではないかもしれない。

このため、Ubuntu16.04LTSでも、実機環境でなら、普通にデバイスドライバかハードウェアによる調整機能は働くような気もするのだが、本文のみだと、見かけ上は、Ubuntuのバージョンが問題になっている様に見える。

しかし、VirtualBoxではUbuntu18.04LTS環境も構築してあるのだが、この環境でも、作者製ソフトによる調整機能は正しく動作しなかった。

もっとも、VirtualBoxのUbuntu18.04LTS環境では、何故か、CheeseはWebカメラを検出できなかったので、Ubuntu18.04LTSと16.04LTS環境で、何らかの違いはある様ではある。

« とりあえず、完成させた | トップページ | TiWebCamRecorder for Ubuntu Ver1.0.0を公開 »

2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google