設定 Webcam 網路攝影機問題

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

設定 Webcam 網路攝影機問題

文章Lost-Angel » 週四 1月 31, 2008 11:39 pm

請教一下各位前輩們,小生最近買了一部 Logitech Quickcam Communicate Deluxe 的網路攝影機,網路上查詢之後發現 linux-uvc 可以支援,所以小生就利用 APT 安裝了 linux-uvc-source 這個套件並利用 apt-get -b source linux-uvc-source 指令編譯後並安裝了該套件,其套件名稱為 linux-uvc-tools,且系統的 Kernel 中確實有多出一個名稱為 quickcam_messenger 的模組,在開機啟動時攝影機早已插上電腦但是系統中安裝的 udev 和 discover 卻沒有自動把該模組掛載上,當小生以手動掛在該模組之後似乎一切正常,但是惟獨 /dev 目錄中一直沒有出現 video* 檔案,一些相關軟體也因此都無法跟 Webcam 溝通驅動,所以小生實在是不知道接下來該怎麼做才能弄出這個 /dev/video* 並設定起這個 Webcam。底下附上相關的系統資訊,希望煩請前輩們能指點一下不才的小生,非常的感謝。

這是手動掛載上 quickcam_messenger 模組後的相關模組掛載情況:
代碼: 選擇全部
Module                  Size  Used by
quickcam_messenger     11524  0
usbvideo               23684  1 quickcam_messenger
compat_ioctl32          1280  1 usbvideo
videodev               24832  1 usbvideo
v4l2_common            21888  1 videodev
v4l1_compat            13572  1 videodev
usbhid                 20064  0
usbcore               106264  6 quickcam_messenger,usbvideo,usbhid,ehci_hcd,ohci_hcd


下面這是插上該 Webcam 重新啟動系統後,其 dmesg 裡的最後面一段:
代碼: 選擇全部
Linux video capture interface: v2.00
drivers/media/video/usbvideo/quickcam_messenger.c: Logitech Quickcam Messenger USB v0.01
usbcore: registered new interface driver QCM


底下這是執行 lsusb 產生的訊息片段:
代碼: 選擇全部
Bus 004 Device 002: ID 046d:0992 Logitech, Inc.
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章Lost-Angel » 週日 2月 03, 2008 3:06 am

今天小生參照著一份 HOWTO 文件,試著在掛載上 quickcam_messenger 模組之後以手動創建 /dev/video0 檔案,小生是利用以下指令:

代碼: 選擇全部
mknod /dev/video0 c 81 0


雖然是有出現該硬體連結檔案,但是執行 luvcview 或者 camorama 套件來測試的時候還是一樣的結果,而且系統重新啟動之後該硬體連結檔竟然自動消失了 :-o 。可否煩請前輩們指點一下不才的小生這該怎麼解決才是呢? 非常的感謝!
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章訪客 » 週日 2月 03, 2008 4:37 am

執行mknod之前你有執行過MAKEDEV嗎?

mknod所建立的inod要依循著MAKEDEV所顯示出的資訊來建立。
訪客
 

文章Lost-Angel » 週一 2月 04, 2008 11:01 pm

非常感謝前輩指點,小生試著執行 MAKEDEV video 指令並沒有產生任何訊息,而此時 /dev 中也仍然沒有 video* 檔案出現,小生接著再執行 mknod /dev/video0 c 81 0 指令之後雖然可以產生該檔案,但是結果仍然是一樣沒有變,不論是 luvcview、camorama 都會出現無法連接 /dev/video0 的錯誤訊息,執行 cat /dev/video0 也會出現無此裝置的訊息。可否煩請前輩們指點一下小生這到底是哪裡出錯了呢?到底該怎麼解決才好呀?非常的感謝!
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章訪客 » 週二 2月 05, 2008 12:56 am

我舉個例子:
代碼: 選擇全部
#/dev/MAKEDEV -v ttyS0
 creat ttyS0 c 4 64  root:dialout 0660
#mknod /dev/ttyS0 c 4 64 (上一行顯示的 c 4 64 )
#chown root.dialout /dev/ttyS0 (上兩行顯示的root:dialout)
#chmod 0644 /dev/ttyS0
#ls -l /dev/ttyS0
也就是建立的inod要依循著MAKEDEV所顯示出的資訊來建立

原文在http://www.ubuntu.org.tw有po過,當時也是我po的,只是現在連不上ubuntu沒法放連結上來.....只好把我當時的po文,再copy一次。
Lost-Angel 寫:小生試著執行 MAKEDEV video 指令並沒有產生任何訊息

關鍵要加 "-v" option,就會看得到訊息。
訪客
 

文章Lost-Angel » 週二 2月 05, 2008 10:31 pm

非常感謝前輩指點,但是小生照著執行之後結果還是一樣的,到底是怎麼一回事呢?可否煩請前輩們再度指點一下不才的小生喔,非常的感謝!

以下是小生的操作過程:

代碼: 選擇全部
#MAKEDEV -v video
create video0   c 81 0 root:video 0660
create radio0   c 81 64 root:video 0660
create video1   c 81 1 root:video 0660
create radio1   c 81 65 root:video 0660
.....(略)


代碼: 選擇全部
#mknod /dev/video0 c 81 0
#chown root.video /dev/video0
#chmod 644 /dev/video0


代碼: 選擇全部
#cat /dev/video0
cat: /dev/video0: 沒有此一裝置
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章訪客 » 週二 2月 05, 2008 11:31 pm

[quote=Lost-Angel]
#MAKEDEV -v video
[/quote]

是video0吧!!你少了個0
而且要在/dev下

代碼: 選擇全部
#/dev/MAKEDEV -v video0

你直接複製好了,這樣快些。
訪客
 

文章訪客 » 週二 2月 05, 2008 11:54 pm

忘了說,你不要用
代碼: 選擇全部
#cat /dev/video0

使用
代碼: 選擇全部
#ls -l /dev/video0

就會看得到它
應該是mount上的裝置才可以cat得到。
我剛剛做了試驗
代碼: 選擇全部
#cat /dev/hdd

我也cat不到它,/dev/hdd是我的光碟機
代碼: 選擇全部
#cat /dev/hda

就可以cat得到東西....

千萬別cat 你目前使用的console 會當機的!
代碼: 選擇全部
#cat /proc/fb

這是cat framebuffer....

所以應該使用ls就可以了
;-)
訪客
 

文章Lost-Angel » 週三 2月 06, 2008 5:41 pm

非常的感謝前輩指點,小生總算是找出問題癥結並搞定了!
原因是那個 Linux-uvc 驅動模組根本就沒有裝進去,那個 quickcam_messenger 模組是在系統核心裏面內建的,真正的 linux-uvc 驅動模組名稱是 uvcvideo.ko .... >_<||

●安裝的方法如下:
使用 APT 下載安裝 linux-uvc-source 這個套件,它是 linux-uvc 驅動模組的原始碼套件,所以下載回來後要自行編譯安裝。該原始碼套件安裝後會在 /usr/src 目錄裏面放一個 .tar.bz2 的檔案,將他解開後直接進去裏面 make 以及 make install 就可以了,此時再使用 modprobe 指令就可以讓核心正確的載入 uvcvideo 這個模組了,而且 /dev/video0 硬體連結檔案也會自動產生,不需要再自行手動建立,此後使用 luvcview 或者 kopete 時就都可以正確的驅動我的網路攝影機了。

安裝成功以後就可以把 linux-uvc-source 這個原始碼套件移除掉了。小生覺得滿奇怪的一點是說,在 APT 伺服器上面有一個名為 linux-uvc-tools 的套件其實是編譯好的 linux-uvc 套件,但是直接安裝它的話並不會實際把它的驅動模組安裝進系統中,它只會安裝一堆說明文件以及一個只有 iSight 這個蘋果電腦出的 webcam 才會需要用到的 firmware。即使是安裝了 linux-uvc-source 以後自行以 module-assistant 編譯產生出來的 linux-uvc-tools 套件,其安裝後的結果也是一樣,這點讓小生覺得一頭霧水完全搞不懂為什麼,希望能夠有前輩指點一下迷津,非常的感謝!
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章kakerulife » 週一 6月 09, 2008 10:01 am

抱歉,想請問一下 我依照您的步驟 的確在/usr/src 目錄中看到一個 linux-uvc.tar.bz2 然後解壓縮後出現一個/usr/src/modules/linux-uvc 的目錄 之後我就卡住了 能否詳細解說一下我該如何進行下一步
是否要在終端機裡執行呢? xshells -->gnome terminal

"將他解開後直接進去裏面 make 以及 make install 就可以了,此時再使用 modprobe 指令就可以讓核心正確的載入 uvcvideo 這個模組了"這幾個步驟 能否幫忙解說 感謝您

--------剛剛試了一下-----
#cd /usr/src/modules/linux-uvc
/usr/src/modules/linux-uvc#make
buil ding USB Video Class driver...
/bin/dh: line 0: cd: /lib/modules/2.6.18-6-686/build: 沒有此一檔案或目錄
-------------------------------------
到這就停了>"<
-----------------
linux-heade 安裝了之後build出現了
再次執行
#cd /usr/src/modules/linux-uvc
/usr/src/modules/linux-uvc#make
感覺好像是OK
但是重開之後 CAM裝上還是沒有/dev/video 0
是否仍缺少哪個步驟呢
-----------------------------------
看了鳥哥LINUX之後 我做了以下設定
#cd /usr/src/modules/linux-uvc
# cp uvcvideo.ko \
> /lib/modules/2.6.18-6-686 -r/kernel/drivers/net
# cd /lib/modules/2.6.18-6-686 -r
#depmod -a

的確在/dev 目錄中出現了video0
但是我執行了 camorama webcam viewer 之後
仍然出現
could not connet to video device(/dev/video0).
please check connection
還是一片茫然中 如果有前輩知道這原因
能否請幫忙一下 感謝
kakerulife
可愛的小學生
可愛的小學生
 
文章: 10
註冊時間: 週四 5月 29, 2008 5:02 pm

文章訪客 » 週一 6月 09, 2008 5:53 pm

如果你的module己經可以載入
那您可以試看看用luvcview這個軟體

http://www.quickcamteam.net/software/li ... e/luvcview

需要裝一下libsdl
下載下來後把他make 一下
就會看到
luvcview這個檔案
執行以下的指令
./luvcview -d /dev/video0 -f yuv
應該可以看到了!
前提是...你的module要先掛上去
訪客
 

文章kakerulife » 週一 6月 09, 2008 7:06 pm

感謝您 能否在請問一下libsdl套件的正確全名
因為我是用光碟安裝
裡面有一連串的libsdl
我剛剛試裝了libsdl1.2debian-dev
然後將下載的luvcview-20070512.tar.gz 放在 /usr/src
之後解壓縮
#cd /usr/src/luvcview-20070512
cd /usr/src/luvcview-20070512#make
但是會有錯誤出現
make:***[luvcview.o] error127
是否是我libsdl裝錯了呢
kakerulife
可愛的小學生
可愛的小學生
 
文章: 10
註冊時間: 週四 5月 29, 2008 5:02 pm


文章kakerulife » 週二 6月 10, 2008 9:45 am

感謝各位的幫忙
目前用了luvcview 視訊已經看得到畫面
非常感謝
kakerulife
可愛的小學生
可愛的小學生
 
文章: 10
註冊時間: 週四 5月 29, 2008 5:02 pm


回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron