Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
ウェブカメラ設定のソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
ウェブカメラ設定
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:イメージング]] [[Category:入力デバイス]] [[en:Webcam setup]] [[es:Webcam setup]] こちらは Arch Linux でウェブカメラを設定するガイドです。 ほとんどの場合、ウェブカメラは何も設定しなくても動作します。ビデオデバイス (例えば {{ic|/dev/video0}}) へのアクセスの許可は [[udev]] により管理されており、追加の設定は必要ありません。 == ロード == 最近のほとんどのウェブカメラは UVC (''USB Video Class'') に対応しており、汎用の ''uvcvideo'' カーネルドライバモジュールによりサポートされています。あなたのウェブカメラが認識されているかどうか確かめるには、ウェブカメラを接続した直後に [[dmesg]] を実行してください。以下と似たようなものが出力されるはずです: {{hc|# dmesg {{!}} tail| sn9c102: V4L2 driver for SN9C10x PC Camera Controllers v1:1.24a usb 1-1: SN9C10[12] PC Camera Controller detected (vid/pid 0x0C45/0x600D) usb 1-1: PAS106B image sensor detected usb 1-1: Initialization succeeded usb 1-1: V4L2 device registered as /dev/video0 usb 1-1: Optional device control through 'sysfs' interface ready usbcore: registered new driver sn9c102}} UVC 以前のウェブカメラの中には、''gspca'' カーネルドライバモジュールによってサポートされているものもあります。このフレームワークでサポートされているデバイスの完全ではないリストは [https://docs.kernel.org/admin-guide/media/gspca-cardlist.html gspca cards list] を見てください。 あなたのウェブカメラがカーネルのドライバによってサポートされていない場合、外部のドライバが必要となります。まず、ウェブカメラの名前を調べます ({{ic|lsusb}} などを使って)。次に、ウェブカメラに関する情報やリソースが載っている [https://www.linuxtv.org/wiki/index.php/Webcam_devices webcam devices] を見ます。あなたのウェブカメラと互換性のあるドライバを見つけたら、それに対応する[[カーネルモジュール]]を {{ic|/etc/modules-load.d/webcam.conf}} に追加する必要があります。これで、ブートの init ステージでドライバがカーネルにロードされるようになります。 {{Note|ウェブカメラを操作するために使用される、Linux カーネルからユーザスペースへの API は、''Video4Linux2'' 略して '''v4l2''' という名前です。v4l2 に対応しているアプリケーションは全て、カーネルのドライバで動作します。}} == 設定 == 明るさや色調などのウェブカメラのパラメータを設定したい場合 (例: デフォルトの色調が青・赤・緑みがかっている場合など)、''Qt V4L2 Test Bench'' を使うことができます。これを実行するには、{{Pkg|v4l-utils}} を[[インストール]]して、{{ic|qv4l2}} を実行してください。このツールは、設定可能な項目を一覧表示します。それらの設定を変更すると、すべてのアプリケーションに影響します。 === コマンドライン === {{Pkg|v4l-utils}} は、等価なコマンドラインツールである {{ic|v4l2-ctl}} もインストールします。すべてのビデオデバイスを一覧表示するには: $ v4l2-ctl --list-devices ビデオデバイスの設定可能な項目を一覧表示するには: $ v4l2-ctl -d /dev/video0 --list-ctrls === 設定の変更を永続化する === V4L2 を通して加えられた設定は、ウェブカメラが切断されたり再接続されると破棄されます。{{ic|v4l2-ctl}} と [[udev]] ルールを使って、特定のカメラが接続されるたびに設定を適用することができます。 例えば、特定の Logitech ウェブカメラに対して、それが接続されるたびにデフォルトの拡大設定を適用するには、以下のような [[Udev#udev ルールの例|udev ルール]]を追加してください: {{hc|/etc/udev/rules.d/99-logitech-default-zoom.rules|2= SUBSYSTEM=="video4linux", KERNEL=="video[0-9]*", ATTR{index}=="0", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0892", RUN+="/usr/bin/v4l2-ctl -d $devnode --set-ctrl=zoom_absolute=170" }} 上記のルールは、Logitech C920 HD Pro Webcam (ハードウェア ID 046d:0892) で有効です。 デバイスのベンダ ID とプロダクト ID は、{{ic|lsusb}} を使って調べることができます。これらの ID は、製品ごとにユニークで、製品が新しいハードウェアリビジョンにならない限り変更されません。 プロダクト名やシリアル ID のような udev の属性を調べるには、[[Udev#デバイスの属性を一覧する]] を見てください ([[Udev#固定デバイス名の設定|ビデオデバイスに対して固定デバイス名]]を設定することもできます)。 === ノートパソコンの内蔵ウェブカメラを無効化する === USB で接続されているカメラだけが見えるようにするために、場合によってはノートパソコンの内蔵ウェブカメラを無効化する必要があります。udev ルールで内蔵ウェブカメラを無効化できます。 まず、{{ic|lsusb}} を使って、デバイスのベンダ ID とプロダクト ID を手に入れる必要があります: {{hc|lsusb|2= Bus 001 Device 008: ID 1bcf:28c1 Sunplus Innovation Technology Inc. Integrated_Webcam_HD }} 次に、このデバイスが検出されたらすぐにデバイスを取り除くための udev ルールを新しく追加します: {{hc|/etc/udev/rules.d/40-disable-internal-webcam.rules|2= ACTION=="add", ATTR{idVendor}=="1bcf", ATTR{idProduct}=="28c1", RUN="/bin/sh -c 'echo 1 >/sys/\$devpath/remove'" }} == アプリケーション == [[アプリケーション一覧/マルチメディア#ウェブカメラ]] も見てください。 === xawtv === ベーシックな ''Video4Linux2'' デバイスビュアーです。TV チューナーカードで使うことが想定されていますが、ウェブカメラでも問題なく動作します。ウィンドウにウェブカメラの映像を表示します。 {{AUR|xawtv}} を[[インストール]]し、以下のコマンドで実行してください: $ xawtv -c /dev/video0 エラーが発生する場合は、[[#xawtv と nvidia カード]] を見てください。 === VLC === [[VLC]] を使ってウェブカメラを表示したり記録することもできます。VLC の「メディア」ニューから「キャプチャーデバイスを開く」ダイアログを開いて、ビデオとオーディオのデバイスファイルを入力してください。もしくはコマンドラインから次を実行してください: $ vlc v4l2://:input-slave=alsa://:v4l-vdev="/dev/video0" これで VLC はウェブカメラのミラーを作ります。 * 写真を撮影するには、''Video'' メニューの ''Snapshot'' を選択してください。 * 動画を記録するには、{{ic|--sout}} 引数を追加します、例: $ vlc v4l://:v4l-vdev="/dev/video0":v4l-adev="/dev/audio2" --sout "#transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mpeg1,dst=/tmp/test.mpg}}" (明らかにこのビットレートは大げさですが、テスト目的であれば問題ありません)。デフォルトではビデオを表示しないことに注意してください。録画中のものを見るには、引数に表示先のディスプレイを追加する必要があります (ハードウェアの負担は増えます): ... :duplicate{'''dst=display''',dst=std{access= .... VLC がウェブカメラを検出しない場合は、{{Pkg|zvbi}} パッケージがインストールされていることを確認してください。 === MPlayer === [[MPlayer]] を使ってウェブカメラのスナップショットを撮るには、ターミナルから次のコマンドを実行します: $ mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot ここから {{ic|s}} を押すことでスナップショットが作られます。スナップショットはあなたのカレントフォルダに {{ic|shotXXXX.png}} と保存されます。 連続動画を記録したい場合: $ mencoder tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o ''filename''.avi {{ic|Ctrl+c}} を押せば録画が終了します。 デフォルト (ほとんどの場合 YUYV) の代わりに MJPEG をピクセル形式として使って [[MPlayer]] で動画を再生するには、以下を実行することで可能です: $ mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0:outfmt=mjpeg -fps 15 === mpv === [[mpv]] を使ってウェブカメラの画像を取得するにはターミナルから以下のコマンドを実行: $ mpv av://v4l2:/dev/video0 --profile=low-latency --untimed {{ic|s}} を押すことでスナップショットが取得されます。スナップショットはカレントフォルダに {{ic|mpv-shot''NNNN''.jpg}} という名前で保存されます。 デフォルト (ほとんどの場合 YUYV) の代わりに MJPEG をピクセル形式として使って [[MPlayer]] で動画を再生するには、以下を実行することで可能です: $ mpv --demuxer-lavf-format=video4linux2 --demuxer-lavf-o-set=input_format=mjpeg av://v4l2:/dev/video0 こうすることで、品質とパフォーマンスが劇的に向上することがあります (例えば 5FPS -> 30FPS)。 ウェブカメラの設定を調整するには (解像度など)、[https://github.com/mpv-player/mpv/wiki/Video4Linux2-Input mpv のドキュメント] を見てください。 === FFmpeg === ウェブカメラの無いノートパソコンの場合、droidcam の代替として IP カメラを使用できます。こうすることで、追加のウェブカメラデバイスがかさばることはありません。Android の場合、[https://play.google.com/store/apps/details?id=com.pas.webcam IP ウェブカメラ]のようなものを携帯電話でホストし、ノートパソコンのビデオ入力として IP カメラを使用できます。まず、{{Pkg|linux-headers}} と {{Pkg|v4l2loopback-dkms}} をインストールしてください。次に、{{ic|v4l2loopback}} を使ってビデオソースに {{ic|v4l2loopback}} として接続してください、携帯電話の IP アドレスが {{ic|192.168.1.xxx}} であるとすると: # modprobe v4l2loopback exclusive_caps=1 $ ffmpeg -i http://192.168.1.xxx:8080/video -vf format=yuv420p -f v4l2 /dev/video0 {{Note|{{ic|1=exclusive_caps=1}} は、一部の Chrome/WebRTC アプリケーションでビデオ入力が利用できない問題を解決します [https://github.com/umlaeute/v4l2loopback#options]。}} == トラブルシューティング == === V4L1 サポート === Linux カーネルのバージョン 2.6.27 で、レガシーな Video4Linux (1) API のサポートが打ち切られました。Video4Linux バージョン 2 はカーネルスペースでのデコードをサポートしていないため、ピクセル形式のデコードはユーザスペースで行うようになりました。libv4l ライブラリは、ユーザランドのアプリケーションにピクセルデコードサービスを提供し、ほとんどのプログラムで使用されるようになるでしょう。他の互換レイヤも利用可能です。 '''デバイスファイルが作成されたが、画像がおかしい場合 (例えば、ほぼ完全に緑になっている)、おそらく以下のことを行う必要があります。''' アプリケーションが V4L2 に対応しているが、ピクセル形式に対応していない場合、以下のコマンドを使ってください: LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so application アプリケーションが古いバージョンの V4L にしか対応していない場合、以下のコマンドを使ってください: LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so application {{Tip|1=上記の長いコマンドを毎回入力する手間を省くために、以下のような行を {{ic|/etc/profile}} か [[xprofile]] に追加することができます: {{ic|1=export LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so}} あるいは {{ic|1=export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so}}}} 32ビットの [[multilib]] アプリケーションの場合は、{{Pkg|lib32-v4l-utils}} パッケージを[[インストール]]して、上記のコマンドの {{ic|/usr/lib/libv4l/}} の部分を {{ic|/usr/lib32/libv4l/}} に置き換えてください。 === xawtv と nvidia カード === nvidia のグラフィックカードを使用していて、以下のようなエラーが発生する場合: X Error of failed request: XF86DGANoDirectVideoMode Major opcode of failed request: 139 (XFree86-DGA) Minor opcode of failed request: 1 (XF86DGAGetVideoLL) Serial number of failed request: 69 Current serial number in output stream: 69 xawtv を {{ic|$ xawtv -nodga}} として実行する必要があります。 === Microsoft Lifecam Studio/Cinema === 特定の設定下で、Microsoft lifecam studio/cinema は過大な usb 帯域を要求して失敗します、[https://www.ideasonboard.org/uvc/#footnote-13 Uvcvideo FAQ] を見て下さい。この場合、{{ic|uvcvideo}} ドライバーを {{ic|1=quirks=0x80}} でロードしてください。以下を {{ic|/etc/modprobe.d/uvcvideo.conf}} に追加します: {{hc|1=/etc/modprobe.d/uvcvideo.conf|2= ## fix bandwidth issue for lifecam studio/cinema options uvcvideo quirks=0x80 }} {{Note|ログで遅延が確認できたり、カメラが断続的に動作する場合、上記の方法で解決できます。{{ic|1=quirks=0x100}} のように大きな値を使うことも可能です。}} === Skype === ウェブカメラをテストする際は、以下のことに注意してください: * echobot は videochat をサポートしていません。ウェブカメラをテストするために使用しないでください。 * Skype は異なるビデオデバイス/カメラデバイス (/dev/video*) を認識するかもしれません。これらのデバイスは、カメラの設定画面のドロップダウンメニューで "integrated camera..." のようにリストアップされます。それぞれのカメラを試し、数秒間待ってください (別のカメラに切り替えるのに時間がかかるからです)。 === USB ウェブカメラにより使用されている帯域幅を確認する === ひとつの USB バスで複数のウェブカメラを使用した場合、USB バスの帯域幅が足りずにウェブカメラが機能しなくなることがあります。{{AUR|usbtop}} パッケージの ''usbtop'' ツールで問題を診断できます。 === ビデオストリームを反転させる === ビデオストリームが反転している場合、反転しているビデオをさらに反転させる仮想ビデオカメラを作成することができます。{{Pkg|v4l-utils}} と {{Pkg|v4l2loopback-dkms}} を[[インストール]]する必要があります。仮想ビデオカメラを作成してください: # modprobe v4l2loopback 新しく作成したカメラの名前を確認してください: $ v4l2-ctl --list-devices Dummy video device (0x0000) (platform:v4l2loopback-000): /dev/video1 これで、{{Pkg|ffmpeg}} を実行して、実際のウェブカメラ (ここでは {{ic|/dev/video0}}) からビデオを読み出し、それを反転させて、仮想カメラに書き込むことができます: $ ffmpeg -f v4l2 -i /dev/video0 -vf "vflip" -f v4l2 /dev/video1 ここで、{{ic|vflip}} はビデオストリームを垂直方向に反転させます。水平方向に反転させるには {{ic|hflip}} を使用してください。 エラーを避けるために、format 引数 {{ic|yuv420p}} が必要かもしれません。そうしないと、ビデオストリームを取得できず、黒画面が表示されるかもしれません [https://stackoverflow.com/questions/61485726/ffmpeg-flip-horizontally-webcam-to-virtual-video-camera/63943783#63943783]。言い換えると: $ ffmpeg -f v4l2 -i /dev/video0 -vf "hflip,format=yuv420p" -f v4l2 /dev/video1 これで、アプリケーションで "Integrated" カメラの代わりに "Dummy" カメラを使えるようになります。 === 画像の品質が悪い === 画像が明るすぎたり、暗すぎたり、露出が高すぎたりする場合、{{AUR|v4l2ucp}} をインストールして画像出力を調整できます。 {{TranslationStatus|Webcam setup|2022-08-19|740012}}
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
ウェブカメラ設定
に戻る。
検索
検索
ウェブカメラ設定のソースを表示
話題を追加