web-dev-qa-db-ja.com

倒立ラップトップウェブカメラビデオを修正する方法

ASUS N61JQラップトップでUbuntu 16.04を使用しています。 viberまたはfacebook(chrome経由)からのビデオ通話を使用すると、Webカメラが反転画像をフィードします。私はそれを修正する方法を疑問に思っています。 2つの別個のアプリケーション(ViberとChrome)にこれがあるため、アプリケーション固有ではないと考えています。

インターネットで修正を探している間、Skypeでこれを修正する方法を説明する多くのケースを見つけました。走った

Sudo apt-add-repository ppa:libv4l/stable
Sudo apt-get update
Sudo apt-get upgrade

libv4l-0 libv4lconvert0をインストールして再テストしましたが、修正はありません。

Viberとchromeは32ビットアプリケーションではないため、これらのソリューション(たとえば here )をこれ以上フォローしていません。 here のメソッドを使用して、viberが実際に64ビットであることを確認しました。

スカイプ修正と同様のことをする場合に変更する必要があると予想されるファイルの行を含めています:

$ cat /usr/share/applications/viber.desktop | grep Exec
Exec=/opt/viber/Viber

そして

$ cat /usr/share/applications/google-chrome.desktop | grep Exec
Exec=/usr/bin/google-chrome-stable %U
Exec=/usr/bin/google-chrome-stable
Exec=/usr/bin/google-chrome-stable --incognito

Viberとchromeが適切に動作する回避策を実装するために、これらの行を変更する方法と64ビット用のlibv4lパッケージの入手先がわかりません。

根本的な問題を解決するために、Unityの「Search Your Computer」システム設定でカメラ/ビデオ設定を探すことから始めました。しかし、何も見つかりませんでした。私も実行します:

$ ls /dev/video*
/dev/video1

しかし、私はその結果から何を作るべきかわかりません。実行後も

Sudo lshw -sanitize

私は、巨大な出力に沿ってどこかに行きます:

*-usb:0
                  description: Video
                  product: USB2.0 UVC 2M WebCam
                  vendor: USB2.0 UVC 2M WebCam
                  physical id: 2
                  bus info: usb@1:1.2
                  version: 2.02
                  serial: [REMOVED]
                  capabilities: usb-2.00
                  configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s

これからドライバーを見つけようとしましたが、何も見つかりませんでした。例えば:

$ ll /lib/modules/4.4.0-28-generic/kernel/drivers | grep uvcvideo

何も返しません。私も実行します:

$ lsmod | grep uvcvideo
uvcvideo               90112  0
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_v4l2         28672  1 uvcvideo
videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2
videodev              176128  4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
media                  24576  2 uvcvideo,videodev

(インターネットによると)ドライバーのステータスが表示されます。しかしそれを解釈することはできません。

修正するためにいじくり回せるドライバーのファイルがどこかにあるはずですが、どうすれば見つけることができますか?

4
Karsus

私はこれについて調査を続け、一時的な解決策を思いつきました。 this answerからの情報も役立ちました。

ここでの主な違いは、アプリケーションが64ビットであるため、以前のソリューションを完全にフォローできなかったことです。 libv4lをインストールした後、LD_PRELOAD変数を設定するために64ビットバージョンの互換ファイルの適切なパスを見つける必要がありました。周りを見回した後、私はこれを行うことができることがわかりました:

 $ dpkg -L libv4l-0 | grep compat
 /usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so

これとVeazerの答えは、viber.desktopファイルを変更することで回避策を完了するのに役立ちました。重要:変更を行う前に、バックアップを作成します。例:

Sudo cp /usr/share/applications/viber.desktop /usr/share/applications/viber.desktop-original

その後、viber.desktopファイルを変更するために必要なすべての情報を取得します。 1行だけ変更する必要があります。次の変更により、viberの問題が修正されます。

$ cat /usr/share/applications/viber.desktop | grep Exec
Exec=sh -c 'export LIBV4LCONTROL_FLAGS=2 && LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so /opt/viber/Viber'

カメラの反転の整数値2に注意してください。

同じアプローチでchromeを修正することも期待していますが、後で対処します。誰かがウェブカメラドライバーの根本的な問題を解決するのを助けてくれない限り。

2
Karsus

Chrome/Chromiumベースのブラウザでの反転/反転ラップトップウェブカメラビデオの修正について-数日前、ASUS P52FラップトップをUbuntu 16.04.1と同等のLinux Mint 18 XFCEに更新しました。 Chrome Webブラウザのみを使用して、ハングアウトやFacebookで「逆さま」のWebRTCビデオに直面しました。 Firefoxは正常に動作します。チーズもビデオを適切に表示します。

いくつかのグーグル検索の後、私は このバグレポート を見つけました。コメント22では、2年前に0001-Use-libv4l2-for-Linux-V4L-grabber.patchが提案され、Chrome/Chromiumの動作を修正していることがわかります。 1年以上の間、libv4l2がChromiumに追加されましたが、Linuxでは有効になっていません。議論全体はバグ報告スレッドで見ることができます。長い話を簡単に言えば、彼らは現在、ほぼ一年間これを修正することに積極的に取り組んでいないようです。しかし、いくつかのい回避策があります...

Chromeに Flip this 拡張機能を追加できます。ウェブカメラの動画やウェブページの他の要素を反転できます。ローカルでのみ反転するため、Chrome経由で会話する人も同じトリックを使用する必要があります。それはきれいではありませんが、それは働いています...まあ、一種の; )結局、Firefoxに切り替える方が、より良い、より快適なソリューションかもしれません。乾杯!

3
Dawid M.

これは私のために働いた:

  • Ubuntu Desktop、
  • Ubuntu 18.04 LTS、
  • ASUS F3Eシリーズ

問題:

  • Skypeビデオカメラの上下逆さま
  • Skypeバージョン8.48

解決:

Sudo nano  /usr/bin/skypeforlinux

最後の行を更新します。

#!/bin/sh

SCRIPT=$(readlink -f "$0")
USR_DIRECTORY=$(readlink -f $(dirname $SCRIPT)/..)

SKYPE_PATH="/usr/share/skypeforlinux/skypeforlinux"
SKYPE_LOGS="$HOME/.config/skypeforlinux/logs"

mkdir -p $SKYPE_LOGS

echo "$SKYPE_PATH"

# was this
#Nohup "$SKYPE_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$SKYPE_LOGS/skype-startup.log" 2>&1 &

# changed to
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so /usr/share/skypeforlinux/skypeforlinux  > "$SKYPE_LOGS/skype-startup.log" 2>&1 &
1
dm3942

私はDebianを使用していますが、これが私が適用し、うまく機能しているソリューションです。

  1. パッケージlibv4l-0がインストールされていることを確認してください(source:v4l-utils)
  2. ファイルを見つけます:/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so
    または/usr/lib/x86_64-linux-gnu/libv4l/v4l2convert.so
  3. ターミナルを開き、以下を入力します。

    LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so  /usr/bin/skypeforlinux
    

Skypeが起動し、通常どおりログインし、開いたらカムを修正する必要があります。

幸運を!!

1
viktorkh

Skypeバージョン8以降は基本的にWebアプリなので、libv4lライブラリを使用した古いトリックは機能しなくなります。もう不可能だとわかるために何時間も失いました。

そのため、ソフトウェアソリューションが存在しないため、ハードウェアソリューションに移行しました。 外部Webカメラ ...を購入しましたが、問題なく動作します。
さらに、ようやく、Asus Kシリーズのラップトップに内蔵されているカメラの品質が非常に低いことに気付きました。私の外部の方がはるかに優れています。最後に、何年もたってから、私の発信者ははっきりと、そしてもっと重要なことに私を見ることができます:正しく:-)

1
G. Demecki

v4l-utilsユーティリティを含むv4l2-ctlパッケージをインストールします。

Sudo apt-get install v4l-utils

次に、.profileを編集します。

nano ~/.profile

最後に追加します:

# Flip webcam video
v4l2-ctl -c vertical_flip=0
v4l2-ctl -c vertical_flip=1

(ダブルコマンドは意図的です)

1
José

1)ユーティリティのインストール:

$ Sudo apt-get update
$ Sudo apt-get install v4l-utils
$ Sudo apt-get install v4l2loopback-utils

2)ダウンロード v4l2loopback

3) 'v4l2loopback-master'フォルダーを解凍します

4)v4l2loopbackモジュールのコンパイル:

$ make

5)インストール:

$ Sudo make install

6)デバイスを有効にします:

$ Sudo modprobe v4l2loopback exclusive_caps=1

7)デバイスが有効になっているかどうかを確認します。

$ v4l2-ctl --list-devices

Dummy video device (0x0000) (platform:v4l2loopback-000):
  /dev/video1

USB2.0 UVC 2M WebCam: USB2.0 UV (usb-0000:00:1a.0-1.2):
  /dev/video0

8)ffmpeg経由でWebカメラのビデオストリームをコピーします。

$ ffmpeg -f v4l2 -i /dev/video0 -vf "vflip" -f v4l2 /dev/video1

9)好みのビデオアプリケーション(スカイプ、ハングアウト、ズームなど)を開き、「ダミービデオデバイス」を選択します。

パラメーターの詳細については、次を参照してください。

https://ffmpeg.org

https://www.ostechnix.com/20-ffmpeg-commands-beginners/

https://github.com/qTox/qTox/wiki/Video