2010年2月27日 星期六

A note about ffmpeg - convert video to DVD/VCD/SVCD

4th aunt request me to burn her video into svcd. After trying Avidemux, I decide google for better solution.

I can type many options in console to convert it in fact. But it's not possible for my aunt to use a terminal. I found an option seems very useful when writing scripts for my aunt.

Below are copied from ffmpeg's manual.
-target type
   Specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ... ). All the format options (bitrate, codecs, buffer sizes) are then set automatically. You can just type:

         ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

   Nevertheless you can specify additional options as long as you know they do not conflict with the standard, as in:

         ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
So I can write an script, using zenity for file selection, then convert it using "ffmpeg -i source_file -target svcd target_file" command.

2010年2月24日 星期三

再訪艾比路

這是第二次來了,上次是年前的 ubuntu-tw 社群小聚時來的。 今天是去NOVA買東西的時候轉錯彎,剛好到了附近。

從上次來過之後,就一直沒有機會喝到比較正常的咖啡。 小七的咖啡機和豆子都不算太糟糕,不過沖出來總覺得味道不太對勁。

再往前追一點,似乎就是在中偉喝的那次了。

縱使曾經喝到咖啡因中毒,始終還是惦著這份味道。有人說咖啡就是性愛,看來真是有點道理。


滿巧的是,艾比路是國中同學開的,從畢業就沒有再連絡過的同學。

撇開這個不談,艾比路的訴求是音樂和休閒。雖然不是多特別的想法,但這家店確實有做到。

略暗偏黃的燈光讓人放鬆;木紋桌面有點搖晃,反而覺得像在家裡一樣。櫃上的Hershey's恰好讓我這個酷愛甜食的人,在胡思亂想的時候,讓目光有個螢幕或周邊客人以外的停駐點。音樂非常有BGM效果,不會讓人太過專注在聽,卻又相當悅耳。

我無法確認老闆和氣又不失熱情的態度是因為見到老朋友,又或是本來就是這樣。至少雙耳所聞,與客人間透著真誠味的對話,應該足以說明了。

撰文的同時,觀人相貌的老毛病又犯了。和 match cafe 一樣,來這的人雖然平凡無奇,卻都是心有堅持的面孔。雖然不能看出來所持之念,雖然本人或許都無法察覺自已在堅持的時候所得到的東西,但有所堅持必有其回報,背影中和潤的感覺就是最好的註腳。

喝咖啡的時候不見得都會想很多,也許是旁邊客人聽不清的私語聲,夾著背景音樂不時流到耳裡的幾個段落,讓心裡期待卻最不實用的東西浮上來了吧?

艾比路的店徽

2010年2月16日 星期二

淺談 debian packging -2

binary package 其實一點都不神秘,每一台 debian(或 deb based) 的機器都有完整的工具可以解開他的面紗。最主要的工具就是 dpkg-deb

查看 dpkg-deb 的 man page,可以看到這個工具不止可以解開,還可以修改、建立 deb 檔。在建立 deb 檔的部份,可以看到 deb 檔格式的部份面貌:

Creates  a  debian  archive  from  the filesystem tree stored in directory. directory must have a DEBIAN subdirectory, which contains  the  control  information  files such as the control fileitself. This directory will not appear in the  binary  package's filesystem  archive,  but instead the files in it will be put in the binary package's control information area.

也就是說,每個 deb 檔都要有一個名為 DEBIAN/ 的特殊目錄,這裡面放的是控制資訊。那麼控制資訊又是什麼呢?不如來實際操作一下好了:

2010年2月2日 星期二

使用 gmail 做為 git-email (git-send-email) 的 smtp server

git-send-email 是用 email 寄出一系列 patch檔的工具,對於大量使用 email 做為連絡工具的開發社群來說,是不可多得的好東西。

其實 man page 已經寫的非常詳細了,這裡只是做一些簡單的筆記。
有些命令列的參數是可以寫進 config file 裡的,可以減少每次都要下指令的麻煩。尤其是 smtp server 的部份(同時也是本文的重點)。

這裡要先提一下 gmail 的 smtp 設定。smtp server 是 smtp.gmail.com,必須要使用 ssl 加密,登入用的帳號是完整的 email 位址。

這些資料分別對應了 git-send-email 的 --smtp-server --smtp-encryption --smtp-user 等設定。
幸運的是,這些也是可以使用 config file 來設定的項目,不需要每次都手動輸入。

git config sendemail.smtpencryption "ssl"
git config sendemail.smtpserver "smtp.gmail.com"
git config sendemail.smtpuser "your@email.address"
git config sendemail.smtppass "your password"

git-send-email 的用法是 git send-email [選項] PATCH檔案、特定目錄、或是指定的版本

若是指定檔案,他會把檔案內容當作 email 寄出;指定目錄時會把目錄下的所有檔案都放在信件內文寄出;若是指定版本,則會將 patch 當成內文寄出。指定版本的方式與其他 git 工具都相同,這也是最主要的用途。

在預設情況下,會使用 git var -l 時顯示的 GIT_COMMITTER_IDENT 的值當成寄件者(From 標籤),Cc 標籤是 committer,subject 則是 commit log 及 patch 編號,同時也會設定 In-Reply-To 標籤,使這一系列的 email 能成為一串 thread。

比較常用的選項有
  • --bcc 為 bcc 標籤增加一個收信者
  • --cc 為 cc 標籤增加一個收信者
  • --compose 寄信前先打開編輯器,讓你可以為這一系列的 patch 輸入一些介紹的文字,做為信件內文的一部份
  • --from 更改 From 標籤
  • --subject 更改 Subject 標籤,只能與 --compose 一起使用
  • --to 增加一個收件者
  • --no-signed-off-by-cc 預設情況下會把 commit log 中 Signed-off-by 標籤和 Cc 標籤也都加入 email 收件者中,這個選項可以取消這個動作
  • --supress-cc 不要把特定種類的 email 加入 Cc 標籤,詳細的類別可以查看 man page;較常用的有 author - 作者,也就是 commiter,self - 自已,all - 不自動增加 Cc 標籤