2012年4月30日 星期一

Hw02


第三次的作業,少了複製貼上,多了研究和理解
怎麼給錄影檔案一個空間需要capFileSetCaptureFile的函數
怎麼開始錄影需要capCaptureSequence的函數
怎麼結束錄影需要capDriverConnect的函數
雖然大部分的程式都不是自己獨立寫出來的
但是慢慢詢問同學
還是可以了解大致上的架構
看似很難,好像只要搞懂函數定義
就可以像前幾次的連線、動態攝影靜態.......等等
成功的將影片錄影

Hw02



這一次的作業
因為要自己完成
剛開始有點不知道怎麼下手
詢問同學之後
了解capFileSetCaptureFile、capCaptureSequence、capDriverConnect分別的作用之後
就覺得跟之前製作畫面擷取有一點點相像

剛錄完的時候
在電腦裡面看
都是黑色的畫面
所以一直覺得自己的作業是失敗的
也不知道原因出在哪裡
可是之後直接上傳youtube就可以看了耶


HomeWork




這是這次的作業所錄的影片~
 
在做的時候有碰到一些問題 Ex: #include "vfw.h"這行必須放在#include 下方,不然程式會有Error  


然後 


 a. 指定錄影檔案名稱 ( capFileSetCaptureFile ) /////內定為 C:\CAPTURE.AVI 


 b. 取得錄影檔案名稱 ( capFileGetCaptureFile )


 c. 配置視訊檔磁碟空間 ( capFileAlloc ) 


 d. 開始連續視訊串流擷取 ( capCaptureSequence, capCaptureSequenceNoFile ) 


 e. 結束連續視訊串流擷取 ( capCaptureAbort, capCaptureStop ) 


這些函數都是上網尋找資料宣告和使用方法


 http://msdn.microsoft.com/en-us/library/windows/desktop/dd756905(v=vs.85).aspx 


都是用上述的網站來看使用的方式! 


 然後用法都是自己去試試,錯了就想出辦法解決。 








 整個開始做到結束大約花了2小時吧~ 


 網路上的資源還蠻豐富的,不算難! 


 在寫的時候有些東西還是會有些瓶頸 


例如函數寫好之後是不是放在同個按鈕都是要自己一個一個去試試看! 還


有資料型態的說明有小部分看不太懂用猜的去Run程式=...= (Ex:wSize,szName...etc)


以上!

2012年4月24日 星期二

Hw02


開始錄製




  影片錄製


心得

這次錄影程式碼找好久,還是透過跟同學討論才會的,像是錄影的變數宣告、檔案設定,這些通通都可以透過老師的部落格找到,很方便




HW02

影片錄製

影片


老師的部落格裡可以找到好多資源
就算是上網找資料
最後都會連到老師的部落格裡
真有趣

HW02

這次的作業是要我們錄一段影片上傳上去youtube!!
其實錄影跟拍照很類似
只要簡單的程式碼就可以開啟錄影的資訊了
capFileSetCaptureFile(hwndVideo,"001.avi"); ←這是指定說儲存檔案的名稱位子
capCaptureSequence(hwndVideo);←開始錄影
但是這個錄影後所儲存的資料名稱是固定的!!
capDriverDisconnect(hwndVideo);←這是中斷連線






我錄的影像是介紹Sony 手機才擁有的功能!
整合聯絡人的功能!
他可以同時同步所有連絡人的FB或簡訊或....
只要一按就可以看到每個人在每個地方所發的訊息或是他個人傳給你的訊息、未接來電等等!
可以的是...目前還沒有Google+的整合!Sony 應該已經在研發了!!很期待結合google+後會變怎樣唷!!!

HW02

這次的錄影功課,看起來很難,做完我當然覺得其實蠻簡單,哈哈。

首先就是要先了解幾個重要的語法:

1.   capFileSetCaptureFile(選擇目錄資料夾並建立檔案)
2.  capCaptureSequence(開始擷取影像)
3.  capDriverConnect(連線中斷)


我是用最簡單的方式,一個開始的按鈕,一個結束的按鈕。


再來就是按下按鈕,開始錄影囉。




錄製完成後,影片就會在你剛剛按下按鈕時所放置的位置了。



再來就是花時間,錄影影片並且上傳啦。




老師要求上傳至youtube。 



其實就是多看看老師部落格的文章,不論是新舊文都要看,裡面真的超多寶的。






HW02

這次連續視訊擷取其實還蠻輕鬆的,因為只做了一個功能
程式碼只是把之前的靜態拍攝修改一下就OK了
if(!capGrabFrame(hwndVideo)) 改成 if(!capCaptureSequence(hwndVideo))




但是遇到一個問題就是
靜態拍攝拍完之後,我沒辦法將畫面變成正常的(我是把一開始的開啟視訊的步驟ALL IN ONE成一個按鍵)

2012年4月23日 星期一

HW01






心得:
首先,學期開始的時候原本是預定要使用BCB的最新版本XE2
但是,在經過幾次的上課以後發現新版本還是有些許問題
除了每次上課只有少數人能有正常權限可以使用XE2的問題
要談的就是我在程式撰寫上出現的問題
在剛開始的時候我也是照老師說的使用XE2
而在最初的第一步需要宣告的變數部分
又分為32位元跟64位元的Char與WChar_t
最初因為學校電腦是win7的64位元
所以使用後者
但是卻出現了問題:後面的函數部分WChar_t無法轉換Char
所以我也就將最初的宣告改為Char
當下是沒有問題了
但是當出現第二個函數要使用Char的時候
又出現了問題: Char 無法轉換WChar_t
這下可好,這種只要改正其中一項,另一項就會出現錯誤
彷彿是鬼擋牆的錯誤著實令我頭大
所以只好請教老師了
中間的過程我想跳過會比較好
因為結果是問題無法解決加上這時候XE2權限問題
我又變得無法使用XE2,最後還是改用BCB6
而改用BCB6之後,之前的錯誤就好像沒發生一樣
很順利的讓我完成了這支程式
果然新版本的環境還是擁有很多不確定性!?

作業2 錄影


這次錄影的程式碼較為簡單,只要瞭解這段程式在幹嘛其它的就好做了。

capCaptureSequence(hwndVideo);開始錄影
capFileSetCaptureFile(hwndVideo,"錄影001.avi");儲存的影片檔名為:錄影001.avi

2012年4月17日 星期二

視訊壓縮+HW2 錄影


一開始未安裝其他壓縮方式 video compression


進行錄影 13秒的影片就要54mb了



安裝後再開啟video compression

Xvid -code壓縮

錄影中...

經由這個壓縮方式

23秒的影片 1.31mb


更多的壓縮方式