[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.



網路校時的指令

  
在Linux下將校正時間是相當容易的事,也就是說要讓電腦的時間跟時間伺服器同步很簡單,只要一個指令就可以了。可以將這串指令設定成每隔一段時間執行
一次,就能讓你的系統時間常保精準。這個指令是需要有root權限才能使用的,在linux下舉凡是要更動系統設定尤其是硬體的資訊,幾乎都要有root
權限才可以的。如果不是用root帳號的話,記得要用sudo指令來帶動哦!



網路對時的指令

台灣server

# ntpdate tick.stdtime.gov.tw



香港server

# sudo /usr/sbin/ntpdate stdtime.gov.hk


[FC8]Linux下的畫面操作錄製工具-Wink

    Wink是一套免費而且簡單易用的畫面操作錄製軟體,可以完整的將畫面上的動作忠實的錄下來,並轉換成可跨平台播放的swf檔及windows下的可執行
exe。可以說是製作教學影片的好幫手,但卻有個缺點-無法錄聲音,不過取而代之的是可以在畫面中加入說明的文字而且可以做成有簡單互動的效果。對於教學
來說,比直接錄下影片和聲音來說明的效果更好。

    Wink本身提供了winodws和Linux下運作的版本,我在還是使用Windows的時期就在使用了,一直到最近才發現原來她也有Linux使用的
版本,真是太“甘心”了。而且操作界面不僅僅是英文而已,同時還支援了多國語言,正體中文和簡體中文都在支援的行列中。對於中文的使用者來說是非常友善
的。軟體本身還有自帶兩個教學檔,可讓新使用者容易上手,雖然內容是英文,但是幾乎是看圖就會瞭解了。

    以下介紹Linux環境下的安裝方法,請先到Wink的官方網頁中下載Linux環境下的版本,一個名稱是“wink15.tar.gz”的檔案。將她存進硬碟後再進行解壓縮會得到兩個檔案。
  • installdata.tar.gz
  • installer.sh
   
將這兩個檔案放在同一個目錄下後,使用指令模式將目錄切換到這兩個檔案存在的目錄之中。下“./installer.sh”指令即可進行安裝。在安裝的過
程中,會詢問要安裝到那個目錄,可以在自己的home目錄下直接開一個目錄給他安裝即可,不會影響到其他的使用帳號。

執行的方法,直接執行安裝完成目錄中的wink即可。

    在使用上還發生一些問題,就是雖然她有支援正體中文,但是卻是支援big5編碼,如果環境是utf的話,一但將介面語言切換到正體中文的話,會發生無法起動的慘劇。如果真的不幸發生的話,請使用以下指令來啟動:
# env LC_ALL=zh_TW.big5 ./wink
可以順利啟動選到中文介面的wink。但麻煩的還不只是如此,我試著在製作中輸入中文,因為我的系統是utf編碼,所以中文幾乎都無法輸入到
說明文字方塊中,但是奇怪的是,裡面的文件標題卻可以正常的使用中文。試了幾次後找到一個不算正常的解決方法,使用wine自帶的notepad,沒錯,
就是windows下的記事本,叫出wine裡面的notepad,在notepad輸入中文,再把這些字複製後,貼上到wink的文字方塊中。這麼做了
之後會發現文字方塊裡的中文只出現一半而已,不過沒關係,離開文字方塊的編輯視窗後就會發現中文正常出現了。這真是一個麻煩的過程,但至於解決了我目前的
麻煩。如果有朋友知道更好的解決方法,還請告知,感激不盡。


[FC8]BestCrypt - Linux下的檔案加密系統 - 使用篇

開始使用BestCrypt之前,最好能對BestCrypt的運作流程先瞭解一下。BestCrypt首先會在硬碟中造出一個新檔案,檔案名稱和大小當然是由我們來決定,然後設定密碼。此時可以把這個新做出來的檔案暫時當成一個新來的硬碟看待,所以使用前的第一件事便是格式化,最後再掛載入系統之中,就可以開始使用了。

另外BestCrypt支援的加密演算法有以下幾種
  • RIJNDAEL(256)
  • IDEA(128)
  • BLOWFISH-448(448)
  • BLOWFISH-128(128)
  • 3DES(192)
  • TWOFISH(256)
  • GOST(256)
  • DES(64)
  • BLOWFISH(256)
  • CAST(128)
每個名字後面的數字是加密的單位,說簡單點可以當成是解密的難度,數字越大的越不容易被破解。不過相對的運算時間也需要多一點,這會在資料存取時造成速度上的差異,一般用戶的話,建議使用128或是256就相當足夠了。

接下來就可以開始操作了,第一步先決定要造出來的檔案名稱丶容量大小和加密演算法。檔名假設是“Sdisk1”,容量大小1G,使用BLOWFISH-128加密演算法。在這裡要注意一件事,就是存放這個檔案的磁槽是用什麼格式,因為有些人為了相容性會使用Fat32,如果真是Fat32,容量不要超過4G哦!不然會因為Fat32下單檔無法超過4G的限制而無法成功的做出我們要用的檔案。
請在指令視窗中下達以下指令
bctool new -a 演算法名稱 -s 容量大小 檔案名稱
# sudo bctool new -a BLOWFISH-128 -s 1024M Sdisk1
然後會被要求輸入密碼,此時請看清楚,系統是要求你輸入sudo時的密碼還是要你設定新的密碼,如果是顯示“Enter
password:
”,那麼就是要設定此檔案以後要用的密碼。請小心輸入,輸入之後會要求輸入一次以避免密碼輸入錯誤而造成下一次無法開啟的慘事。兩次密碼都輸入後,系統會
開始產生檔案。因為BestCrypt
以亂數填滿所設定容量的檔案中,所以設定的容量越大,這個時候要等待的時間也越長。這個時間並不一定,視每台電腦的CPU和硬碟速度而有不同。1G的大
小,在我這小小的筆電上,得跑上七丶八分鐘。最後出現“Please do not forget to format the
container”提示字串時就表示完成了。此時目錄下就會多出一個Sdisk1的檔案,還記得第一段提到的流程嗎?現在要做的就是格式化,此時已經可
以把這個檔案當做是硬碟來看了,所以不管這個檔案是存在Fat32還是ext2甚至ext3下,他都可以被格式化成你想要的格式。以下以ext3做示範,
但若是使用ext3的話,這個檔案拿到windows下掛起來後,windows是再裝上可以認得ext3格式的軟體才能讀得出來的。
# sudo bctool format -t ext3 Sdisk1
若是想做成Fat32格式的話請用
# sudo bctool format -t vfat Sdisk1
在這個步驟會要求輸入Sdisk1當初設定的密碼,沒有密碼是不能格式化的哦!這個步驟可以防止檔案被惡意格式化。而且Sdisk1的擁有者和群組都是root,除非具有root身份或是擁有root權限的人才能刪除它。


式化完成後就可以掛載起來,然後快樂的使用了。最後想想看想掛在那裡,linux下就是這麼自由,想掛那就掛那,不用像windows一樣,就只能做成一
顆磁碟老掛在相同的位置。接下來以掛在/mnt/下的yyy做示範,首先先確認/mnt/目錄下有沒有yyy這個目錄,如果沒有的話,請自行造一個。如果
已經有這個目錄了,就不用再造一個了。
# sudo mkdir /mnt/yyy

接下來掛載吧!(PS.請在-g和-u參數後加上自己的帳號和群組,不然就算掛起來,你也沒法用的,因為那會屬於root才能動的。)
# sudo bctool mount -t ext3 Sdisk1 /mnt/yyy -g username -u username

好啦!接下來/mnt/yyy就可以存你要放的東西啦!

上步驟看起來是落落長,不過實際上以後要使用時只要做最後那個掛載的動作而已,所以直接寫成shell
script就可以很方便的使用了。這裡提到的指令因為都是需要有root權限,所以幾乎每個指令都以sudo來操作,如果是直接用root帳號執行的
話,就不用再加sudo了。

因為在linux下的BestCrypt是沒有圖形界面的,全以指令控制,為了使用得更方便,以下補充幾個指令:

如果想知道空間是不是滿了或是還有多少可以用,可用df指令。
# df -h
就可以看到/mnt/yyy的容量資訊。

用完後想把他拿下來請使用以下指令
# sudo bctool umount /mnt/yyy

如果忘記Sdisk1的檔案格式或是加密演算法可用以下指令得到相關資訊
# sudo bctool info Sdisk1

如果想給Sdisk1換個密碼的話請用以下指令
# sudo bctool passwd Sdisk1

BestCrypt其實可以支援多組密碼(最多七組),但每組密碼的權限其實都是一樣的。用處就在如果檔案需要共享,但又不想把自己的密碼跟別人說時,可以再加一組密碼進去就可以了。
# sudo bctool add_passwd Sdisk1

密碼不需要之後,可以用以下指令刪掉沒在用的密碼
# sudo bctool del_passwd Sdisk1

希望各位使用愉快呀!


[FC8]BestCrypt - Linux下的檔案加密系統-安裝篇

    一般在儲存比較私密或不能見光的文件時,都會特別針對檔案做加密的動作。在Linux下一般較常用gpg或是pgp來針對檔案做加密,但是如果需要加密的
文件很多時,在存取的動作很頻繁時,就會變成不停的在做加解密的動作,不停的輸入密碼,相當浪費時間而且累人。所以折衷的方法便是針對目錄或是磁碟做加
密,只要是在這個目錄或是磁碟下的檔案都會受到加密的保護,而且只在開啟磁碟或是目錄時做一次密碼的輸入。在關閉它之前都不必再輸入密碼,算是比較人性的
做法。


    BestCrypt就是在做這類型的工作,它的運作原理是先在系統內製造出一個很大的檔案,針對這個檔案做加密。所有被保護的檔案都存在這個大檔案之中,BestCrypt提供了windows和linux環境分別能運作的版本,官方網站說明兩個版本之間的檔案是可以互相支援的。這一點為需要同時在windows和linux平台下作業的人提供了莫大的方便。BestCrypt在windows
下是把這個大檔案掛載成一個磁碟機,而在linux下則是掛載成目錄(Linux下是沒有像windows那樣分C槽D槽的概念,大家一視同仁,都是目
錄)。不過這套軟體在windows下好像是要付費購買才能完全使用的樣子,在linux好像是採用GPL授權,不過linux的朋友也別太高興,因為在
linux下它是沒有GUI的,也就是說沒有圖形界面,完全採用指令來操控的。不過也不用擔心,因為指令很少,也很簡單,只要幾個步驟就能快樂使用了。


BestCrypt的官方網站:http://www.jetico.com/
BestCrypt的下載網頁:http://www.jetico.com/download.htm
Linux用戶的下載網頁:http://www.jetico.com/linux/

    如果系統有支援RPM套件安裝,請下載rpm檔(例如RedHatSuSE丶Fedora)。
如果系統有支援DEB套件安裝,請下載deb檔(例如Debian)。
其他的可以下載Source Code回去自行編譯。

    在
這裡我當然是下載rpm檔囉!不過請注意,這裡提供的是src.rpm檔,跟平常的rpm不一樣哦!不能直接抓來就用“rpm -ivh
檔名”,這樣會裝不起來的。以Fedora Core
8的環境下,是需要有裝rpm-build這個套件才可以的,如果系統下沒有這個套件的,直接使用“sudo yum install
rpm-build”進行安裝即可。目前
BestCrypt官網上linux用的版本最新的是BestCrypt-1.6-19.src.rpm

安裝方法可以參考Jetico - BestCrypt version 1.6 for Linux,在舊版本的linux中使用
# sudo rpm --rebuild BestCrypt-1.6-19.src.rpm

在比較新的版本下像FC8則是
# sudo rpmbuild --rebuild BestCrypt-1.6-19.src.rpm

    在以上的編譯過程進行中,請注意完成時的最後幾行文字,會寫出編譯好的rpm檔放到那裡去了。在我的環境下是跑到“~/rpmbuild/RPMS/i386”目錄下,會出現一個BestCrypt-1.6-19.i386.rpm。這個才是我們最後能用rpm指令來安裝的檔案,這時下達
# sudo rpm -ivh BestCrypt-1.6-19.i386.rpm
就沒錯了(記得目錄要切換到和BestCrypt-1.6-19.i386.rpm同一個目錄再下指令哦)。

到這裡為止,就算安裝完成囉!


使用 ffmpeg 下載 m3u8 的影片檔

使用 ffmpeg 下載 m3u8 的影片檔 現在越來越多網站使用了像 m3u8 類的串流格式檔案,在這裡我們不提串流檔案的好處,來討論如果需要下載這類的影片做為素材時應如何處理。現在已經有些軟體有提供專用來下載 m3u8 的影像檔,但其實使用 linux 的我們,在...