一種控制視頻轉(zhuǎn)碼設(shè)備的方法及轉(zhuǎn)碼的方法與流程
1.本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種控制視頻轉(zhuǎn)碼設(shè)備的方法及轉(zhuǎn)碼方法。
背景技術(shù):
2.常用的io操作包含打開設(shè)備(open)、關(guān)閉設(shè)備(close)、讀取設(shè)備(read)、寫入設(shè)備(write)和管理設(shè)備io(ioctl)等。要想完全控制視頻轉(zhuǎn)碼設(shè)備進(jìn)行視頻的編解碼,一般都需要“控制命令”來配置轉(zhuǎn)碼參數(shù),獲取轉(zhuǎn)碼狀態(tài)。另外,需要“讀命令”來獲取轉(zhuǎn)碼后的視頻流和“寫命令”來寫入需要轉(zhuǎn)碼的視頻流。而現(xiàn)有通常是通過ioctl來實(shí)現(xiàn)這3種命令。ioctl是一個(gè)專用于設(shè)備輸入輸出操作的系統(tǒng)調(diào)用,其可以通過命令碼來告訴驅(qū)動(dòng)程序想要控制設(shè)備實(shí)現(xiàn)什么操作。例如,在linux系統(tǒng)上,采用nvme驅(qū)動(dòng)的視頻轉(zhuǎn)碼設(shè)備,可以通過ioctl發(fā)送0x42命令碼來控制設(shè)備,通過ioctl發(fā)送0x43命令碼來讀寫設(shè)備。
3.但是現(xiàn)有的通過ioctl來控制視頻轉(zhuǎn)碼的方法有很大的局限性。首先,ioctl操作的實(shí)現(xiàn)一般都需要管理員權(quán)限,并且ioctl操作的兼容性不好,不同的操作系統(tǒng)或虛擬化技術(shù)會(huì)采用不同的驅(qū)動(dòng)程序,針對(duì)每一種驅(qū)動(dòng)程序都需要開發(fā)新的接口,這些都限制了視頻轉(zhuǎn)碼設(shè)備的應(yīng)用。
技術(shù)實(shí)現(xiàn)要素:
4.本發(fā)明提供了一種控制視頻轉(zhuǎn)碼設(shè)備的方法及轉(zhuǎn)碼方法,以解決現(xiàn)有技術(shù)中通過ioctl進(jìn)行視頻轉(zhuǎn)碼存在系統(tǒng)不兼容的問題。
5.第一方面,一種視頻轉(zhuǎn)碼設(shè)備的控制方法,應(yīng)用于操作系統(tǒng)上,該方法包括:將視頻轉(zhuǎn)碼設(shè)備虛擬為存儲(chǔ)設(shè)備,并將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則進(jìn)行劃分,按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令;通過i/o讀寫命令的邏輯區(qū)塊地址lba將i/o讀寫命令映射為預(yù)設(shè)編解碼命令,以通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制,最終實(shí)現(xiàn)對(duì)視頻的壓縮處理;其中,所述預(yù)設(shè)編解碼命令包括打開命令、關(guān)閉命令、控制命令、讀命令和寫命令。
6.可選地,所述預(yù)設(shè)劃分原則為以滿足對(duì)各個(gè)預(yù)設(shè)編解碼命令進(jìn)行標(biāo)識(shí)區(qū)分為準(zhǔn)進(jìn)行設(shè)置。
7.可選地,將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則進(jìn)行劃分,按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令,包括:
8.將i/o讀寫命令的邏輯區(qū)塊地址lba,按照預(yù)設(shè)編解碼命令所需的標(biāo)識(shí)位將所述i/o讀寫命令的邏輯區(qū)塊地址lba依次劃分為多段,并按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令。
9.可選地,所述標(biāo)識(shí)位包括:實(shí)例編號(hào)標(biāo)識(shí)位、設(shè)備類型標(biāo)識(shí)位、命令類型標(biāo)識(shí)位、操作類型標(biāo)識(shí)位和操作子類型標(biāo)識(shí)位;
10.所述實(shí)例編號(hào)標(biāo)識(shí)位,占據(jù)7位,用于對(duì)視頻流進(jìn)行標(biāo)識(shí);
11.所述設(shè)備類型標(biāo)識(shí)位,占據(jù)1位,用于對(duì)解碼命令和編碼命令進(jìn)行標(biāo)識(shí),以區(qū)分是解碼命令還是編碼命令;
12.所述命令類型標(biāo)識(shí)位,占據(jù)2位,用于標(biāo)識(shí)命令類型,所述命令類型包括控制命令、讀輸入流命令和寫輸入流命令;
13.所述操作類型標(biāo)識(shí)位,占據(jù)3位,用于標(biāo)識(shí)控制命令的操作類型,所述操作類型包括:打開實(shí)例、關(guān)閉實(shí)例、查詢命令和配置命令;
14.所述操作子類型,占據(jù)4位,用于標(biāo)識(shí)區(qū)分每種操作類型的具體操作。
15.可選地,所述方法還包括:對(duì)所述實(shí)例編號(hào)標(biāo)識(shí)位、所述設(shè)備類型標(biāo)識(shí)位、所述命令類型標(biāo)識(shí)位、所述操作類型標(biāo)識(shí)位和所述操作子類型標(biāo)識(shí)位均對(duì)應(yīng)設(shè)置預(yù)設(shè)位數(shù)的保留位,以便于后續(xù)增加編碼路數(shù)和編碼類型使用。
16.可選地,所述通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制,包括:
17.通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)控制所述視頻轉(zhuǎn)碼設(shè)備進(jìn)行相應(yīng)的操作。
18.可選地,所述將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則進(jìn)行劃分,按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令,包括:
19.將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則依次劃分為多段,并按照劃分后的lba分段的順序,設(shè)置將每個(gè)lba分段均唯一對(duì)應(yīng)一個(gè)預(yù)設(shè)編解碼命令,同時(shí)將lba分段與預(yù)設(shè)編解碼命令之間的對(duì)應(yīng)關(guān)系進(jìn)行保存,以供后續(xù)查詢使用。
20.第二方面,本發(fā)明提供了一種基于上述任一種所述的控制方法進(jìn)行轉(zhuǎn)碼的方法,應(yīng)用于視頻轉(zhuǎn)碼設(shè)備側(cè),該方法包括:接收操作系統(tǒng)發(fā)送來的預(yù)設(shè)編解碼命令;對(duì)所述預(yù)設(shè)編解碼命令基于預(yù)設(shè)映射原則進(jìn)行解析,獲取所述預(yù)設(shè)編解碼命令的實(shí)例編號(hào),并根據(jù)所述實(shí)例編號(hào)來配置轉(zhuǎn)碼參數(shù),并基于所配置的轉(zhuǎn)碼參數(shù)完成對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制操作。
21.可選地,所述基于所述實(shí)例編號(hào)來配置轉(zhuǎn)碼參數(shù),包括:基于所述實(shí)例編號(hào)來配置視頻的格式和分辨率。
22.第三方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有信號(hào)映射的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被至少一個(gè)處理器執(zhí)行時(shí),以實(shí)現(xiàn)本發(fā)明上述中任一種所述的視頻轉(zhuǎn)碼設(shè)備的控制方法,和/或,上述中任一種所述的轉(zhuǎn)碼的方法。
23.本發(fā)明有益效果如下:
24.本發(fā)明通過對(duì)讀寫命令的lba(logical block address,邏輯區(qū)塊地址)進(jìn)行劃分,設(shè)定不同的lba代表不同的轉(zhuǎn)碼命令,以此來通過i/o讀/寫命令來實(shí)現(xiàn)不同的轉(zhuǎn)碼命令,進(jìn)而實(shí)現(xiàn)操作系統(tǒng)與視頻轉(zhuǎn)碼設(shè)備之間的通信,而不受操作系統(tǒng)的顯示,并且也不需要賦予管理員權(quán)限,從而在保證操作系統(tǒng)安全的前提下,實(shí)現(xiàn)視頻轉(zhuǎn)碼的兼容性。也就是說,本發(fā)明保證了視頻轉(zhuǎn)碼設(shè)備在任何操作系統(tǒng)上的兼容性,以及權(quán)限管理問題,并對(duì)虛擬機(jī),容器等也有很好的支持,不需要額外的權(quán)限設(shè)定。
25.上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
26.通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
27.圖1是本發(fā)明第一實(shí)施例提供的一種視頻轉(zhuǎn)碼設(shè)備的控制方法的流程示意圖;
28.圖2是本發(fā)明第一實(shí)施例提供的另一種視頻轉(zhuǎn)碼設(shè)備的控制方法的流程示意圖;
29.圖3是本發(fā)明第二實(shí)施例提供的一種視頻轉(zhuǎn)碼方法的流程示意圖。
具體實(shí)施方式
30.本發(fā)明實(shí)施例針對(duì)現(xiàn)有通過ioctl進(jìn)行視頻轉(zhuǎn)碼存在系統(tǒng)不兼容和需要管理員權(quán)限的問題,本發(fā)明通過對(duì)讀寫命令的lba(logical block address,邏輯區(qū)塊地址)進(jìn)行劃分,設(shè)定不同的lba代表不同的轉(zhuǎn)碼命令,以此來通過i/o讀/寫命令來實(shí)現(xiàn)不同的轉(zhuǎn)碼命令,進(jìn)而實(shí)現(xiàn)操作系統(tǒng)與視頻轉(zhuǎn)碼設(shè)備之間的通信,而不受操作系統(tǒng)的顯示,并且也不需要賦予管理員權(quán)限,從而在保證操作系統(tǒng)安全的前提下,實(shí)現(xiàn)視頻轉(zhuǎn)碼的兼容性。以下結(jié)合附圖以及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
31.本發(fā)明第一實(shí)施例提供了一種視頻轉(zhuǎn)碼設(shè)備的控制方法,參見圖1,應(yīng)用于操作系統(tǒng)上,該方法包括:
32.s101、將視頻轉(zhuǎn)碼設(shè)備虛擬為存儲(chǔ)設(shè)備,并將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則進(jìn)行劃分,按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令;
33.也即,本發(fā)明實(shí)施例是將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則依次劃分為多段,并按照劃分后的lba分段的順序,設(shè)置將每個(gè)lba分段均唯一對(duì)應(yīng)一個(gè)預(yù)設(shè)編解碼命令,同時(shí)將lba分段與預(yù)設(shè)編解碼命令之間的對(duì)應(yīng)關(guān)系進(jìn)行保存,以供后續(xù)查詢使用。
34.其中,本發(fā)明實(shí)施例中的預(yù)設(shè)劃分原則可以是按照lba的分塊順序等進(jìn)行設(shè)置,而本發(fā)明實(shí)施例中的預(yù)設(shè)映射原則也是可以任意設(shè)置,并在映射完成后,將lba分塊和具體對(duì)應(yīng)的命令通過設(shè)置標(biāo)識(shí)進(jìn)行對(duì)應(yīng),當(dāng)然也可以通過存儲(chǔ)到表格中,通過查表以明了分塊和命令的對(duì)應(yīng)關(guān)系,等等,具體本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明對(duì)此不作具體限定。
35.例如,在具體實(shí)施時(shí),可以對(duì)各個(gè)命令來設(shè)置與其相唯一對(duì)應(yīng)的編號(hào),然后通過該編號(hào)來將lba分塊和其對(duì)應(yīng)的命令進(jìn)行綁定。
36.s102、通過i/o讀寫命令的邏輯區(qū)塊地址lba將i/o讀寫命令映射為預(yù)設(shè)編解碼命令,以通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制,最終實(shí)現(xiàn)對(duì)視頻的壓縮處理;
37.其中,所述預(yù)設(shè)編解碼命令包括打開命令、關(guān)閉命令、控制命令、讀命令和寫命令。
38.也就是說,本發(fā)明實(shí)施例是通過對(duì)讀寫命令的lba(logical block address,邏輯區(qū)塊地址)進(jìn)行劃分,設(shè)定不同的lba代表不同的轉(zhuǎn)碼命令,以此來通過i/o讀/寫命令來實(shí)現(xiàn)不同的轉(zhuǎn)碼命令,進(jìn)而實(shí)現(xiàn)操作系統(tǒng)與視頻轉(zhuǎn)碼設(shè)備之間的通信,而不受操作系統(tǒng)的顯示,并且也不需要賦予管理員權(quán)限,從而在保證操作系統(tǒng)安全的前提下,實(shí)現(xiàn)視頻轉(zhuǎn)碼的兼
容性。也即通過本發(fā)明實(shí)施例所說的方法能夠保證設(shè)備在任何操作系統(tǒng)上的兼容性,以及權(quán)限管理問題,并對(duì)虛擬機(jī),容器等也有很好的支持,不需要額外的權(quán)限設(shè)定。
39.簡單來說,本發(fā)明實(shí)施例是以滿足對(duì)各個(gè)預(yù)設(shè)編解碼命令進(jìn)行標(biāo)識(shí)區(qū)分為原則,來將i/o讀寫命令的邏輯區(qū)塊地址lba進(jìn)行劃分,使得不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令,從而實(shí)現(xiàn)通過i/o讀寫命令來對(duì)視頻轉(zhuǎn)碼設(shè)備進(jìn)行控制。也即,本發(fā)明實(shí)施例是通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)控制所述視頻轉(zhuǎn)碼設(shè)備進(jìn)行相應(yīng)的操作。
40.具體實(shí)施時(shí),本發(fā)明實(shí)施例是將i/o讀寫命令的邏輯區(qū)塊地址lba,按照預(yù)設(shè)編解碼命令所需的標(biāo)識(shí)位將所述i/o讀寫命令的邏輯區(qū)塊地址lba依次劃分為多段,并按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令。
41.具體來說,本發(fā)明實(shí)施例中的標(biāo)識(shí)位可以包括:實(shí)例編號(hào)標(biāo)識(shí)位、設(shè)備類型標(biāo)識(shí)位、命令類型標(biāo)識(shí)位、操作類型標(biāo)識(shí)位和操作子類型標(biāo)識(shí)位;
42.其中,實(shí)例編號(hào)標(biāo)識(shí)位,占據(jù)7位,用于對(duì)視頻流進(jìn)行標(biāo)識(shí);設(shè)備類型標(biāo)識(shí)位,占據(jù)1位,用于對(duì)解碼命令和編碼命令進(jìn)行標(biāo)識(shí),以區(qū)分是解碼命令還是編碼命令;命令類型標(biāo)識(shí)位,占據(jù)2位,用于標(biāo)識(shí)命令類型,所述命令類型包括控制命令、讀輸入流命令和寫輸入流命令;操作類型標(biāo)識(shí)位,占據(jù)3位,用于標(biāo)識(shí)控制命令的操作類型,所述操作類型包括:打開實(shí)例、關(guān)閉實(shí)例、查詢命令和配置命令;操作子類型,占據(jù)4位,用于標(biāo)識(shí)區(qū)分每種操作類型的具體操作。
43.當(dāng)然上述的各個(gè)標(biāo)識(shí)的設(shè)置僅僅是一個(gè)示例,在具體實(shí)施時(shí),本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際需要進(jìn)行任意設(shè)置,本發(fā)明對(duì)此不作具體限定。
44.在具體實(shí)施時(shí),為了后續(xù)擴(kuò)充使用需要,本發(fā)明實(shí)施例所述的方法還可以對(duì)所述實(shí)例編號(hào)標(biāo)識(shí)位、所述設(shè)備類型標(biāo)識(shí)位、所述命令類型標(biāo)識(shí)位、所述操作類型標(biāo)識(shí)位和所述操作子類型標(biāo)識(shí)位均對(duì)應(yīng)設(shè)置預(yù)設(shè)位數(shù)的保留位,以便于后續(xù)增加編碼路數(shù)和編碼類型使用。
45.在完成上述的設(shè)置時(shí),即可通過對(duì)轉(zhuǎn)碼設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)對(duì)轉(zhuǎn)碼設(shè)備的編解碼功能。
46.下面將結(jié)合圖2通過一個(gè)具體的例子來對(duì)本發(fā)明實(shí)施例所述的方法進(jìn)行詳細(xì)的解釋和說明:
47.本發(fā)明實(shí)施例中的視頻轉(zhuǎn)碼設(shè)備將被系統(tǒng)識(shí)別為具有一定容量的存儲(chǔ)設(shè)備,可以支持存儲(chǔ)設(shè)備常用的管理命令,但不具有數(shù)據(jù)的存儲(chǔ)功能。其顯示的存儲(chǔ)容量只是虛擬容量,用于實(shí)現(xiàn)視頻轉(zhuǎn)碼的各種命令。通過讀/寫特定lba地址來控制視頻轉(zhuǎn)碼設(shè)備進(jìn)行編解碼。
48.要想實(shí)現(xiàn)控制視頻的轉(zhuǎn)碼流程至少需要實(shí)現(xiàn)3種類型的命令:控制命令,寫輸入流命令,讀輸出流命令。本發(fā)明通過不同的lba地址來區(qū)分不同的命令。以最多支持128路視頻轉(zhuǎn)碼的轉(zhuǎn)碼設(shè)備為例,實(shí)例編號(hào)需要占據(jù)7位,加上設(shè)備類型、操作類型、操作子類型和保留位,一共需要30位的地址才能區(qū)分所有的命令。假設(shè)轉(zhuǎn)碼設(shè)備的最小邏輯塊是512字節(jié),即每個(gè)lba對(duì)應(yīng)512字節(jié)(byte)大小,那lba的尋址范圍需要為十六進(jìn)制的0x0~0x3fff ffff,一共有30位(位0到位29),則需要配置轉(zhuǎn)碼設(shè)備的虛擬容量為512bytes
×230
=512gb。具體各個(gè)位的配置如下。
[0049][0050]
本發(fā)明實(shí)施例中的3種命令的通用標(biāo)識(shí)位有3種,實(shí)例編號(hào),設(shè)備類型,命令類型,其中,實(shí)例編號(hào):占據(jù)7位,范圍為0到127,是一路視頻流的標(biāo)識(shí)。視頻轉(zhuǎn)碼設(shè)備通過實(shí)例編號(hào)來區(qū)分當(dāng)前命令屬于哪一路編碼流。
[0051]
設(shè)備類型:占據(jù)1位,用于區(qū)分是解碼命令(0)還是編碼命令(1)。
[0052]
命令類型:占據(jù)2位,用于說明命令的類型,主要分為控制命令(00)、讀輸入流命令(01)和寫輸入流命令(10)。
[0053]
控制命令還包含另外的2種標(biāo)識(shí)位,操作類型和操作子類型。
[0054]
操作類型:占據(jù)3位,主要用于說明控制命令的操作類型,主要分為4種:打開實(shí)例(000)、關(guān)閉實(shí)例(001)、查詢命令(010)和配置命令(011)。
[0055]
操作子類型:占據(jù)4位,主要用于區(qū)分每種操作類型的具體操作。如查詢命令又可分為寫入緩存查詢、輸出流查詢、錯(cuò)誤查詢等等。
[0056]
保留位:預(yù)留位,為方便以后增加編碼路數(shù),編碼類型等。
[0057]
參見圖2,本發(fā)明實(shí)施例中的視頻轉(zhuǎn)碼的控制方法包括:
[0058]
步驟1:發(fā)送控制命令獲取轉(zhuǎn)碼實(shí)例;
[0059]
一個(gè)視頻轉(zhuǎn)碼設(shè)備可以同時(shí)支持多路轉(zhuǎn)碼實(shí)例,通過發(fā)送“獲取實(shí)例編號(hào)”命令得到轉(zhuǎn)碼實(shí)例的編號(hào),后續(xù)的轉(zhuǎn)碼命令都會(huì)包含編號(hào)信息,用來區(qū)分各路轉(zhuǎn)碼流,完成后進(jìn)行步驟2;
[0060]
步驟2:發(fā)送控制命令配置轉(zhuǎn)碼參數(shù)。包括視頻的格式、分辨率等等。若成功進(jìn)行步驟3,否則步驟13;
[0061]
步驟3:發(fā)送控制命令查詢實(shí)例狀態(tài)。若成功進(jìn)行步驟4,否則步驟13;
[0062]
步驟4:確認(rèn)是否需要發(fā)送控制命令結(jié)束轉(zhuǎn)碼。若是進(jìn)行步驟13,否則進(jìn)行步驟12繼續(xù)轉(zhuǎn)碼;
[0063]
步驟5:發(fā)送控制命令查詢輸入狀態(tài)。若成功進(jìn)行步驟6,否則步驟13;
[0064]
步驟6:通過步驟5獲取的狀態(tài)信息查看輸入緩存是否已滿,若是等待一定時(shí)間后繼續(xù)步驟5,重新查詢,否則步驟6;
[0065]
步驟7:當(dāng)轉(zhuǎn)碼設(shè)備有足夠的緩存時(shí),通過寫命令發(fā)送輸入流給轉(zhuǎn)碼設(shè)備。
[0066]
發(fā)送完成后進(jìn)行步驟8;
[0067]
步驟8:發(fā)送控制命令查詢輸出狀態(tài),若有錯(cuò)誤或者檢測到轉(zhuǎn)碼結(jié)束則進(jìn)行步驟13,否則步驟9;
[0068]
步驟9:通過步驟8獲取的狀態(tài)信息查看是否有解碼完成的輸出流,若是進(jìn)行步驟10,否則步驟11;
[0069]
步驟10:當(dāng)轉(zhuǎn)碼設(shè)備有輸出流時(shí),通過讀命令從轉(zhuǎn)碼設(shè)備獲取輸入流。發(fā)送完成后進(jìn)行步驟4;
[0070]
步驟11:當(dāng)沒有輸出流時(shí),需要檢查是否已經(jīng)給轉(zhuǎn)碼設(shè)備發(fā)送結(jié)束命令,若是則需
要等待一段時(shí)間后繼續(xù)步驟8查詢輸出狀態(tài),直到所有的寫入流都轉(zhuǎn)碼完成或發(fā)生錯(cuò)誤,否則步驟4;
[0071]
步驟12:當(dāng)需要發(fā)送轉(zhuǎn)碼結(jié)束命令時(shí),發(fā)送控制命令通知轉(zhuǎn)碼卡轉(zhuǎn)碼結(jié)束,轉(zhuǎn)碼卡會(huì)在收到轉(zhuǎn)碼結(jié)束命令后繼續(xù)把已經(jīng)收到的流解碼完成;
[0072]
步驟13:當(dāng)檢測到錯(cuò)誤,或者轉(zhuǎn)碼結(jié)束之后,發(fā)送控制命令關(guān)閉轉(zhuǎn)碼實(shí)例。
[0073]
我們的方法通過對(duì)讀/寫命令的lba進(jìn)行劃分,不同的lba代表不同的轉(zhuǎn)碼命令,以此來實(shí)現(xiàn)對(duì)轉(zhuǎn)碼設(shè)備的控制。實(shí)踐證明,本發(fā)明實(shí)施例所述的方法兼容性好,開發(fā)周期短,成本低,穩(wěn)定性好,傳輸速度快,可以有效保證和視頻轉(zhuǎn)碼設(shè)備進(jìn)行高效穩(wěn)定的通信。
[0074]
本發(fā)明第二實(shí)施例提供了一種基于本發(fā)明第一實(shí)施例中任一種所述的控制方法進(jìn)行轉(zhuǎn)碼的方法,參見圖3,應(yīng)用于視頻轉(zhuǎn)碼設(shè)備側(cè),該方法包括:
[0075]
s301、接收操作系統(tǒng)發(fā)送來的預(yù)設(shè)編解碼命令;
[0076]
s302、對(duì)所述預(yù)設(shè)編解碼命令基于預(yù)設(shè)映射原則進(jìn)行解析,獲取所述預(yù)設(shè)編解碼命令的實(shí)例編號(hào),并根據(jù)所述實(shí)例編號(hào)來配置轉(zhuǎn)碼參數(shù),并基于所配置的轉(zhuǎn)碼參數(shù)完成對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制操作。
[0077]
具體本發(fā)明實(shí)施例中對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制操作包括打開命令、關(guān)閉命令、控制命令、讀命令和寫命令等等,具體本領(lǐng)域技術(shù)人員可以進(jìn)行任意設(shè)定,本發(fā)明對(duì)此不作詳細(xì)贅述。
[0078]
也就是說,通過設(shè)置使得視頻轉(zhuǎn)碼設(shè)備能夠基于操作系統(tǒng)發(fā)來的命令進(jìn)行編解碼等操作,實(shí)現(xiàn)不同操作系統(tǒng)均可以對(duì)視頻轉(zhuǎn)碼設(shè)備的控制。
[0079]
具體實(shí)施時(shí)視頻轉(zhuǎn)碼設(shè)備是基于所述實(shí)例編號(hào)來配置視頻的格式和分辨率,以滿足用戶的不同使用需求。
[0080]
本發(fā)明實(shí)施例的相關(guān)內(nèi)容可以參見本發(fā)明第一實(shí)施例進(jìn)行理解,在此不做詳細(xì)贅述。
[0081]
本發(fā)明第三實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有信號(hào)映射的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被至少一個(gè)處理器執(zhí)行時(shí),以實(shí)現(xiàn)本發(fā)明第一實(shí)施例中任一種所述視頻轉(zhuǎn)碼設(shè)備的控制方法,以及本發(fā)明第二實(shí)施例所述的轉(zhuǎn)碼的方法。。
[0082]
本發(fā)明實(shí)施例的相關(guān)內(nèi)容可參見本發(fā)明第一實(shí)施例和第二實(shí)施例進(jìn)行理解,在此不做詳細(xì)論述。
[0083]
盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實(shí)施例,本領(lǐng)域的技術(shù)人員將意識(shí)到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。
技術(shù)特征:
1.一種視頻轉(zhuǎn)碼設(shè)備的控制方法,其特征在于,應(yīng)用于操作系統(tǒng)上,該方法包括:將視頻轉(zhuǎn)碼設(shè)備虛擬為存儲(chǔ)設(shè)備,并將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則進(jìn)行劃分,按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令;通過i/o讀寫命令的邏輯區(qū)塊地址lba將i/o讀寫命令映射為預(yù)設(shè)編解碼命令,以通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制,最終實(shí)現(xiàn)對(duì)視頻的壓縮處理;其中,所述預(yù)設(shè)編解碼命令包括打開命令、關(guān)閉命令、控制命令、讀命令和寫命令。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)劃分原則為以滿足對(duì)各個(gè)預(yù)設(shè)編解碼命令進(jìn)行標(biāo)識(shí)區(qū)分為準(zhǔn)進(jìn)行設(shè)置。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則進(jìn)行劃分,按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令,包括:將i/o讀寫命令的邏輯區(qū)塊地址lba,按照預(yù)設(shè)編解碼命令所需的標(biāo)識(shí)位將所述i/o讀寫命令的邏輯區(qū)塊地址lba依次劃分為多段,并按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述標(biāo)識(shí)位包括:實(shí)例編號(hào)標(biāo)識(shí)位、設(shè)備類型標(biāo)識(shí)位、命令類型標(biāo)識(shí)位、操作類型標(biāo)識(shí)位和操作子類型標(biāo)識(shí)位;所述實(shí)例編號(hào)標(biāo)識(shí)位,占據(jù)7位,用于對(duì)視頻流進(jìn)行標(biāo)識(shí);所述設(shè)備類型標(biāo)識(shí)位,占據(jù)1位,用于對(duì)解碼命令和編碼命令進(jìn)行標(biāo)識(shí),以區(qū)分是解碼命令還是編碼命令;所述命令類型標(biāo)識(shí)位,占據(jù)2位,用于標(biāo)識(shí)命令類型,所述命令類型包括控制命令、讀輸入流命令和寫輸入流命令;所述操作類型標(biāo)識(shí)位,占據(jù)3位,用于標(biāo)識(shí)控制命令的操作類型,所述操作類型包括:打開實(shí)例、關(guān)閉實(shí)例、查詢命令和配置命令;所述操作子類型,占據(jù)4位,用于標(biāo)識(shí)區(qū)分每種操作類型的具體操作。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:對(duì)所述實(shí)例編號(hào)標(biāo)識(shí)位、所述設(shè)備類型標(biāo)識(shí)位、所述命令類型標(biāo)識(shí)位、所述操作類型標(biāo)識(shí)位和所述操作子類型標(biāo)識(shí)位均對(duì)應(yīng)設(shè)置預(yù)設(shè)位數(shù)的保留位,以便于后續(xù)增加編碼路數(shù)和編碼類型使用。6.根據(jù)權(quán)利要求1-5中任意一項(xiàng)所述的方法,其特征在于,所述通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制,包括:通過對(duì)所述存儲(chǔ)設(shè)備發(fā)送i/o讀寫命令來實(shí)現(xiàn)控制所述視頻轉(zhuǎn)碼設(shè)備進(jìn)行相應(yīng)的操作。7.根據(jù)權(quán)利要求1-5中任意一項(xiàng)所述的方法,其特征在于,所述將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則進(jìn)行劃分,按照預(yù)設(shè)映射原則將不同分段對(duì)應(yīng)不同的預(yù)設(shè)編解碼命令,包括:將i/o讀寫命令的邏輯區(qū)塊地址lba按照預(yù)設(shè)劃分原則依次劃分為多段,并按照劃分后的lba分段的順序,設(shè)置將每個(gè)lba分段均唯一對(duì)應(yīng)一個(gè)預(yù)設(shè)編解碼命令,同時(shí)將lba分段與預(yù)設(shè)編解碼命令之間的對(duì)應(yīng)關(guān)系進(jìn)行保存,以供后續(xù)查詢使用。
8.一種基于權(quán)利要求1-7中任意一項(xiàng)所述的控制方法進(jìn)行轉(zhuǎn)碼的方法,其特征在于,應(yīng)用于視頻轉(zhuǎn)碼設(shè)備側(cè),該方法包括:接收操作系統(tǒng)發(fā)送來的預(yù)設(shè)編解碼命令;對(duì)所述預(yù)設(shè)編解碼命令基于預(yù)設(shè)映射原則進(jìn)行解析,獲取所述預(yù)設(shè)編解碼命令的實(shí)例編號(hào),根據(jù)所述實(shí)例編號(hào)來配置轉(zhuǎn)碼參數(shù),并基于所配置的轉(zhuǎn)碼參數(shù)完成對(duì)所述視頻轉(zhuǎn)碼設(shè)備的控制操作。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述基于所述實(shí)例編號(hào)來配置轉(zhuǎn)碼參數(shù),包括:基于所述實(shí)例編號(hào)來配置視頻的格式和分辨率。10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有信號(hào)映射的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被至少一個(gè)處理器執(zhí)行時(shí),以實(shí)現(xiàn)權(quán)利要求1-7中任意一項(xiàng)所述的視頻轉(zhuǎn)碼設(shè)備的控制方法,和/或,權(quán)利要求8或9所述的轉(zhuǎn)碼的方法。
技術(shù)總結(jié)
本發(fā)明公開了一種控制視頻轉(zhuǎn)碼設(shè)備的方法及轉(zhuǎn)碼方法,本發(fā)明通過對(duì)讀寫命令的LBA進(jìn)行劃分,設(shè)定不同的LBA代表不同的轉(zhuǎn)碼命令,以此來通過I/O讀/寫命令來實(shí)現(xiàn)不同的轉(zhuǎn)碼命令,進(jìn)而實(shí)現(xiàn)操作系統(tǒng)與視頻轉(zhuǎn)碼設(shè)備之間的通信,而不受操作系統(tǒng)的限制,并且也不需要賦予管理員權(quán)限,從而在保證操作系統(tǒng)安全的前提下,實(shí)現(xiàn)視頻轉(zhuǎn)碼的兼容性。也就是說,本發(fā)明保證了視頻轉(zhuǎn)碼設(shè)備在任何操作系統(tǒng)上的兼容性,以及權(quán)限管理問題,并對(duì)虛擬機(jī),容器等也有很好的支持,不需要額外的權(quán)限設(shè)定。不需要額外的權(quán)限設(shè)定。不需要額外的權(quán)限設(shè)定。
