web-dev-qa-db-ja.com

画面だけでなくウェブカメラも回転させる(ポートレートモード)

TL; DR:内蔵スクリーンウェブカメラのフィードを90度回転させることは可能ですか?

私は、横向きと縦向きの2つの画面モニターを持っています。ウェブカメラは「ポートレート」モニター上にあります。「ランドスケープ」モニターには回転機能がないため、切り替えることができません。 2番目の画面の表示は、xrandrを使用してarandrを介して回転されます。ただし、ウェブカメラフィードは、物理的な回転がないかのように撮影されたままで、ビデオ会議の問題です。他のアプリケーションで使用できるように、ビデオフィードドライバーレベルでを微調整する方法を教えてください。

V4l2-ctlを使用しようとしましたが、「回転」機能を見つけることができません(contrast/hue/etc。には多くの構成オプションがあります)。私は使えます

私のディストリビューションはArchlinuxですが、ここでは関係ないと思います。縦画面はフィリップス271P4Qです。内蔵WebカメラのLsusb出力:Bus 001 Device 005: ID 04ca:7054 Lite-On Technology Corp.

何もする必要がない場合まだ、状況を改善するために、これを誰に報告できるかについても知りたいです(Xorg開発者ですか?Linuxカーネル開発者ですか?)。

これについてのご意見ありがとうございます。

5
raphaelfournier

here の説明に従ってこれを実行できる場合があります。インストールしてmodprobev4l2loopback モジュール(コンパイルが必要な場合があります)で新しいビデオデバイスを作成し、ffmpegを介してWebカメラビデオストリームをコピーします。

ffmpeg -f v4l2 -i /dev/video0 -vf transpose=1 -f v4l2 /dev/video1
2
meuh

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を介してウェブカメラビデオストリームをコピーします:

$ ffmpeg -f v4l2 -i /dev/video0 -vf "transpose=1,format=yuv420p" -f v4l2 /dev/video1

パラメータの詳細については、以下をご覧ください。

https://ffmpeg.org

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

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