亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

屏幕錄制方法與裝置的制作方法

文檔序號:7767172閱讀:264來源:國知局
專利名稱:屏幕錄制方法與裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,特別涉及一種屏幕錄制方法與裝置。
背景技術(shù)
隨著計算機應(yīng)用的普及,在教育、會議、演講等過程中,經(jīng)常采用電腦來演示 相關(guān)內(nèi)容,為方便觀眾回顧,通常需要將現(xiàn)場聲音及屏幕畫面錄制下來,形成視頻以便 回放。目前的屏幕錄制技術(shù)根據(jù)數(shù)據(jù)保存地址的不同主要分兩種一種是在錄制前開 辟一塊比較大的內(nèi)存,將采集和壓縮的圖像聲音數(shù)據(jù)全部保存在內(nèi)存中,圖像聲音每采 集一幀壓縮一幀,由于采用單線程,壓縮速度較慢,從而幀率被限制在5幀/秒以下,且 內(nèi)存占用大,CPU占用超過60%,甚至達(dá)到100%;另一種是將采集的圖像聲音數(shù)據(jù)保存 在文件中,采集完畢后再對文件進(jìn)行壓縮,壓縮完后圖像聲音還需保存在文件中,容易 造成讀寫文件沖突,致使CPU占用率增高,幀率也被限制在5幀/秒以下,且采集完后 再壓縮造成錄制耗時較長。

發(fā)明內(nèi)容
本發(fā)明提供了一種屏幕錄制方法與裝置,以減少錄制過程中對內(nèi)存和CPU的占 用,改善錄制得到的視頻文件的流暢度,從而提高屏幕錄制的效率和質(zhì)量。本發(fā)明的屏幕錄制方法,包括步驟
采集圖像和聲音,將采集的聲音保存在聲音文件中,將采集的圖像寫入內(nèi)存; 判斷是否接收到錄制結(jié)束命令,若接收到則進(jìn)入下述步驟,若未接收到則返回上述 步驟,同時進(jìn)入下述步驟;
判斷內(nèi)存中是否有圖像,有則采用M個線程對內(nèi)存中的圖像進(jìn)行壓縮,將壓縮后的 圖像保存在圖像文件中,沒有則對所述聲音文件中的聲音進(jìn)行壓縮,將壓縮后的聲音插 入壓縮后的圖像形成視頻文件。優(yōu)選地,
在所述步驟采集圖像和聲音之前還包括在內(nèi)存中建立包含N個節(jié)點的循環(huán)鏈表, 所述步驟將采集的圖像寫入內(nèi)存的具體實現(xiàn)方式為將采集的每幀圖像依次循環(huán)寫 入所述循環(huán)鏈表的N個節(jié)點,
所述步驟判斷內(nèi)存中是否有圖像,有則采用M個線程對內(nèi)存中的圖像進(jìn)行壓縮的具 體實現(xiàn)方式為判斷N個節(jié)點中是否有圖像,有則采用M個線程對N個節(jié)點中的圖像按 照寫入的順序進(jìn)行壓縮,
所述M ^ (采集幀率/單個線程的壓縮幀率+1),所述N 2 M。優(yōu)選地,
在所述步驟建立包含N個節(jié)點的循環(huán)鏈表的同時,為每個節(jié)點配置一個標(biāo)志位,并 將所述標(biāo)志位的初始標(biāo)志設(shè)為已讀,所述步驟將采集的每幀圖像依次循環(huán)寫入所述循環(huán)鏈表的N個節(jié)點的具體實現(xiàn)方式 為判斷待寫入節(jié)點的標(biāo)志位是否為已讀,若否則等待直至該節(jié)點的標(biāo)志位變?yōu)橐炎x, 若是則將采集的圖像寫入該節(jié)點并將該節(jié)點的標(biāo)志位置為已寫,對N個節(jié)點依次循環(huán)進(jìn) 行前述步驟,
所述步驟判斷N個節(jié)點中是否有圖像,有則采用M個線程對N個節(jié)點中的圖像按 照寫入的順序進(jìn)行壓縮的具體實現(xiàn)方式為判斷N個節(jié)點是否有一個以上的標(biāo)志位為已 寫,若有則采用M個線程對標(biāo)志位為已寫的節(jié)點中的圖像按照寫入的順序進(jìn)行壓縮,每 壓縮完一個節(jié)點的圖像將該節(jié)點的標(biāo)志位置為已讀。優(yōu)選地,所述壓縮采用的壓縮技術(shù)為H.264。本發(fā)明的屏幕錄制方法,將圖像與聲音分開保存,圖像保存在內(nèi)存,聲音保存 在文件,對圖像的保存和壓縮同步進(jìn)行,內(nèi)存中的圖像寫入后即被壓縮進(jìn)程讀走,不會 占用大內(nèi)存,對聲音則在全部保存結(jié)束后再壓縮,相比圖像聲音保存在一起且同時壓縮 的方法,本方法減少了 CPU的占用率和壓縮過程中讀寫文件的沖突,且壓縮采用多線 程,進(jìn)一步提高了壓縮的速度,使本方法支持更高的采集幀率,從而改善了視頻文件的 播放流暢度。本發(fā)明的屏幕錄制裝置,包括
采集與保存模塊,用于在接到下述采集命令后采集圖像和聲音,并將采集的聲音保 存在聲音文件中,將采集的圖像寫入內(nèi)存,向下述錄制結(jié)束判斷模塊發(fā)送判斷命令;
錄制結(jié)束判斷模塊,用于在接到所述判斷命令后判斷是否接收到錄制結(jié)束命令,若 接收到則向下述壓縮模塊發(fā)送壓縮命令,若未接收到則向所述采集與保存模塊發(fā)送采集 命令,同時向下述壓縮模塊發(fā)送壓縮命令;
壓縮模塊,用于在接到所述壓縮命令后判斷內(nèi)存中是否有圖像,有則采用M個線程 對內(nèi)存中的圖像進(jìn)行壓縮,將壓縮后的圖像保存在圖像文件中,沒有則對所述聲音文件 中的聲音進(jìn)行壓縮,將壓縮后的聲音插入壓縮后的圖像形成視頻文件。優(yōu)選地,
還包括循環(huán)鏈表建立模塊,用于在內(nèi)存中建立包含N個節(jié)點的循環(huán)鏈表,
所述采集與保存模塊還用于將采集的每幀圖像依次循環(huán)寫入所述循環(huán)鏈表的N個節(jié)
點,
所述壓縮模塊還用于通過判斷N個節(jié)點中是否有圖像來判斷內(nèi)存中是否有圖像,并 在N個節(jié)點中有圖像時采用M個線程對N個節(jié)點中的圖像按照寫入的順序進(jìn)行壓縮, 所述M ^ (采集幀率/單個線程的壓縮幀率+1),所述N2M。優(yōu)選地,
所述循環(huán)鏈表建立模塊還用于為每個節(jié)點配置一個標(biāo)志位,將所述標(biāo)志位的初始標(biāo) 志設(shè)為已讀,
所述采集與保存模塊還用于通過下述方式來實現(xiàn)將采集的每幀圖像依次循環(huán)寫入所 述循環(huán)鏈表的N個節(jié)點的功能判斷待寫入節(jié)點的標(biāo)志位是否為已讀,若否則等待直至 該節(jié)點的標(biāo)志位變?yōu)橐炎x,若是則將采集的圖像寫入該節(jié)點并將該節(jié)點的標(biāo)志位置為已 寫,對N個節(jié)點依次循環(huán)進(jìn)行前述步驟,
所述壓縮模塊還用于通過下述方式來實現(xiàn)對N個節(jié)點中是否有圖像的判斷及在有圖像時采用M個線程對N個節(jié)點中的圖像按照寫入的順序進(jìn)行壓縮的功能判斷N個節(jié)點 是否有一個以上的標(biāo)志位為已寫,若有則采用M個線程對標(biāo)志位為已寫的節(jié)點中的圖像 按照寫入的順序進(jìn)行壓縮,每壓縮完一個節(jié)點的圖像將該節(jié)點的標(biāo)志位置為已讀。優(yōu)選地,所述壓縮模塊采用的壓縮技術(shù)為H.264。本發(fā)明的屏幕錄制裝置,其采集與保存模塊將圖像與聲音分開保存,將圖像保 存在內(nèi)存,將聲音保存在文件,圖像被寫入內(nèi)存后既被壓縮模塊讀走,使本裝置的錄制 過程不會占用大內(nèi)存,聲音則在全部被保存結(jié)束后壓縮模塊再對其壓縮,相比將圖像聲 音保存在一起且同時壓縮的裝置,本裝置減少了 CPU的占用率和壓縮過程中讀寫文件的 沖突,且壓縮模塊采用多線程進(jìn)行壓縮,進(jìn)一步提高了壓縮的速度,使本裝置支持更高 的采集幀率,從而改善了視頻文件的播放流暢度。


圖1是本發(fā)明屏幕錄制方法實施例二的流程示意圖; 圖2是本發(fā)明屏幕錄制裝置實施例一的結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明針對現(xiàn)有技術(shù)存在的缺點,提供了一種屏幕錄制方法,將內(nèi)存與文件相 結(jié)合,圖像與聲音分開壓縮,從而提高了壓縮速度減少了 CPU和內(nèi)存的占用,總體改善 了錄制效果,下面結(jié)合附圖與實施例詳細(xì)解釋本發(fā)明的屏幕錄制方法。實施例一
本發(fā)明的屏幕錄制方法,包括
步驟101、采集圖像和聲音,將采集的聲音保存在聲音文件中,將采集的圖像寫入內(nèi)
存;
步驟102、判斷是否接收到錄制結(jié)束命令,若接收到則進(jìn)入步驟103,若未接收到則 返回步驟101,同時進(jìn)入步驟103;
步驟103、判斷內(nèi)存中是否有圖像,有則進(jìn)入步驟104,沒有則進(jìn)入步驟105; 步驟104、采用M個線程對內(nèi)存中的圖像進(jìn)行壓縮,將壓縮后的圖像保存在圖像文 件中;
步驟105、對所述聲音文件中的聲音進(jìn)行壓縮,將壓縮后的聲音插入壓縮后的圖像形 成視頻文件。本實施例步驟101通過截屏獲取屏幕的當(dāng)前圖像,從麥克風(fēng)獲取當(dāng)前聲音,并 將圖像聲音分開保存。由于圖像占用空間較大,為加快處理速度,將圖像直接保存在內(nèi) 存,將聲音保存在硬盤的聲音文件中。保存完后,步驟102判斷是否接收到錄制結(jié)束命 令,若未接收到則繼續(xù)采集下一幀圖像和聲音,同時通過步驟103進(jìn)入步驟104對內(nèi)存中 保存的圖像進(jìn)行壓縮處理,為節(jié)省內(nèi)存,壓縮后的圖像保存至硬盤的圖像文件;若接收 到錄制結(jié)束命令,說明用戶需要結(jié)束錄制,此時停止采集,不再返回步驟101,而只進(jìn)入 步驟103,步驟104將之前采集的圖像壓縮完后,內(nèi)存中不再存有圖像,即圖像的壓縮工 作已完成,接著進(jìn)行步驟105對聲音進(jìn)行壓縮,聲音壓縮完后將壓縮后的聲音插入壓縮 后的對應(yīng)幀的圖像中既得到最終的視頻文件。
步驟103中判斷內(nèi)存中是否有圖像的步驟,是為了確定何時對圖像壓縮何時對 聲音壓縮,也可以在收到錄制結(jié)束命令時記錄錄制時間,根據(jù)錄制時間來判斷圖像的壓 縮是否已完成,在完成時轉(zhuǎn)入聲音壓縮。另外步驟104中提及了 M個線程,M是大于等 于1的數(shù),線程數(shù)越多,總體壓縮速度越快,支持的幀率也就越高,同時也將占用大量 的資源,其具體取值可根據(jù)采集幀率和壓縮技術(shù)的壓縮幀率來決定。實施例二
實施例一將圖像保存至內(nèi)存,每寫入一次變換一次地址,如圖1所示,為簡化讀寫 操作,本實施例在內(nèi)存中創(chuàng)建一個循環(huán)鏈表,整個采集過程僅涉及有限的幾個地址,詳 情如下。在步驟101之前還包括步驟100
步驟100、在內(nèi)存中建立包含N個節(jié)點的循環(huán)鏈表。至此,后續(xù)步驟中涉及的內(nèi)存由上述循環(huán)鏈表中的N個節(jié)點來代表,每個節(jié)點 的大小即一幀圖像的大小。步驟101將采集的每幀圖像依次寫入循環(huán)鏈表的N個節(jié)點內(nèi), 每個節(jié)點寫入一幀,當(dāng)?shù)贜個節(jié)點被寫入后,轉(zhuǎn)至第1個節(jié)點繼續(xù)寫入,如此循環(huán)。同 時,步驟104也在對圖像進(jìn)行壓縮,對于每個節(jié)點,在下次寫入前,此次寫入的圖像已 被壓縮進(jìn)程讀走,該節(jié)點已空,壓縮進(jìn)程跟隨寫入的順序依次循環(huán)對N個節(jié)點內(nèi)的圖像 進(jìn)行壓縮,直至沒有圖像。作為一個優(yōu)選實施例,為避免某節(jié)點的圖像尚未壓縮既有新圖像寫入和新圖像 寫入前所有節(jié)點的圖像均已壓縮完的情況,采集速度與壓縮速度相等。為實現(xiàn)這個特 征,壓縮進(jìn)程數(shù)M應(yīng)大于等于采集幀率與單個線程壓縮幀率的比值,其中,采集幀率即 每秒鐘采集圖像的幀數(shù),也即采集速度,壓縮幀率即為每個線程每秒壓縮的幀數(shù),理論 上,壓縮線程數(shù)乘以單個線程的壓縮幀率即為M個線程總的壓縮幀率,也即壓縮速度, 而實際上,由于資源有限,壓縮速度往往稍慢于理論值,因此壓縮線程數(shù)應(yīng)比理論值多 一兩個,同時,為提高效率,節(jié)點數(shù)N也應(yīng)大于壓縮進(jìn)程數(shù)M。本實施的其他技術(shù)特征與實施例一相同,在此不予贅述。實施例三
本實施例為每個節(jié)點增設(shè)了標(biāo)志位,以避免采集速度與壓縮速度不一致導(dǎo)致的錯 誤,具體如下。在步驟100建立包含N個節(jié)點的循環(huán)鏈表的同時,為每個節(jié)點配置一個標(biāo)志位, 并將標(biāo)志位的初始標(biāo)志設(shè)為已讀,已讀的意思為該節(jié)點尚未存入圖像或圖像已讀走。實施例二中步驟101將采集的每幀圖像依次循環(huán)寫入所述循環(huán)鏈表的N個節(jié)點的 具體實現(xiàn)方式為判斷待寫入節(jié)點的標(biāo)志位是否為已讀,若否則等待直至該節(jié)點的標(biāo)志 位變?yōu)橐炎x,若是則將采集的圖像寫入該節(jié)點并將該節(jié)點的標(biāo)志位置為已寫,對N個節(jié) 點依次循環(huán)進(jìn)行此步驟,已寫的意思為該節(jié)點已存入圖像。實施例二中步驟103的具體實施方式
為判斷N個節(jié)點是否有一個以上的標(biāo)志 位為已寫,若有則進(jìn)入步驟104,若無則進(jìn)入步驟105。實施例二中步驟104的具體實施方式
為采用M個線程對標(biāo)志位為已寫的節(jié)點 中的圖像按照寫入的順序進(jìn)行壓縮,每壓縮完一個節(jié)點的圖像將該節(jié)點的標(biāo)志位置為已讀。
由以上描述可知,標(biāo)志位的存在阻止了未壓縮就寫入的發(fā)生,以及對錄制結(jié)束 的誤判。另外,本實施例采用H.264對圖像和聲音進(jìn)行壓縮,H.264技術(shù)的優(yōu)點為圖像清 晰度高和壓縮比率高,從而減小視頻文件占用的空間,提高播放時的清晰度。本實施例的其他技術(shù)特征與實施例二相同,在此不予贅述。本發(fā)明的屏幕錄制裝置是與本發(fā)明的屏幕錄制方法相對應(yīng)的裝置,下面結(jié)合附 圖與實施例詳細(xì)解釋本裝置。實施例一
本發(fā)明的屏幕錄制裝置,如圖2所示,包括
采集與保存模塊,用于在接到下述采集命令后采集圖像和聲音,并將采集的聲音保 存在聲音文件中,將采集的圖像寫入內(nèi)存,向下述錄制結(jié)束判斷模塊發(fā)送判斷命令;
錄制結(jié)束判斷模塊,用于在接到所述判斷命令后判斷是否接收到錄制結(jié)束命令,若 接收到則向下述壓縮模塊發(fā)送壓縮命令,若未接收到則向所述采集與保存模塊發(fā)送采集 命令,同時向下述壓縮模塊發(fā)送壓縮命令;
壓縮模塊,用于在接到所述壓縮命令后判斷內(nèi)存中是否有圖像,有則采用M個線程 對內(nèi)存中的圖像進(jìn)行壓縮,將壓縮后的圖像保存在圖像文件中,沒有則對所述聲音文件 中的聲音進(jìn)行壓縮,將壓縮后的聲音插入壓縮后的圖像形成視頻文件。由以上描述及圖2可知,上述三個模塊依次相連,采集與保存模塊將圖像與聲 音保存完后向錄制結(jié)束判斷模塊發(fā)送判斷命令,錄制結(jié)束模塊在未接收到錄制結(jié)束命令 時,向采集與保存模塊發(fā)送采集命令,向壓縮模塊發(fā)送壓縮命令,在接收到錄制結(jié)束命 令后僅向壓縮模塊發(fā)送壓縮命令。采集與保存模塊接不到采集命令不再進(jìn)行采集。實施例二
本實施例增加了一個循環(huán)鏈表建立模塊,該模塊用于在內(nèi)存中建立包含N個節(jié)點的 循環(huán)鏈表,所述采集與保存模塊還用于將采集的每幀圖像依次循環(huán)寫入所述循環(huán)鏈表的 N個節(jié)點,所述壓縮模塊還用于通過判斷N個節(jié)點中是否有圖像來判斷內(nèi)存中是否有圖 像,并在N個節(jié)點中有圖像時采用M個線程對N個節(jié)點中的圖像按照寫入的順序進(jìn)行壓 縮,其中,M^ (采集幀率/單個線程的壓縮幀率+1),N2M。本實施例的其他技術(shù)特征與實施例一相同,在此不予贅述。實施例三
本實施例中的循環(huán)鏈表建立模塊還用于為每個節(jié)點配置一個標(biāo)志位,將所述標(biāo)志位 的初始標(biāo)志設(shè)為已讀,采集與保存模塊還用于通過下述方式來實現(xiàn)將采集的每幀圖像依 次循環(huán)寫入所述循環(huán)鏈表的N個節(jié)點的功能判斷待寫入節(jié)點的標(biāo)志位是否為已讀,若 否則等待直至該節(jié)點的標(biāo)志位變?yōu)橐炎x,若是則將采集的圖像寫入該節(jié)點并將該節(jié)點的 標(biāo)志位置為已寫,對N個節(jié)點依次循環(huán)進(jìn)行前述步驟,壓縮模塊還用于通過下述方式來 實現(xiàn)對N個節(jié)點中是否有圖像的判斷及在有圖像時采用M個線程對N個節(jié)點中的圖像按 照寫入的順序進(jìn)行壓縮的功能判斷N個節(jié)點是否有一個以上的標(biāo)志位為已寫,若有則 采用M個線程對標(biāo)志位為已寫的節(jié)點中的圖像按照寫入的順序進(jìn)行壓縮,每壓縮完一個 節(jié)點的圖像將該節(jié)點的標(biāo)志位置為已讀。此外,本實施例的壓縮模塊采用的壓縮技術(shù)為H.264。
本實施例的其他技術(shù)特征與實施例二相同,在此不予贅述。將本發(fā)明的屏幕錄制方法與裝置結(jié)合使用,即可實現(xiàn)高效率高質(zhì)量的屏幕錄 制。以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護范圍的限定。任何在本發(fā) 明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保 護范圍之內(nèi)。
權(quán)利要求
1.一種屏幕錄制方法,其特征在于,包括采集圖像和聲音,將采集的聲音保存在聲音文件中,將采集的圖像寫入內(nèi)存; 判斷是否接收到錄制結(jié)束命令,若接收到則進(jìn)入下述步驟,若未接收到則返回上述 步驟,同時進(jìn)入下述步驟;判斷內(nèi)存中是否有圖像,有則采用M個線程對內(nèi)存中的圖像進(jìn)行壓縮,將壓縮后的 圖像保存在圖像文件中,沒有則對所述聲音文件中的聲音進(jìn)行壓縮,將壓縮后的聲音插 入壓縮后的圖像形成視頻文件,所述M為大于等于1的任意整數(shù)。
2.根據(jù)權(quán)利要求1所述的屏幕錄制方法,其特征在于,在所述步驟采集圖像和聲音之前還包括在內(nèi)存中建立包含N個節(jié)點的循環(huán)鏈表, 所述每個節(jié)點為一幀圖像的大小,所述步驟將采集的圖像寫入內(nèi)存的具體實現(xiàn)方式為將采集的每幀圖像依次循環(huán)寫 入所述循環(huán)鏈表的N個節(jié)點,所述步驟判斷內(nèi)存中是否有圖像,有則采用M個線程對內(nèi)存中的圖像進(jìn)行壓縮的具 體實現(xiàn)方式為判斷N個節(jié)點中是否有圖像,有則采用M個線程對N個節(jié)點中的圖像按 照寫入的順序進(jìn)行壓縮,所述M ^ (采集幀率/單個線程的壓縮幀率+1),所述N2M。
3.根據(jù)權(quán)利要求2所述的屏幕錄制方法,其特征在于,在所述步驟建立包含N個節(jié)點的循環(huán)鏈表的同時,為每個節(jié)點配置一個標(biāo)志位,并 將所述標(biāo)志位的初始標(biāo)志設(shè)為已讀,所述步驟將采集的每幀圖像依次循環(huán)寫入所述循環(huán)鏈表的N個節(jié)點的具體實現(xiàn)方式 為判斷待寫入節(jié)點的標(biāo)志位是否為已讀,若否則等待直至該節(jié)點的標(biāo)志位變?yōu)橐炎x, 若是則將采集的圖像寫入該節(jié)點并將該節(jié)點的標(biāo)志位置為已寫,對N個節(jié)點依次循環(huán)進(jìn) 行前述步驟,所述步驟判斷N個節(jié)點中是否有圖像,有則采用M個線程對N個節(jié)點中的圖像按 照寫入的順序進(jìn)行壓縮的具體實現(xiàn)方式為判斷N個節(jié)點是否有一個以上的標(biāo)志位為已 寫,若有則采用M個線程對標(biāo)志位為已寫的節(jié)點中的圖像按照寫入的順序進(jìn)行壓縮,每 壓縮完一個節(jié)點的圖像將該節(jié)點的標(biāo)志位置為已讀。
4.根據(jù)權(quán)利要求1或2或3所述的屏幕錄制方法,其特征在于,所述壓縮采用的壓縮 技術(shù)為H.264。
5.—種屏幕錄制裝置,其特征在于,包括采集與保存模塊,用于在接到下述采集命令后采集圖像和聲音,并將采集的聲音保 存在聲音文件中,將采集的圖像寫入內(nèi)存,向下述錄制結(jié)束判斷模塊發(fā)送判斷命令;錄制結(jié)束判斷模塊,用于在接到所述判斷命令后判斷是否接收到錄制結(jié)束命令,若 接收到則向下述壓縮模塊發(fā)送壓縮命令,若未接收到則向所述采集與保存模塊發(fā)送采集 命令,同時向下述壓縮模塊發(fā)送壓縮命令;壓縮模塊,用于在接到所述壓縮命令后判斷內(nèi)存中是否有圖像,有則采用M個線程 對內(nèi)存中的圖像進(jìn)行壓縮,將壓縮后的圖像保存在圖像文件中,沒有則對所述聲音文件 中的聲音進(jìn)行壓縮,將壓縮后的聲音插入壓縮后的圖像形成視頻文件。
6.根據(jù)權(quán)利要求5所述的屏幕錄制裝置,其特征在于,還包括循環(huán)鏈表建立模塊,用于在內(nèi)存中建立包含N個節(jié)點的循環(huán)鏈表,所述采集與保存模塊還用于將采集的每幀圖像依次循環(huán)寫入所述循環(huán)鏈表的N個節(jié)點,所述壓縮模塊還用于通過判斷N個節(jié)點中是否有圖像來判斷內(nèi)存中是否有圖像,并 在N個節(jié)點中有圖像時采用M個線程對N個節(jié)點中的圖像按照寫入的順序進(jìn)行壓縮, 所述M ^ (采集幀率/單個線程的壓縮幀率+1),所述N2M。
7.根據(jù)權(quán)利要求6所述的屏幕錄制方法,其特征在于,所述循環(huán)鏈表建立模塊還用于為每個節(jié)點配置一個標(biāo)志位,將所述標(biāo)志位的初始標(biāo) 志設(shè)為已讀,所述采集與保存模塊還用于通過下述方式來實現(xiàn)將采集的每幀圖像依次循環(huán)寫入所 述循環(huán)鏈表的N個節(jié)點的功能判斷待寫入節(jié)點的標(biāo)志位是否為已讀,若否則等待直至 該節(jié)點的標(biāo)志位變?yōu)橐炎x,若是則將采集的圖像寫入該節(jié)點并將該節(jié)點的標(biāo)志位置為已 寫,對N個節(jié)點依次循環(huán)進(jìn)行前述步驟,所述壓縮模塊還用于通過下述方式來實現(xiàn)對N個節(jié)點中是否有圖像的判斷及在有圖 像時采用M個線程對N個節(jié)點中的圖像按照寫入的順序進(jìn)行壓縮的功能判斷N個節(jié)點 是否有一個以上的標(biāo)志位為已寫,若有則采用M個線程對標(biāo)志位為已寫的節(jié)點中的圖像 按照寫入的順序進(jìn)行壓縮,每壓縮完一個節(jié)點的圖像將該節(jié)點的標(biāo)志位置為已讀。
8.根據(jù)權(quán)利要求5或6或7所述的屏幕錄制裝置,其特征在于,所述壓縮模塊采用的 壓縮技術(shù)為H.264。
全文摘要
本發(fā)明公開了一種屏幕錄制方法,將圖像保存在內(nèi)存,聲音保存在文件,對圖像的保存和壓縮同步進(jìn)行,對聲音則在全部保存結(jié)束后再壓縮,相比圖像聲音保存在一起且同時壓縮的方法,本方法減少了CPU的占用率和壓縮過程中讀寫文件的沖突,且壓縮采用多線程,進(jìn)一步提高了壓縮的速度,使本方法支持更高的采集幀率,從而改善了視頻文件的播放流暢度;本發(fā)明還公開了一種與上述方法對應(yīng)的屏幕錄制裝置,采集與保存模塊將采集的圖像與聲音分別保存在內(nèi)存與文件,壓縮模塊在接到錄制結(jié)束判斷模塊的壓縮命令后先對圖像壓縮再對聲音壓縮,與本發(fā)明的方法結(jié)合使用即可實現(xiàn)高效率高質(zhì)量的屏幕錄制。
文檔編號H04N7/26GK102012818SQ20101056835
公開日2011年4月13日 申請日期2010年12月1日 優(yōu)先權(quán)日2010年12月1日
發(fā)明者陳先志 申請人:廣東威創(chuàng)視訊科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1