如何更改默认网络摄像头?更改多媒体选择器中的默认设置不起作用

如何更改默认网络摄像头?更改多媒体选择器中的默认设置不起作用

我已设置 Logitech c920。在经验丰富的 Ask Ubuntu 用户的帮助下,我在这里安装了 GUVCview、Video4 Linux 控制面板和 QT V4L2 实用程序测试器。我能够使用 GUVCview 将我的东芝内置网络摄像头更改为我的外置网络摄像头。

但是,当我在 Google Hangouts 上开始视频聊天时,它会自动选择我的内置笔记本电脑摄像头作为默认摄像头。我想将默认设置更改为始终使用外置摄像头,但我找不到此选项在哪里。我在 Toshiba Satellite L755 上运行 Windows 7 和 Ubuntu 12.04 LTS

  • 内存:3.8 Gib
  • 处理器:Intel® Core™ i5-2410M CPU @ 2.30GHz × 4
  • 显卡:英特尔® Sandybridge Mobile
  • 操作系统类型 64位
  • 磁盘:40.2 GB

编辑:我尝试Gstreamer-properties在终端中将视频下的默认输入更改为 Logitech 外部摄像头。仍然没有成功。当我“测试”时,我没有得到任何图片,当我打开 GUVC 时仍然得到笔记本电脑摄像头。

第二次编辑:在终端中安装多媒体选择器后,我仍然无法在 Dash 中找到它。这是运行命令后的读数:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gconf-service is already the newest version.
gconf-service set to manually installed.
gconf2 is already the newest version.
gconf2 set to manually installed.
libatk1.0-0 is already the newest version.
libatk1.0-0 set to manually installed.
libgconf-2-4 is already the newest version.
libgconf-2-4 set to manually installed.
libgnome-media-profiles-3.0-0 is already the newest version.
libgnome-media-profiles-3.0-0 set to manually installed.
libgstreamer0.10-0 is already the newest version.
libgstreamer0.10-0 set to manually installed.
dpkg is already the newest version.
gnome-media is already the newest version.
gstreamer0.10-gconf is already the newest version.
gstreamer0.10-gconf set to manually installed.
gstreamer0.10-plugins-base is already the newest version.
gstreamer0.10-plugins-base set to manually installed.
gstreamer0.10-plugins-good is already the newest version.
gstreamer0.10-plugins-good set to manually installed.
libc6 is already the newest version.
libglib2.0-0 is already the newest version.
libgstreamer-plugins-base0.10-0 is already the newest version.
libgstreamer-plugins-base0.10-0 set to manually installed.
libgtk-3-0 is already the newest version.
libgtk-3-0 set to manually installed.
x11-utils is already the newest version.
x11-utils set to manually installed.
The following packages were automatically installed and are no longer required:
  gir1.2-ubuntuoneui-3.0 linux-headers-3.2.0-54 libubuntuoneui-3.0-1
  thunderbird-globalmenu linux-headers-3.2.0-54-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

如果我Gstreamer-properties在终端中运行,我会得到多媒体选择器。我将默认输入更改为外部,外部摄像头上的蓝灯亮起(当我按下“测试”时),但没有图片。这是设置的屏幕截图

Gstreamer 设置

第三次编辑:以 root 身份运行后,sudo gstreamer-properties我将默认输入更改为高清网络摄像头(与上一个屏幕截图相同的设置),但当我打开 GUVC 时,它仍然作为笔记本电脑摄像头打开。以下是运行 SUDO 后的读数

(gstreamer-properties:15236): Gtk-WARNING **: Unknown property: GtkDialog.has-separator

(gstreamer-properties:15236): Gtk-WARNING **: Unknown property: GtkDialog.has-separator
gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'esdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'sunaudiosink'
gstreamer-properties-Message: Skipping unavailable plugin 'glimagesink'
gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'esdmon'
gstreamer-properties-Message: Skipping unavailable plugin 'sunaudiosrc'

当我尝试关闭终端时,它显示进程仍在使用中。

第四次编辑,第二天:

我点击下面的链接来到了 Dumindu 的

sudo apt-get install gstreamer-dbus-media-service gstreamer-tools gstreamer0.10-alsa gstreamer0.10-buzztard gstreamer0.10-buzztard-doc gstreamer0.10-crystalhd gstreamer0.10-doc gstreamer0.10-ffmpeg gstreamer0.10-ffmpeg-dbg gstreamer0.10-fluendo-mp3 gstreamer0.10-gconf gstreamer0.10-gnomevfs gstreamer0.10-gnonlin gstreamer0.10-gnonlin-dbg gstreamer0.10-gnonlin-doc gstreamer0.10-hplugins gstreamer0.10-nice gstreamer0.10-packagekit gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-doc gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-base gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-base-dbg gstreamer0.10-plugins-base-doc gstreamer0.10-plugins-cutter gstreamer0.10-plugins-good gstreamer0.10-plugins-good-doc gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-doc gstreamer0.10-pocketsphinx gstreamer0.10-pulseaudio gstreamer0.10-qapt gstreamer0.10-sdl gstreamer0.10-tools gstreamer0.10-vaapi gstreamer0.10-vaapi-doc gstreamer0.10-x

并通过终端运行该脚本。几分钟后,脚本就完成了,我没有发现任何故障或错误。但是,当我运行时,sudo gstreamer-properties我得到了与上面相同的“跳过不可用的插件”消息。多媒体系统选择器上的默认输入设置为 c920 HD cam,但我刚刚打开 GUVC,它就打开了笔记本电脑摄像头。以下是读数sudo apt get install... 字符太多,无法发布。这是一半:

ad-multiverse_0.10.21-1_amd64.deb) ...
Selecting previously unselected package gstreamer0.10-plugins-good-doc.
Unpacking gstreamer0.10-plugins-good-doc (from .../gstreamer0.10-plugins-good-doc_0.10.31-1ubuntu1.2_all.deb) ...
Selecting previously unselected package gstreamer0.10-plugins-ugly-doc.
Unpacking gstreamer0.10-plugins-ugly-doc (from .../gstreamer0.10-plugins-ugly-doc_0.10.18.3-1ubuntu1_all.deb) ...
Selecting previously unselected package libsphinxbase1.
Unpacking libsphinxbase1 (from .../libsphinxbase1_0.4.1-0ubuntu4_amd64.deb) ...
Selecting previously unselected package libpocketsphinx1.
Unpacking libpocketsphinx1 (from .../libpocketsphinx1_0.5.1+dfsg1-0ubuntu3_amd64.deb) ...
Selecting previously unselected package gstreamer0.10-pocketsphinx.
Unpacking gstreamer0.10-pocketsphinx (from .../gstreamer0.10-pocketsphinx_0.5.1+dfsg1-0ubuntu3_amd64.deb) ...
Selecting previously unselected package libattica0.3.
Unpacking libattica0.3 (from .../libattica0.3_0.3.0-0ubuntu2_amd64.deb) ...
Selecting previously unselected package libdlrestrictions1.
Unpacking libdlrestrictions1 (from .../libdlrestrictions1_0.14.2ubuntu5_amd64.deb) ...
Selecting previously unselected package libkdecore5.
Unpacking libkdecore5 (from .../libkdecore5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdeui5.
Unpacking libkdeui5 (from .../libkdeui5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkcmutils4.
Unpacking libkcmutils4 (from .../libkcmutils4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdeclarative5.
Unpacking libkdeclarative5 (from .../libkdeclarative5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkpty4.
Unpacking libkpty4 (from .../libkpty4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdesu5.
Unpacking libkdesu5 (from .../libkdesu5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libclucene0ldbl.
Unpacking libclucene0ldbl (from .../libclucene0ldbl_0.9.21b-2_amd64.deb) ...
Selecting previously unselected package virtuoso-opensource-6.1-common.
Unpacking virtuoso-opensource-6.1-common (from .../virtuoso-opensource-6.1-common_6.1.4+dfsg1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package libvirtodbc0.
Unpacking libvirtodbc0 (from .../libvirtodbc0_6.1.4+dfsg1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package soprano-daemon.
Unpacking soprano-daemon (from .../soprano-daemon_2.7.5+dfsg.1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package libsoprano4.
Unpacking libsoprano4 (from .../libsoprano4_2.7.5+dfsg.1-0ubuntu1_amd64.deb) ...
Selecting previously unselected package libnepomuk4.
Unpacking libnepomuk4 (from .../libnepomuk4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libsolid4.
Unpacking libsolid4 (from .../libsolid4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libstreams0.
Unpacking libstreams0 (from .../libstreams0_0.7.7-1.1ubuntu3_amd64.deb) ...
Selecting previously unselected package libstreamanalyzer0.
Unpacking libstreamanalyzer0 (from .../libstreamanalyzer0_0.7.7-1.1ubuntu3_amd64.deb) ...
Selecting previously unselected package libkio5.
Unpacking libkio5 (from .../libkio5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomukquery4a.
Unpacking libnepomukquery4a (from .../libnepomukquery4a_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomukutils4.
Unpacking libnepomukutils4 (from .../libnepomukutils4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkparts4.
Unpacking libkparts4 (from .../libkparts4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdewebkit5.
Unpacking libkdewebkit5 (from .../libkdewebkit5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkdnssd4.
Unpacking libkdnssd4 (from .../libkdnssd4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkemoticons4.
Unpacking libkemoticons4 (from .../libkemoticons4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkfile4.
Unpacking libkfile4 (from .../libkfile4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkjsapi4.
Unpacking libkjsapi4 (from .../libkjsapi4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libktexteditor4.
Unpacking libktexteditor4 (from .../libktexteditor4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkhtml5.
Unpacking libkhtml5 (from .../libkhtml5_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkidletime4.
Unpacking libkidletime4 (from .../libkidletime4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkmediaplayer4.
Unpacking libkmediaplayer4 (from .../libkmediaplayer4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libknewstuff3-4.
Unpacking libknewstuff3-4 (from .../libknewstuff3-4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libknotifyconfig4.
Unpacking libknotifyconfig4 (from .../libknotifyconfig4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomukdatamanagement4.
Unpacking libnepomukdatamanagement4 (from .../libnepomukdatamanagement4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libnepomuksync4.
Unpacking libnepomuksync4 (from .../libnepomuksync4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package ntrack-module-libnl-0.
Unpacking ntrack-module-libnl-0 (from .../ntrack-module-libnl-0_016-1ubuntu1_amd64.deb) ...
Selecting previously unselected package libntrack0.
Unpacking libntrack0 (from .../libntrack0_016-1ubuntu1_amd64.deb) ...
Selecting previously unselected package libntrack-qt4-1.
Unpacking libntrack-qt4-1 (from .../libntrack-qt4-1_016-1ubuntu1_amd64.deb) ...
Selecting previously unselected package libqca2.
Unpacking libqca2 (from .../libqca2_2.0.3-2_amd64.deb) ...
Selecting previously unselected package libthreadweaver4.
Unpacking libthreadweaver4 (from .../libthreadweaver4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libplasma3.
Unpacking libplasma3 (from .../libplasma3_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package phonon.
Unpacking phonon (from .../phonon_4%3a4.7.0really4.6.0-0ubuntu1_amd64.deb) ...
Selecting previously unselected package kde-runtime-data.
Unpacking kde-runtime-data (from .../kde-runtime-data_4%3a4.8.5-0ubuntu0.2_all.deb) ...
Selecting previously unselected package libkde3support4.
Unpacking libkde3support4 (from .../libkde3support4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkjsembed4.
Unpacking libkjsembed4 (from .../libkjsembed4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkntlm4.
Unpacking libkntlm4 (from .../libkntlm4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libkrosscore4.
Unpacking libkrosscore4 (from .../libkrosscore4_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package libpolkit-qt-1-1.
Unpacking libpolkit-qt-1-1 (from .../libpolkit-qt-1-1_0.103.0-1_amd64.deb) ...
Selecting previously unselected package kdelibs5-data.
Unpacking kdelibs5-data (from .../kdelibs5-data_4%3a4.8.5-0ubuntu0.2_all.deb) ...
Selecting previously unselected package libxml2-utils.
Unpacking libxml2-utils (from .../libxml2-utils_2.7.8.dfsg-5.1ubuntu4.6_amd64.deb) ...
Selecting previously unselected package kdoctools.
Unpacking kdoctools (from .../kdoctools_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package kdelibs-bin.
Unpacking kdelibs-bin (from .../kdelibs-bin_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package kate-data.
Unpacking kate-data (from .../kate-data_4%3a4.8.5-0ubuntu0.1_all.deb) ...
Selecting previously unselected package libkatepartinterfaces4.
Unpacking libkatepartinterfaces4 (from .../libkatepartinterfaces4_4%3a4.8.5-0ubuntu0.1_amd64.deb) ...
Selecting previously unselected package katepart.
Unpacking katepart (from .../katepart_4%3a4.8.5-0ubuntu0.1_amd64.deb) ...
Selecting previously unselected package kdelibs5-plugins.
Unpacking kdelibs5-plugins (from .../kdelibs5-plugins_4%3a4.8.5-0ubuntu0.2_amd64.deb) ...
Selecting previously unselected package oxygen-icon-theme.
Unpacking oxygen-icon-theme (from .../oxygen-icon-theme_4%3a4.8.3-0ubuntu0.1_all.deb) ...
Selecting previously unselected package shared-desktop-ontologies.
Unpacking shared-desktop-ontologies (from .../shared-desktop-ontologies_0.8.1-1_all.deb) ...

只是想在 Ubuntu 软件中心再检查一下,确保 Gstreamer 已经安装,结果显示所有东西都已安装已安装 Ubuntu Gstreamer

mike@Mike-Ubuntu12:~$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b289 Chicony Electronics Co., Ltd 
Bus 002 Device 003: ID 046d:082d Logitech, Inc. 
mike@Mike-Ubuntu12:~$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 2: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 2: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 2: Dev 3, If 2, Class=audio, Driver=snd-usb-audio, 480M
        |__ Port 2: Dev 3, If 3, Class=audio, Driver=snd-usb-audio, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 4: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 4: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M

好吧,这有点失败了。我不知道我是否应该再发一个帖子。我只是想让我的外部网络摄像头成为我的默认网络摄像头。我安装了 Gstreamer(如图所示)我安装了多媒体系统选择器。我在多媒体系统选择器中默认设置为网络摄像头 c920,但当我打开视频聊天或 GUVC 时,它会打开笔记本电脑摄像头。我得到了一些帮助,并坚持下去。但我似乎仍然无法让它工作。有人有什么想法吗,或者我应该在其他地方发帖吗?谢谢

答案1

根据@hopeithelps的回答,似乎程序将/dev/video0视为默认网络摄像头。在我的系统上,/dev/video0最初是集成摄像头,而/dev/video1在连接/断开外部网络摄像头时会自动出现/消失。

所以我只是写了一个简单的命令将 /dev/video0 设置为指向“最佳可用摄像头”——如果存在则指向网络摄像头,否则指向集成摄像头。目前,我必须在插入/拔出网络摄像头后手动调用此脚本。但是,麦克风自动切换到“最佳麦克风”,因为我遵循了这个 askUbuntu 回答

抱怨:Ubuntu 难道不应该有一个统一的方法来热插拔显示器、摄像头、扬声器、麦克风(还有键盘、鼠标、MIDI 等?)。所有这些似乎都需要单独修改。我认为 gnome-display-manager 的设计非常理想:当我插入以前使用过的显示器时,它会记住我的旧设置。

脚本如下:

#!/bin/bash
# Make default camera /dev/video0 point to the "best" camera present.

if [ -h /dev/video0 ]; then 
   sudo rm /dev/video0   # not first run: remove our old symlink
elif [ -e /dev/video0 ]; then
   sudo mv /dev/video0 /dev/video0.original   # first run: rename original video0
fi 
if [ -e /dev/video1 ]; then
   sudo ln -s /dev/video1 /dev/video0   # symlink to video1 since it exists
   echo "Set default camera /dev/video0 --> external camera /dev/video1"
elif [ -e /dev/video0.original ]; then  # symlink to video0.original otherwise
   sudo ln -s /dev/video0.original /dev/video0
   echo "Set default camera /dev/video0 --> integrated camera /dev/video0.original"
else
   echo "Sorry, does this machine have no camera devices?"
   ls -l /dev/video*
fi

使用 guvcview 和 Google Hangouts 进行了测试,使用了两个不同的 Logitech 网络摄像头。我在 Thinkpad T530i 上运行 Ubuntu 13.10(实际上是 Mint Petra)。

如果您的网络摄像头显示为 /dev/video3 或其他内容,则可能需要编辑脚本,就像 @hopeithelps 那样。(也许我应该让它选择具有最新时间戳的 /dev/video* 设备...)

答案2

我不知道这是否是最好的方法,但对于同样的网络摄像头和问题,我发现使用该命令sudo rm /dev/video0会删除我的网络摄像头。它直到重新启动才会消失。您可能必须cd /dev确保您的网络摄像头是video0我的 c920 video3

答案3

首先你需要安装该应用程序多媒体系统选择器

sudo apt-get install gnome-media dpkg gconf-service gconf2 gstreamer0.10-gconf gstreamer0.10-plugins-base gstreamer0.10-plugins-good libatk1.0-0 libc6 libgconf-2-4 libglib2.0-0 libgnome-media-profiles-3.0-0 libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libgtk-3-0 x11-utils

然后打开它并在其Video部分中,您可以更改默认网络摄像头。

** 可以通过运行以下命令在终端中打开此应用程序:

sudo gstreamer-properties

答案4

我已设置此键盘快捷键来在笔记本电脑和监视器网络摄像头之间切换。

bash -c 'if [[ -c /dev/video2 ]]; then sudo mv /dev/video0 /dev/video01 && sudo cp -a /dev/video2 /dev/video02 && sudo mv /dev/video2 /dev/video0; else sudo mv /dev/video01 /dev/video0 && sudo mv /dev/video02 /dev/video2; fi'

相关内容