星期四, 9月 21, 2006
影片格式筆記
Mpeg2:為DVD轉用格式,比mpeg1壓縮得好,畫質較清晰。
Mpeg3:勿與mp3搞混。Mpeg3是設計給HDTV(一種高畫質電視)使用的;mp3是MPEG-1 Audio Layer 3的簡稱,用於音樂上。
Mpeg4:又稱DivX影片,多為avi格式,主要用於壓縮聲音跟影片,需要解碼器才能觀看。大部分都是拿來備份DVD影片用的。
串流:有微軟的ASF或WMV格式,前者為舊版,後者為新版。(當然也有QuickTime跟RealNetwork支持的格式,但我懶得寫…)
DVD影片轉檔筆記
DVD轉Mpeg
- 沒加密:複製DVD裡的VOB檔,直接把副檔名改成mpg
- 加密過:用類比方式擷取,如用Super DVD Ripper。
DVD轉AVI
- 沒加密:改副檔名,然後用會聲會影、Adobe Premiere或VirtualDub(免費軟體)。
- 加密過:
DVD中片段剪輯後併成DVD
- 未加密:DVD Shrink(免費軟體)、TMPGEnc DVD Author(1.6以後版本)。
- 加密過:DVD Shrink(免費軟體)
DVD中片段剪輯(不併檔)成mpg
- 未加密:修改副檔名成mpg後,用VideoSpilitter剪。(剛試過是可以,可是影片品質有點問題,正在試新版)
- 加密過:
果然不是專業.....@@
星期三, 9月 20, 2006
DVD影片中的VOB編輯法
副檔名VOB是DVD所專屬的格式,但是提供VOB編輯的軟體並不多。以下有幾個目前找到的VOB編輯軟體。VOB剪接完後雖然仍維持VOB的格式,但是不能將這些檔複製到資料夾中燒錄,這樣DVD Player是認不得的,需要再經過Rebuild的動作。
- VobEdit http://mpucoder.kewlhair.com/Derrow/
- vobSplitter 2.6 for Win32 26.11.01
- VobBlanker
- 據說TMPGEnc DVD Author 1.6以後版本可以Cut,可是我沒試成功
- 會聲會影8可以讀入VOB檔,可是我每次要剪就當機....
- http://www.virtualdub.org我覺得比較好用的,直接轉成avi
如果是轉好要重編成DVD的話,要用Rebuild才行
參考http://www.doom9.org/index.html?/mpg/dvdrb.htm
編輯完還是VOB檔的話,要分享給別人,記得轉成mpg、avi或是rm檔。
VOB除了這些編輯器以外,還有一招大絕招,就是改檔名。將VOB這種副檔名直接改成mpg就行了。但是如果VOB加密的話,就不能用這招了。
(謎之聲:啊你之前說那些是在耍人喔....)
星期二, 8月 01, 2006
使用TTS(C#)
在Asp.net用TTS的方法跟http://likaincu.cnblogs.com/articles/440997.html 說的一樣,都是用C#。
步驟如下:
1.Add reference: Microsoft Speech Object Library
2.拉textbox跟button3.button的click事件寫下:
SpVoiceClass voice = new SpVoiceClass();
voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0); //其中3为中文,024为英文
voice.Speak(TextBox1.Text, SpeechVoiceSpeakFlags.SVSFDefault);
目前試英文而已,中英混排還沒研究。下次要試js的寫法,因為頁面不會刷新。
星期三, 7月 19, 2006
ResetPassword
其實不然,翻看ASP.net的論壇,微軟的開發者提出了一種技巧:Providers。另外設一組requiresQuestionAndAnswer="false" 的provider,就可以輕易達到這個功能。
作法如下
1.改machine.config,xp在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG。加上新的一組provider,我的設定如下:
2. 新增個按紐,在onclick時寫下下面的東西,然後設個label把重設的密碼秀出來。如果可以的話,最好把新的密碼寄給使用者。
C#
MembershipProvider mp = Membership.Providers["AspNetAdminMembership"];
MembershipUser user = mp.GetUser(TreeView1.SelectedValue.ToString(), false);
lblPasswordReset.Text = user.ResetPassword();
VB
Dim mp As MembershipProvider = Membership.Providers("AspNetAdminMembership")
Dim user As MembershipUser = mp.GetUser(ddlUsers.SelectedItem.ToString, False)
Dim pass As String = user.ResetPassword
(C#跟VB有點出入,但我懶得改...)
3.記得把修改後的程式還有machine.config丟到主機上面
4.沒有了