星期四, 9月 21, 2006

影片格式筆記

Mpeg1:副檔名為mpeg或dat,為VCD專用。可直接用Windows Media Player觀看。
Mpeg2:為DVD轉用格式,比mpeg1壓縮得好,畫質較清晰。
Mpeg3:勿與mp3搞混。Mpeg3是設計給HDTV(一種高畫質電視)使用的;mp3是MPEG-1 Audio Layer 3的簡稱,用於音樂上。
Mpeg4:又稱DivX影片,多為avi格式,主要用於壓縮聲音跟影片,需要解碼器才能觀看。大部分都是拿來備份DVD影片用的。
串流:有微軟的ASF或WMV格式,前者為舊版,後者為新版。(當然也有QuickTime跟RealNetwork支持的格式,但我懶得寫…)

DVD影片轉檔筆記

DVD由於檔案特殊,而且體積龐大,如果要於電腦上播放或是重新編輯,都相當不便。但其高畫質又讓人捨不得轉檔。最近有一堆DVD要轉檔編輯,因此做了一下筆記。

DVD轉Mpeg

  • 沒加密:複製DVD裡的VOB檔,直接把副檔名改成mpg
  • 加密過:用類比方式擷取,如用Super DVD Ripper

DVD轉AVI

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的動作。

如果是轉好要重編成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 2.0是內建了給使用者使用的changepassword和passwordrecovery,但是如果使用者沒改密碼,也忘了密碼提示,要怎麼辦呢?沒錯,微軟是設計了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.沒有了

星期四, 7月 06, 2006

GridView加上刪除確認按鈕

如果已經會使用button內建的onclientclick,用Gridview的刪除確認就容易得多。在gridview新增的個template field,然後edit template選items template,新增一個按鈕,然後Command那些選delete,在onclientclick打return confirm('確定傳送?'),應該就大功告成了。

GridView無法新增

最近看好幾本新書都說Gridview有新增的功能,一直試半天都試不出來。最近看祭司的書才明說:GridView沒有實作新增這一部分,必須透過Form或Detail才能新增。