2009年8月18日 星期二

DVD影片結構

自從上次經歷無法播放DVD事件後,開始留意跟DVD相關的文章。以下將DVD影片結構文章,經整理後,跟大家分享。

DVD影片光碟的結構,在通常情況下,光碟上會有兩個資料夾:Audio_ts和Video_ts。



由於Audio_ts是保留給DVD版的雷射唱片使用,所以在DVD影片光碟中,這個資料夾是空的。

而Video_ts中則儲存著影片所有的影像、聲音和字幕等資料。

接下來看一下Video_ts這個資料夾中包含哪些資訊。依照DVD-VIDEO標準的規定,一個標準的Video_ts資料夾中應該包含三種類型的資料:VOB、IFO、BUP:


VOB(Video Objects 影像物件):
VOB用來儲存DVD影片中的影像資料流、聲音資料流、多國語言字幕資料流,以及供表單和按鈕使用的畫面資料。
由於一個VOB中,最多可以儲存1個影像資料、9個聲音資料,和32個字幕資料。所以DVD影片也就可以擁有最多9種語音和32種語言的字幕。

IFO(Information Objects 資訊物件):
IFO用來控制VOB的播放。IFO中儲存有怎樣播放,以及何時播放VOB資料的控制資訊。例如段落的起始時間、聲音資料的位置、字幕資料的位置等等。
DVD播放機或者播放軟體,通過讀取IFO資料,才能把DVD影片的各種資料,有效的結合起來進行播放。

BUP(Backup 備份檔案物件):
BUP物件和IFO物件的內容完全相同,它的功能是IFO檔的備份。
由於IFO對於影片的正常播放非常重要,所以需要保留一個副本,以備在讀取IFO發生錯誤時,仍然可以透過讀取BUP檔案,得到相同的播放內容。

了解DVD的結構後,想要拷貝檔案,放到電腦上播放就不是什麼難事了。(解除DVD限制,不再此篇文章討論)

1. 將Video_ts資料夾複製到硬碟上就可以了。
2. 因為IFO檔可以控制DVD影片中所有功能,因此找到可以播放DVD的軟體(例如:PowerDVD),執行*.IFO檔,就可以像家裡的DVD播放機一樣,選擇使用語言、字幕選項等功能。

2009年8月17日 星期一

PEAR[3]--Spreadsheet_Excel_Writer安裝

PEAR有一個非常好用的東西,就是將資料匯出到Excel。Spreadsheet_Excel_Writer這個元件,可以幫我們做到這一點。

在PEAR的世界中,元件有其相依性。因此要裝Spreadsheet_Excel_Writer,順序如下:
PEAR-->PEAR OLE-->Spreadsheet_Excel_Writer

***安裝步驟***

1、到http://pear.php.net/package/Spreadsheet_Excel_Writer/download下載Spreadsheet_Excel_Writer-0.9.1.tgz,並放到C:\AppServ\php\PEAR下。

2、進入DOS模式後,並到C:\AppServ\php\PEAR下,輸入
pear install Spreadsheet_Excel_Writer-0.9.1.tgz

3、如果成功將會出現
install ok: channel://pear.php.net/Spreadsheet_Excel_Writer-0.9.1


PEAR[2]--PEAR OLE安裝

***安裝步驟***

1、到http://pear.php.net/package/OLE/download 下载OLE(目前版本為OLE-1.0.0RC1.tar),並放到C:\AppServ\php\PEAR下。

2、進入DOS模式後,並到C:\AppServ\php\PEAR\下,輸入
pear install OLE-1.0.0RC1.tar。

3、如果成功將會出現
install ok: channel://pear.php.net/OLE-1.0.0RC1

PEAR[1]--PEAR套件安裝

在Windows上,裝完AppServ後(在此以appserv-win32-2.4.4a為例),預設是沒有安裝PEAR套件。PEAR套件本身是有相依性的,請按照以下步驟安裝PEAR套件。安裝時,會到PEAR網站下載必要元件,因此Internet要通才能安裝。

***安裝步驟***

1、請到http://pear.php.net/go-pear,將此頁面程式碼存成go-pear.php。

2、將go-pear.php檔,放到C:\AppServ\php\PEAR目錄底下。

3、在C:\AppServ\php目錄下,執行go-pear.bat,之後會跳出DOS畫面。

4、選擇”8”,指定php.exe的path為c:\appserv\php\,之後按Enter確定。再按一次Enter繼續往下。

5、再問你一次是否要安裝?輸入Y,按Enter後,開始安裝並下載所需元件。



6、接下來問你是否要調整php.ini,輸入”Y”,按Enter繼續。



7、最後會出現一段訊息,提醒你到D:\AppServ\php\PEAR\PEAR_ENV.reg ,點擊這個檔案,將目前資料登錄到機碼。
按任何鍵後,DOS視窗會自動關閉。執行PEAR_ENV.reg,完成PEAR安裝。


2009年8月13日 星期四

[MySQL] 解決 “必須設定 $cfg['PmaAbsoluteUri'] 在設定檔內!”的問題

一、說明

使用AppServ安裝完之後,打開phpMaAdmin畫面,會發現“必須設定 $cfg['PmaAbsoluteUri'] 在設定檔內!”的紅色錯誤訊息。



$cfg['PmaAbsoluteUri']這個功能,是記錄 phpMyadmin 的執行路徑,一般預設值為空白,代表程式會自動偵測環境來執行。

執行路徑的寫法如下:http://網域名稱/phpMyadmin的目錄/
例如你是在自己機器上執行MySQL,而且phpMyadmin 的路徑在根目錄下,那麼這個設定值為:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';
假設你註冊一個網域名稱為boyandgirl.com.tw,並要在這台主機上執行phpMyadmin,路徑則為:
$cfg['PmaAbsoluteUri'] = 'http:// boyandgirl.com.tw/phpMyAdmin/';

二、解決步驟

1、使用AppServ安裝,通常這個設定檔放在C:\AppServ\www\phpMyAdmin\config.inc.php

2、在第39行,找到$cfg['PmaAbsoluteUri'],就可以依照上述去設定。



3、剛剛有提到,預設值是空白,程式會自動偵測執行。如果不確定這個程式,以後執行的路徑,只想要讓它繼續運作,不想看到這行訊息,可以更改以下的設定值:
$cfg['PmaAbsoluteUri_DisableWarning'] = FALSE更改為TRUE



4、將設定值存檔後,關閉瀏覽器。重新開啟瀏覽器,進入phpMaAdmin,將會發現這個訊息已經不見了。


2009年8月9日 星期日

AnyDVD 解決電腦上無法播放DVD

在電腦上播放DVD有什麼難的?不是片子放進去就可以播放了嗎?

是阿,這是我最初的心態。回想起來,我只用過家裡那台飛利浦DVD放影機看過DVD,卻從來不曾用過電腦放DVD。若不是因為這次三天的颱風假,窩在宿舍當宅男,租來的DVD無法觀看,也不會有這篇文章出現。

颱風夜去租了X檔案2來看,順便買了雞排跟綠茶。回到宿舍後,放個冷氣,喬好座位,插入DVD,一切就緒後,準備在我那台14吋NB做個人享受。就在這時候,咦,怎麼沒畫面?微軟播放器掛了嗎?

我知道很多影片有所謂編碼問題,於是請出號稱播神MPC(Media Player Classic)來播放,一開始有出現片頭,讓你選字幕(比微軟好),選完字幕接下來就沒啦。之後,找出各式的撥放器,包括RealPlayer、DivX、VLC、PowerDVD,結果沒有一個能放的。

去網路爬文,知道有些DVD會被限制不能在電腦上播放,因此必須使用特殊工具,才能移除這些限制。看到網友力推的AnyDVD這個雞絲頭,下載後使用,果然過了一個快樂的颱風夜。(不過中途清了兩次腸胃,看來雞排還是配啤酒好)

回歸正題,以下介紹AnyDVD使用方式:

1、到官網下載這套軟體
http://www.slysoft.com/en/anydvd.html

2、按Download

3、按綠色下載按鈕圖示


4、儲存該檔案
5、執行該檔案

6、按Next(下一步)


7、按Install(安裝)

8、這時候會跳出一個視窗,告訴你安裝完之後,電腦會重新開機,問你是否繼續?當然按”是”啦。

9、程式開始安裝,完畢之後,會再問你一次是否要重新開機。選擇是。

10、重新開機後,若你未放進去任何光碟片,會跳出以下訊息。別管它,按確定就好。

11、在右下角工具列上,會出現一個紅色小狐狸圖案。代表AnyDVD已常駐。安裝作業也完成。
12、接下來再播放一次,剛剛無法播放的DVD。這時候你就會發現,已經可以正常看影片了。
備註1:這個軟體試用版為21天期限,超過期限後,自己想辦法囉~~。
備註2:
科技始終來自於人性,這些廠商明知道這些限制,早晚會被人破解,卻還限制東限制西。
限制在電腦上播放,主要是防止盜版,但是事實上卻一點用處也沒有。希望這些腦袋瓜不知道在想什麼的廠商,花費大量的人力跟物力,應該用在如何面對網路世代的來臨,改變作法。而不是一昧的為了盜版而防堵,卻造成守法民眾的困擾。至少我去租片子來看,不是嗎?

2009年8月7日 星期五

當企業口號變為壓榨員工的大帽

大老闆開始將《當責》這兩個字當成圭臬,中階主管開始喊的震天價響,員工開始奉行旨喻並落實,這時企業口號就變為壓榨員工的大帽。

何謂《當責》?英文為「accountability」,而《當責》則是中譯。《當責》不只是「負責」而已,而是要你「負起完全責任,交出成果」。
截錄《當責》所闡述的六大重點:

1. 為「最終成果」負「完全責任」
2. 把事做完,還要做得更好
3. 刮風下雨,都是自己的責任
4. 對他人許下承諾、交出成果
5. 不怨天尤人,不當受害者
6. 從找藉口到找結果,建立當責文化

這六點真是高招阿,將所有上班時偷雞摸狗,打混摸魚的伎倆,完全封鎖,再也無任何藉口。卻也將企業行之有年的5*8(註一)工時,進而推到7*24(註二)工時,卻不必支付超時工時的任何一毛錢。

企業是追求利潤而存在的,而員工也是追求自己的利潤,而存在於公司。當公司為了提高自己的利潤,要求員工盡心盡力對待公司,而犧牲員工微薄的工時利潤。用《當責》的口號,實行在這金融海嘯中,對上班族來說,無疑是白色恐怖的另一呈現。

《當責》的概念並沒有錯,它可以套用到任何地方,從個人到國家,每個地方皆適用。然而企業無限制的上綱,卻造成壓榨員工工時不合理的現象。

舉例來說,公司某個生產設備,因不明原因故障,經搶修後,終於恢復正常。在《當責》的大帽子下,這時候員工必須做以下事情:

1、調查為何設備會故障?影響範圍有多大?公司損失多少金額?後續如何處理才不會再次發生?

2、將調查結果寫成報告,經過中間主管層層修飾過後,最後送到大老闆手上,運氣好的話,大老闆喵過一眼,說聲知道了。運氣不好,老闆又從報告中問東問西,這時候該位當責的員工,又得查東查西,以滿足高層的要求。

上述狀況在各家企業很常見,所不同的是,你是用上班時間去完成上述的事情,還是用下班後自己的時間完成這些事情?

我有位同事,是落實《當責》這兩個字最好的典範。他曾經為了查網路斷線原因,從事件發生,到完成報告,整整兩天一夜沒休息過。看著他血絲通紅的眼睛,我跟他說你怎麼不先回去休息,他說老闆還要改報告,他怎麼有辦法回去。而他的老闆(也是我的老闆),早已經休息一個晚上,第二天生龍活虎的人。

高階主管在看報告的同時,不見得知道這是底下員工賣命得來的結果。若有員工發生過勞死,企業通常只是一句”我們走了一位優秀的同事”,作為開場與結尾。

當然,不是每個員工都能如此勞心勞力,打混摸魚的也很多。實情是,這些偷斤減兩的員工用《當責》來管理,不見得能改善。反而是原本就很有責任感的員工,得花更多的心力,來完成上層交代的任務。

公司為暸解員工平常都在幹麻,多會要求寫日報、週報等,計算你的工時是否落在平均值內。但在《當責》的管理模式內,時間卻變成無意義可言,因為只有任務完成與否,沒有加班算錢的說法。員工不跟公司計較時間,公司卻跟員工計較工時,很現實也很可悲。

身為員工的小蝦米,如何對抗公司這條大鯨魚。它是你的衣食父母,所以對你呼來喚去。換個跑道嗎?會更好嗎?我沒有答案。

註一:5*8工時,每週上班5天,每天8小時,超過算加班費。
註二:7*24工時,每週上班7天,每天24小時待命。