在MFC环境中打开并播放一个YUV格式的视频文件 怎么实现这个问题 如何使用DirectDraw直接显示YUV视频数据

\u5728MFC\u73af\u5883\u4e2d\u6253\u5f00\u5e76\u64ad\u653e\u4e00\u4e2aYUV\u683c\u5f0f\u7684\u89c6\u9891\u6587\u4ef6 \u600e\u4e48\u5b9e\u73b0\u8fd9\u4e2a\u95ee\u9898

\u53ef\u4ee5\u53bb\u7f51\u4e0a\u627e\u4e2aYUV\u7684DirectShow\u89e3\u7801filter\uff0c\u7136\u540e\u521b\u5efa\u4e00\u4e2aDirectShow graph\uff0c\u628a\u7ed3\u679c\u8f93\u51fa\u8f6c\u53d1\u5230MFC\u7a0b\u5e8f\u3002

\u4f7f\u7528DirectDraw\u663e\u793aYUV\u89c6\u9891\uff0c\u6211\u6ca1\u8bd5\u8fc7\uff0c\u770b\u770b\u4e0b\u9762\u8d44\u6599\u5427
http://yeyingxian.blog.163.com/blog/static/3447124200610169275913/

程序是不给了,既然路过,就给个提示吧。可以分以下几步实现代码:
第一,了解视频格式,知道怎么样从文件中把一帧帧视频数据读取出来。比如可以读取文件头信息,根据头信息来确认所需的各个参数。如果是没规范的视频裸数据,就根据事由定义的分辩率和YUV格式来确认如果读取帧数据,比如是320*240,YUV422,那一帧的数据是320*240*2,每隔这么多数据,就是一帧了。
第二,使用转换公式把YUV转换成RGB。具体代码百度一下即有。
第三,会使用directdraw,不会的话先百度一下学会使用。搞视频显示的,都要使用这个低层的画图库。效率高
第四,开一个40MS的定时器(因为帧率为25Hz,所以每40MS显示画一帧)。每隔40MS操作一次:从文件中准确读取出一帧YUV图像数据,把YUV视频数据转换成RGB图像数据,使用directdraw把RGB图像数据画到窗口。一直循环,把文件中数据全部显示完毕。

(把问题这样区分后,各个百度一下,基本可以得到代码,这个是搞开发的基本技能)

注:路人是搞视频监控产品开发的,本来是想百度一下有什么润侯汤,不小心看到这个问题,就助人为乐一下。以上回答信不信由你,满不满意由你,不用给分的!

  • MFC涓,瀵硅瘽妗嗘ā寮,閫氳繃EDIT鎺т欢杈撳叆x,y浣嶇疆,浣跨敤dc.textout鍦ㄧ浉搴斾綅缃...
    绛旓細dc.FillRect(&rect,&m_brush);//鐢╞rush1鏍煎紡鍒 // if((x!=NULL)&&(y!=NULL))// { dc.TextOut(9,9,"ff");//瀛楃姘村钩锛圵idtix锛夎緭鍑 dc.MoveTo(rect.TopLeft());dc.LineTo(x,y);//杩欎袱琛屾病鏈夊湪瀵硅瘽妗嗕腑鏄剧ず锛侊紒锛// } //UpdateWindow();鍘绘帀锛屼笉搴旇鍦∣nPaint涓...
  • 璇烽棶,濡備綍鎶涓涓浜岀淮鏁扮粍鏁版嵁y[i][j],鐢mfc杩涜浜岀淮鏄剧ず骞朵繚瀛樻垚bmp鏍 ...
    绛旓細鑷充簬鍍忕礌瀵瑰簲銆傘傘傝兘鍏蜂綋涓浜涗箞銆傛湰韬綘鏈変竴涓浜岀淮鏁扮粍鏁版嵁y[i][j]锛岄偅涔堣浆鎹㈠悗鏀惧埌鍙︿竴涓暟缁剒[i][j]閲岄潰灏卞彲浠ュ拰鍘熷浘瀵瑰簲浜嗭紝瀵瑰簲搴旇涓嶆槸闂銆傝嚦浜庡瓨鍌紝MFC鏈夊緢澶氭柟娉曪紝姣斿鑷繁鍐欏儚绱犵偣鍜宐m鏂囦欢澶达紝姣斿閫氳繃DC杩涜HBITMAP鎿嶄綔锛岃幏寰椾竴涓爣鍑嗕綅鍥炬暟鎹啀淇濆瓨锛屾瘮濡傜敤CImage淇濆瓨绛夌瓑锛屼笉鍚屾柟寮忓...
  • mfc瀵硅瘽妗嗙▼搴忓弻鍑鎵撳紑鏂囦欢
    绛旓細娉ㄥ唽, 鎵撳紑鍚庡啀瀵硅瘽妗嗗垵濮嬪寲鏃惰鍙栨枃浠舵暟鎹
  • mfc涓strcpy(x,y)鐢ㄤ笉浜嗘庝箞鍔
    绛旓細鍔犱笂#include <string.h> 濡傛灉鏄痸s2010浠ュ悗鐗堟湰搴旇鐢╯trcpy_s鍑芥暟鏉ユ浛浠trcpy
  • 鍦∕FC涓浣跨敤WPF鎶鏈
    绛旓細涓 鍦∕FC搴旂敤绋嬪簭涓姞鍏ュ拰WPF鐩稿叧鐨勪唬鐮 鍏堟彁涓涓 gcnew鍏抽敭瀛楄鐢ㄤ簬寤虹珛涓涓绠″埗绫诲瀷鐨勫疄渚 鍦ㄦ湰渚嬩腑灏嗗缓绔嬩竴涓瀮鍦惧洖鏀堕泦鍚堟爤鐨勫疄渚 鎵鏈夎gcnew鍒嗛厤鐨勫唴瀛樼┖闂村皢琚瀮鍦惧洖鏀跺櫒鑷姩绠$悊 鑰屽紑鍙戜汉鍛樺苟涓嶉渶瑕佷负浠涔堟椂闂撮噴鏀惧畠浠屾搷蹇 涓轰簡浣跨敤WPF绋嬪簭 鍏抽敭鏄疭ystem::Windows::Interop::HwndSource绫 杩欎釜绫...
  • 瑕佺敤MFC鍒涘缓涓涓绐楀彛,濡備綍鍒涘缓?
    绛旓細鍦ㄦ樉绀虹獥鍙g殑鍑芥暟璋冪敤瀹屾瘯浠ュ悗璋冪敤UpdateWindow()鏉ュ绐椾綋杩涜鏇存柊 UpdateWindow(hwnd);//杩欎釜鍑芥暟娌℃湁骞朵笉褰卞搷娑堟伅浜х敓銆//娑堟伅寰幆 MSG msg;//瀹氫箟浜涓涓娑堟伅缁撴瀯浣撳彉閲 while(GetMessage(&msg,NULL,0,0)){ TranslateMessage(&msg);DispatchMessage(&msg);} / GetMessage(LPMSG lpMsg,//娑堟伅缁撴瀯鎻...
  • 鍦∕FC涓鐨勫崟鏂囨。涓氳繃OPENCV鐨処plImage鎶婂浘鍍忔樉绀哄嚭鏉ュ悗,鍦╒iew绫讳腑...
    绛旓細鏈绠鍗曠殑鏂规硶鏄紝濡傛灉鍥剧墖澶у皬鍥哄畾锛屼綘璺熻釜涓涓嬪湪cview绫绘樉绀虹殑鍥剧墖宸︿笂瑙掑拰鍙充笅瑙掔殑浣嶇疆璁句负锛坸1,y1),(x2,y2)(榧犳爣鐐归偅涓や釜鐐瑰氨琛)閫氳繃LBUTTONDOWN寰楀埌褰撳墠榧犳爣浣嶇疆璁句负(x,y)鐪熷疄鍥剧墖鍍忕礌鍊间负w*h J=(x-x1)*w/(x2-x1)I=(y-y1)*H/(y2-y1)w鍜宧浣犺鎯虫槑鐧斤紝瀹规槗鎼炴贩 ...
  • ...鏃堕挓杩樺叿鏈夐椆閽熷拰鍊掕鏃跺姛鑳,姹傝兘鍦╩fc閲鎵ц鐨勬暣涓枃浠
    绛旓細(2)缂栬緫椤圭洰鐨勮彍鍗曡祫婧,鍦ㄤ富妗嗘灦绐楀彛鐨勪富鑿滃崟(IDR_MAINFRAME)涓坊鍔涓涓鍚嶄负鈥滄椂閽熸帶鍒垛濈殑涓嬫媺鑿滃崟銆傚湪鈥滄椂閽熸帶鍒垛濊彍鍗曚腑娣诲姞涓変釜鑿滃崟閫夐」鈥滃惎鍔ㄦ椂閽熲濄佲滃仠姝㈡椂閽熲濆拰鈥滄椂闂磋缃濄傚苟鍦ㄨ彍鍗曞睘鎬ч」涓瀹氣滃惎鍔ㄦ椂閽熲濊彍鍗曠殑ID鏍囧彿涓篒D_START,鈥滃仠姝㈡椂閽熲濊彍鍗曠殑ID鏍囧彿涓篒D_STOP,鈥滄椂闂磋缃濊彍鍗曠殑ID鏍囧彿涓篒D...
  • MFC涓鑿滃崟鍝嶅簲鍑芥暟濡備綍鍒涘缓?
    绛旓細MFC鍩轰簬瀵硅瘽妗嗏斺斿彸閿脊鍑鸿彍鍗,骞跺搷搴斿嚱鏁般俓x0d\x0a 1銆佹柊寤涓涓鑿滃崟璧勬簮,姣斿鎶婅彍鍗曠殑ID鍙蜂负IDR_MENU1銆俓x0d\x0a\x0d\x0a 2銆佸湪ClassWizard涓璡x0d\x0a\x0d\x0a void CArcSoft_EffectDlg::OnRButtonDown(UINT nFlags, CPoint point)\x0d\x0a\x0d\x0a {// TODO: Add your message...
  • 鍦∕FC涓,濡備綍璇诲彇澶栭儴鐨勪綅鍥炬枃浠,璁╁畠鏄剧ず鍦ㄥ浘鐗囨帶浠(Picture Control...
    绛旓細1.鍦ㄤ綘鐨勫璇濇娣涓涓鎸夐挳鍜屼竴涓浘鐗囨帶浠(Picture Control).2.娣诲姞涓涓被,鎴戣繖閲屼笂浼犱笉浜,鍙兘灏.h鍜.cpp澶嶅埗杩囨潵,浣犲啀灏嗘嫹璐濆埌txt閲,鏀逛竴涓嬫墿灞曞悕灏卞彲浠ヤ簡銆傝繖鏄疨icture.h#if !defined(AFX_PICTURE_H__COPYFREE_BY_YOVAV_GAD__SOURCES_AT_SUPERMAIN_DOT_COM__INCLUDED_)#define AFX_PICTURE_H__...
  • 扩展阅读:adobe photoshop cs6 ... 国外mfc直播 ... mfc视频直播平台是哪个 ... mf订阅网站 ... mfc直播网站网址是什么 ... 国内怎么看mfc直播 ... mfc网站 ... mfc domodal ... mfc怎么打开 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网