
TL;DR:内蔵スクリーンウェブカメラのフィードを90度回転できますか?
2つのスクリーンモニターがあり、1つは水平モード、もう1つは垂直モードです。 Webカメラは「垂直」モニタにあり、「水平」モニタには回転機能はありません(したがって切り替えることはできません)。 2番目の画面のディスプレイは、xrandrを使用してarandrを介して回転します。しかし、ウェブカメラはまだ物理的な回転がないかのようにキャプチャしますが、これはビデオ会議に問題があります。ビデオソースを調整する方法が欲しいドライバーレベルでこれにより、他のアプリケーションで使用できます。
v4l2-ctlを試してみましたが、「回転」機能が見つかりませんでした(たとえコントラスト/トーン/などの設定オプションがたくさんあるにもかかわらず)。私は利用できる
私のディストリビューションはArchlinuxですが、ここでは関係がないと思います。縦画面はフィリップス271P4Qです。統合Webカメラ用Lsusb出力:
Bus 001 Device 005: ID 04ca:7054 Lite-On Technology Corp.
やるべきことがなければしかし、また、状況を改善するためにこの問題を誰に報告できるかを知りたいです(Xorg開発者?Linuxカーネル開発者?)。
これに関するご意見をお寄せいただきありがとうございます。
答え1
説明したようにこれを行うことができます。ここ。設置modprobe
とv4l2 ループバックモジュール(コンパイルが必要な場合があります)を使用して新しいビデオデバイスを作成し、次の手順でWebカメラビデオストリームをそのデバイスにコピーしますffmpeg
。
ffmpeg -f v4l2 -i /dev/video0 -vf transpose=1 -f v4l2 /dev/video1
答え2
1)ユーティリティをインストールします。
$ sudo apt-get update
$ sudo apt-get install v4l-utils
$ sudo apt-get install v4l2loopback-utils
2) ダウンロードv4l2 ループバック
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
パラメータの詳細を見ることができます。