[FC8]解決Skype在linux下無法使用羅技QuickCam Messenger的問題


以Fedora core 8的預設環境中,直接接上Logitech QuickCam
Messenger
(046d:08f0)是OK的。在Ekiga丶Cheese等一些軟體上是可以直接使用的,但是偏偏在skype下就是無法使用。在Skype的Linux版本官方論壇
有提到“stv680/sqcam/quickcam_messenger/some other cameras are not
currently unsupported due to them using RGB/MJPEG image formats for
streaming.” QuickCam Messenger無法被支援的原因是因為他使用RGB/MJPEG的格式所導致。同時在這句話的後面有提到“可能”的解決方法。可以試看看,如果真的不行通的話,再往下
看。



但是我最先找到的方法卻是另一個,在Kuhrti
Brothers的Blog中提到另一個解決方法,但這兩個方法在解決這個問題的作法上是大同小異的,只是過程看起來比較複雜。不知道什麼原因
Kuhrti Brothers上的這篇文章已經不見了,僅能透過Google的快取頁面來讀取。



這裡提到的作法似乎是Ubuntu或是Debian系列的步驟,只要稍微改一下就可以應用在Fedora上了。以下是在Fedora下的步驟。(要有
root的權限才能完成)



先使用yum安裝上幾個套件。

xawtv

kdetv

kernel-headers

subversion



把QuickCam接上USB,系統會自動掛上quickcam_messenger模組,使用“lsmod | grep
quickcam”可以看到系統是否已將模組掛載完畢,系統掛上後,使用以下指令將quickcam_messenger模組移掉。

# rmmod quickcam_messenger



http://home.mag.cx/messenger
裡下載驅動程式,可以的話當然是下載最新的囉!

我下載到最新的版本是1.8(qc-usb-messenger-1.8.tar.gz)。

下載完成後解開壓縮檔。使用console視窗進到解開的原始碼目錄中,執行quickcam.sh

# ./quickcam.sh

接下來就根據一步步的說明來完成編譯驅動程式所需要的步驟。在最後完成的時候,他會呼叫xawtv來使用webcam,如果可以看得到影像的話,那就成功
一大半囉!



接下來就要幫/dev/video0搬家了。把video0改成video1,video0要用程式虛擬的,簡單的說就是把webcam的訊號先經過處理
後再透過虛擬的video0餵給skype,這樣就可以正常使用了。

# mv /dev/video0 /dev/video1

每次使用skype前都得做這個動作,如果不想每次重複的話,可以寫成script,或是改udev的規則,改udev的規則,方法就是到
/etc/udev/rules.d/目錄下找一個檔案名稱為99-perso.rules的檔案,如果沒有就自行新增,在這個檔案裡加入以下的內容。

KERNEL=="video0", ATTR{name}=="QuickCam USB", NAME="video1"

一旦完成這個內容,下次開機以後,只要你的quickcam接上USB,就會自動指定到video1去了。不過我不太喜歡這麼做,因為這麼一來,一些預設
使用/dev/video0的軟體像是cheese,就會找不到視訊來源,所以我是要用skype時再改的。



接下來再用yum安裝gstreamer-devel和pkgconfig兩樣套件,至於套件的相依性就交給yum去處理,這樣會比較容易,如果系統原本
就有gstreamer-devel和pkgconfig的話,就不用再安裝了。



下一步是取得gstfakevideo的原始碼,請使用以下指令

# svn checkout http://gstfakevideo.googlecode.com/svn/trunk/ gstfakevideo
# cd gstfakevideo
# make
# make install



如果你在make時就發現有很多的警告和錯誤的話,極有可能是因為該裝的套件沒有安裝,請仔細閱讀警告和錯誤的說明。



編譯完成後,就完成90%了。最後一步來了,就是做一個script檔。以後呼叫skype時就要透過這隻script檔案,檔案隨便取,為了方便起見,
我還是把他命名為skype.sh,免得弄混了。內容如下。

#!/bin/sh
qcset /dev/video1 compat=dblbuf
gstfakevideo v4lsrc device=/dev/video1 ! ffmpegcolorspace



記得要給這隻檔案執行的權限哦!

# chmod +x skype.sh

終於到了要看成果的時候了,執行skype.sh吧!

# ./skype.sh



接下來就是到skype中的設定去看看視訊是否正常運作。這樣就不會出現一按Test,CPU馬上就變100%,被咬住了。



總算可以用了,天呀!感謝各位先進不停的提供了這麼多的資料和文件,讓我們這些沒能力改寫系統的人能使用這些目前還沒被支援的東西。



話又說回來,還是希望日後能把這些東西都做進預設安裝的系統裡,就不用再這麼辛苦了。



自由軟體萬歲!!!!!!!!!











[1] “Skype 2.0 beta for Linux - Skype Community”; http://forum.skype.com/index.php?showtopic=101297.



[2] “Skype video hijacker - Skype Community”; http://forum.skype.com/index.php?showtopic=102838.



[3] “Kuhrti Brothers » Blog Archive » QuickCam, Linux and Skype - it
works!”; http://209.85.141.104/search?q=cache:krMDIqgU7kwJ:www.kuhrti.de/blog/index.php/2008/04/webcam-linux-and-skype-it-works/+linux+skype+046d:08f0&hl=zh-TW&ct=clnk&cd=3&gl=tw.



沒有留言:

張貼留言

dnf upgrade fails with Error: GPG check FAILED

 OS: Fedora 36 今天在做  dnf  更新的時候,突然有很多 package 都出現簽章問題無法更新。類似如下的錯誤訊息 .... is not signed. ...... is not signed. ......... is not...