久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

視頻采集、視頻壓縮-創(chuàng)新互聯(lián)

1.引言

為織金等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及織金網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站建設、做網(wǎng)站、織金網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

     視頻的采集和壓縮是進行視頻傳輸、監(jiān)控等視頻應用開發(fā)時必須采取的步驟。
      關(guān)于視頻采集,本文探討了一種基于Windows平臺的簡單而實用的方法,利用微軟提供的VFW(Video For Windows)軟件包來實現(xiàn),只需要有一般的USB攝像頭,就可以方便地對視頻進行采集和保存。
   視頻壓縮方面,本文探討了如何利用現(xiàn)階段壓縮率大、傳輸可靠性最高的一種編碼標準—H.264標準的開源編碼器(T264)來實現(xiàn)對采集到的視頻文件進行壓縮的方法,利用VFW 所采集到的視頻格式是沒有進行任何壓縮的AVI 格式,首先對AVI 格式進行轉(zhuǎn)換,再利用T264源碼對轉(zhuǎn)換后的視頻流文件進行壓縮編碼,這樣就極大地壓縮了視頻文件,方便視頻的傳輸。

2.視頻信息的采集

   由于利用VFW軟件包能夠方便地實現(xiàn)視頻、音頻數(shù)據(jù)流到AVI文件的存儲,在Visual C++中將VFW軟件包的函數(shù)封裝成為AVICAP窗口類函數(shù),利用AVICAP窗口類函數(shù),程序員能夠通過發(fā)送消息或設置屬性來捕獲、播放和編輯視頻剪輯,能靈活地實現(xiàn)從模擬視頻源采集數(shù)字視頻信號,并將捕捉的視頻流存儲到磁盤或者直接對視頻緩存進行處理。
    本文所述的方法是在Viusal C++ 6.0 軟件平臺上實現(xiàn)的,而軟件實現(xiàn)的具體步驟如下:
    1)在采集視頻前必須先創(chuàng)建一個視頻采集的窗口,以及添加一些具體的操作按鈕,窗口利用函數(shù)capCreateCaptureWindow 來創(chuàng)建,如果窗口創(chuàng)建成功,返回窗口的句柄(程序中hwndV),如果創(chuàng)建不成功,則返回NULL 值。具體的創(chuàng)建程序及注釋如下:
       hwndV=capCreateCaptureWindow(
     (LPSTR) "My Capture Window",  //捕捉窗口名稱
               WS_CHILD | WS_VISIBLE,      //窗口風格樣式
                       150, 150, 300, 280,         //窗口位置和大小
                       (HWND) hwndMain,            //父窗口句柄
               (int) 1);                   //窗口標識
      2)采集開始前,要將采集窗口與視頻設備相關(guān)聯(lián),VFW接口采用capDriverConnect (hWndCap,,nIndex)這個函數(shù),式中:hWndCap所建立的視頻捕捉窗口的句柄;nIndex為查詢得到的視頻卡驅(qū)動程序的索引號。接下來,獲取視頻采集設備的能力及狀態(tài)信息,VFW中采用函數(shù)capDriverGetCaps(hwnd,psCaps,wsize)來得到采集設備的能力,而采用capGetStatus (hwnd,s,size)函數(shù)來得到采集設備的狀態(tài)信息。
      3)啟動顯示模式并設置其模式參數(shù),AVICAP 窗口類采用兩個函數(shù)來實現(xiàn),具體程序和注釋如下:
     capPreviewRate( hwndVideo, 66); //設置預覽播放速率
      capreview( hwndVideo, TRUE);  //啟動預覽模式
     4)采集視頻流并保存,并終止視頻采集并斷開與采集設備的連接,在程序的開頭定義一個結(jié)構(gòu)體OPENFN,用于初始化一個對話框,而這個對話框是用來保存視頻的對話框。
 具體程序如下:
 if (!isRecordFileOpen)
{
    OPENFN ofname;    //打開文件結(jié)構(gòu)體
      ZeroMemory(&ofname, sizeof(OPENFN)); //初始化結(jié)構(gòu)體
      ofname.lStructSize = sizeof(OPENFN);   //結(jié)構(gòu)體的大小
      ofname.hwndOwner = hwndMain;           //主窗口句柄
     ofname.lpstrFile = recordFile;        //保存的文件指針
     ofname.nMaxFile = sizeof(recordFile);  //保存文件的大小
      ofname.lpstrFilter = "Video\0*.avi";  //保存文件的后綴
      ofname.nFilterIndex = 1;              //文件索引號
      ofname.lpstrFileTitle = NULL;         //文件名指針
     ofname.nMaxFileTitle = 0;
   ofname.lpstrInitialDir = NULL;
   ofname.Flags=OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST;
     if(GetSaveFileName(&ofn) == TRUE)   //顯示保存文件的對話框
    {
      strcpy(recordFile, ofn.lpstrFile);
      strcat(recordFile, ".avi");
      isRecordFileOpen = true;
    }
 }
       設置好保存文件以后,需用函數(shù)CreateThread來創(chuàng)建一個錄像的線程在其中采集視頻流,并利用函數(shù)capDriverDisconnect 來終止視頻采集并斷開與采集設備的連接,錄像線程的具體代碼如下:

      DWORD id;                         //創(chuàng)建一個錄像線程
         SECURITY_ATTRIBUTES ma;
      ma.nLength = sizeof(SECURITY_ATTRIBUTES);
      ma.lpSecurityDescriptor = NULL;
      ma.bInheritHandle = TRUE;
      hVideoThread = (&ma, (ULONG)0,
      videoThreadProc, (LPVOID)(ULONG)0, (ULONG)0, &id);

3.視頻格式的轉(zhuǎn)換

    本文所采用的是基于H.264編碼標準的視頻壓縮方法,所利用的源碼是由中國視頻編碼自由組織聯(lián)合開發(fā)的t264編×××,在使用本源碼前,編碼器要求進行壓縮的文件格式應為YUV 格式視頻文件,而VFW采集到的視頻文件是最原始的AVI 格式,因而要進行格式的轉(zhuǎn)換 。
      從AVI格式到Y(jié)UV 格式的轉(zhuǎn)換,并沒有直接的公式,而AVI視頻文件流的每一幀對應一個BMP(RGB)文件,則可以利用公式轉(zhuǎn)換成YUV 文件,轉(zhuǎn)換的公式如下:
    Y = 0.299R + 0.587G + 0.114B
    Cb = 0.564(B - Y )
    Cr = 0.713(R -Y )
     其中,Cb 對應U,Cr 對應V,分別表示構(gòu)成彩色的兩個分量,而在程序中,則通過以下的程序來實現(xiàn)(按4:2:0 采樣格式):
     void RGB2YUV ( uint8 R, uint8 G, uint8 B, uint8 *y, uint8 *u, uint8 *v )
  {
    *y = Clip ( ( ( 66 * int(R) + 129 * int(G) + 25 * int(B) + 128) >> 8) + 16 );
    *u = Clip ( ( ( -38 * int(R) - 74 * int(G) + 112 * int(B) + 128) >> 8) + 128 );
    *v = Clip ( ( ( 112 * int(R) - 94 * int(G) - 18 * int(B) + 128) >> 8) + 128 );
  }

4.利用編碼器進行壓縮編碼

    由中國視頻編碼自由組織聯(lián)合開發(fā)的編碼器在基于VisualC++平臺上創(chuàng)建了一個console程序,而前述的視頻采集程序因為有窗口、按鈕等視圖窗口,故是一個windows程序,在Visual C++平臺中,要將console 程序和windows 程序很好地結(jié)合在一起使用,是個很復雜的過程,因此,可以在前面視頻采集程序里面運用一個C++函數(shù)ShellExecute 來調(diào)用編碼器函數(shù)。
   具體實現(xiàn)的步驟如下:
   1)首先針對采集后經(jīng)格式轉(zhuǎn)換生成的YUV文件,得到它的幀數(shù)目,在配置文件enconfig.txt修改編碼幀的數(shù)目,例如如果幀數(shù)目為100,將enconfig.txt 文件中的第6、7、8 行:
     300 # total frame number
   300 # i intervals
   300 # idr intervals
    改為 :
  100 # total frame number
   100 # i intervals
   100 # idr intervals
    幀數(shù)目修改以后,文件生成的路徑也應該改為最終exe 文件生成的路徑,在enconfig.txt的最后三行進行修改。
   1)編譯編碼器,是采用的CONSOLE 程序,一般是在命令行中來執(zhí)行exe 程序,而本文中的方法是利用入口函數(shù)main(int argc, char* argv[])的特征,其中,argc 表示參數(shù)的個數(shù),而argv[]數(shù)組用于保存參數(shù)的指針,在程序中就對參數(shù)進行賦值,省去了進入命令行進行執(zhí)行的繁瑣過程,從而生成一個可以直接拿來運用的exe 程序。具體賦值語句如下:
    argv[0]="T264.exe";
  argv[1]="-e";
  argv[2]="enconfig.txt";
  2)設置t264.exe 文件路徑,上述的過程中已經(jīng)生成一個可執(zhí)行的t264.exe 文件,如果將YUV文件放在與之相同的目錄下,在調(diào)試運行這個程序的時候就可以生成264碼流文件,達到編碼的目的。但本文是需要將采集、壓縮編碼在同一個程序中完成,因而把生成的t264.exe文件復制到采集程序的調(diào)試目錄下面。
3)上述的工作都做好以后,可以在采集程序里面調(diào)用編碼器程序了,這時用一個函數(shù)來實現(xiàn),具體代碼是:
          ShellExecute(NULL,"open","t264.exe",
      "T264.exe –e enconfig.txt",NULL,SW_SHOWNORMAL);
     其中,SW_SHOWNORMAL 指的是一種程序運行風格,此時代表正常運行,在調(diào)用時可以看到程序運行的全部過程(DOS命令窗口顯示),如果需要程序透明執(zhí)行,不可見,則可以用SW_HIDE 來代替它。
     至此,整個視頻采集、格式轉(zhuǎn)換與編碼壓縮的過程就全部完成了,本文中所采集的AVI文件大小為4.075M,經(jīng)格式轉(zhuǎn)換后的YUV 文件大小為5.458M,而最終生成的264 碼流大小只有27k,壓縮率達到了150.9倍。

5.總結(jié)

  本文所探討的從視頻采集、格式轉(zhuǎn)換到壓縮編碼的整個過程,可以簡單方便地完成,可以直接應用在視頻監(jiān)控或者視頻的網(wǎng)絡傳輸?shù)鹊那捌陂_發(fā)。佰銳科技已為視頻監(jiān)控音視頻即時通訊提供了解決方案。http://www.bairuitech.com

對于本博客有任何問題的朋友可加Q:992139738

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享文章:視頻采集、視頻壓縮-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://www.js-pz168.com/article32/coippc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站網(wǎng)站制作面包屑導航標簽優(yōu)化關(guān)鍵詞優(yōu)化ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
欧洲久久久久久| 日韩免费一区二区| 2023国产精品视频| 亚洲在线观看免费视频| 狠狠色狠狠色合久久伊人| 18成人免费观看网站下载| 亚洲bbw性色大片| 欧美电影免费观看高清完整版 | 国产伦精品一区二区三区视频青涩| 91精品国产高清久久久久久91裸体 | 日韩丝袜美女视频| 亚洲视频中文字幕| 国产在线精品一区二区| 国产三区精品| 欧美日韩一区二区欧美激情| 国产精品欧美一区喷水| 美腿丝袜在线亚洲一区| 99re国产视频| 欧美亚洲国产一区二区三区va| 国产人久久人人人人爽| 免费不卡在线视频| 国产精品一区二区a| 欧美手机在线视频| 亚洲视频 欧洲视频| 高清久久久久久| 亚洲日本无吗高清不卡| 国产欧美一区视频| 精品影视av免费| 精品欧美一区二区在线观看视频| 欧美精品久久久久久久多人混战 | 亚洲美女淫视频| 国产999精品久久久久久绿帽| 日本一区精品| 久久日韩粉嫩一区二区三区| 免费观看成人av| 九色91在线视频| 日韩精品专区在线影院观看 | 一区高清视频| 国产精品视频在线看| 国模娜娜一区二区三区| 日本不卡一区二区三区在线观看| 精品国产凹凸成av人网站| 日韩精品视频网| 精品日本一区二区| 日韩精品一区二区三区视频| 日韩av一区二区三区四区| 精品国产一区二区三区日日嗨| 日韩久久久精品| 麻豆精品精品国产自在97香蕉| 久久人人九九| 久久久综合视频| 国产精品77777| 一本一道久久a久久精品| 18成人在线观看| 91在线精品一区二区三区| 欧美日韩美女一区二区| 亚洲电影你懂得| 久久精品国产综合精品| 久久九九99视频| 粉嫩av亚洲一区二区图片| 欧美在线一区二区三区| 亚洲综合图片区| 国产一区高清视频| 久久一区二区视频| 国产成人av一区| 欧美日韩亚洲国产综合| 午夜激情一区二区三区| 免费在线观看91| 国产精品美女久久福利网站| a美女胸又www黄视频久久| 欧美久久一区二区| 蜜臂av日日欢夜夜爽一区| 亚洲v日韩v欧美v综合| 综合av第一页| 国产乱码精品一区二区三区卡| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产一区二区在线观看视频| 中文字幕一区二区三区最新| 亚洲宅男天堂在线观看无病毒| 好看的日韩精品视频在线| 国产婷婷一区二区| aaa亚洲精品一二三区| 欧美一区二区精品| 国产在线不卡一区| 欧美色偷偷大香| 奇米影视一区二区三区小说| 亚洲午夜久久久影院伊人| 一区二区三区在线播| 久久久av水蜜桃| 亚洲欧美怡红院| 国外成人免费视频| 国产精品国产三级国产专播品爱网 | 日韩一区二区影院| 国产丶欧美丶日本不卡视频| 欧美久久婷婷综合色| 精品亚洲国产成人av制服丝袜| 91久久精品日日躁夜夜躁欧美| 日韩高清在线电影| 色妹子一区二区| 免费成人美女在线观看.| 在线观看视频91| 久久成人综合网| 欧美日韩精品一区二区三区四区 | 免费成人性网站| 欧美专区在线观看一区| 久久精品av麻豆的观看方式| 欧美中文字幕不卡| 九九精品一区二区| 91麻豆精品国产91久久久久久久久 | 999热视频| 国产精品午夜在线| 久久国产精品久久| 一区二区三区中文字幕精品精品| 欧美一区少妇| 亚洲成av人在线观看| 色综合色狠狠综合色| 麻豆精品国产91久久久久久| 欧美美女一区二区三区| 国产精品911| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 91在线视频播放地址| 国产欧美日韩中文久久| 国产在线欧美日韩| 一区二区成人在线视频| 在线观看日本一区| 韩国女主播成人在线观看| 欧美一区二区三区日韩视频| 99免费精品在线观看| 国产精品沙发午睡系列990531| 欧美第一黄网| 日韩精品电影在线| 欧美精品一二三四| 99re免费视频精品全部| 国产精品美女一区二区三区| 欧美午夜精品久久久久免费视| 午夜精品久久久久影视| 欧美日韩中字一区| 波多野结衣一区二区三区| 国产女人18毛片水真多成人如厕| 久久亚裔精品欧美| 日本伊人午夜精品| 91精选在线观看| 高清不卡一区二区三区| 夜夜精品浪潮av一区二区三区| 色94色欧美sute亚洲线路一ni| 国产精品99久| 国产精品天干天干在观线| 日韩视频在线观看国产| 国内成人免费视频| 国产欧美综合在线观看第十页| 欧美精品亚洲精品| 久久精品99国产精品日本| 精品成人一区二区| 久久精品二区| 青青青爽久久午夜综合久久午夜| 日韩一区二区在线播放| 激情欧美一区二区三区中文字幕| 五月天婷婷综合| 日韩精品专区在线| 欧美1o一11sex性hdhd| 麻豆精品新av中文字幕| 久久人人爽爽爽人久久久| 欧美亚洲另类在线一区二区三区| 久久国产成人午夜av影院| 久久久久国产一区二区三区四区| 蜜桃91精品入口| 国产一区在线观看视频| 中文乱码免费一区二区| 中文字幕一区二区三区乱码| 成人app软件下载大全免费| 亚洲欧美一区二区三区国产精品 | 欧美日韩午夜影院| 国产传媒一区二区| 奇米影视在线99精品| 久久久久国产精品厨房| 午夜精品福利一区二区| 成人午夜电影网站| 亚洲免费观看高清| 6080国产精品一区二区| 精品伊人久久大线蕉色首页| 久久精品免费观看| 中文字幕高清不卡| 91九色最新地址| 国产99午夜精品一区二区三区 | 亚洲精品国产无套在线观| 欧美日本一道本在线视频| 精品一区二区三区自拍图片区| 九九**精品视频免费播放| 中文字幕在线观看一区二区| 欧美视频日韩视频在线观看| 国产精品一区二区欧美黑人喷潮水| 毛片基地黄久久久久久天堂| 日本一区二区高清| 欧美日韩一区视频| 久久久水蜜桃| 国产suv一区二区三区88区| 一区二区三区日韩在线观看| 日韩精品一区二区在线| 亚洲一卡二卡三卡四卡无卡网站在线看| av中文字幕不卡|