如何使directshow算出的bitrate值是正確的呢? |
尚未結案
|
terence_lee
初階會員 發表:62 回覆:82 積分:28 註冊:2004-07-15 發送簡訊給我 |
|
bearmaster
一般會員 發表:36 回覆:45 積分:16 註冊:2004-05-27 發送簡訊給我 |
hi terence_lee,
下面的內容是取自 directshow sdk, 其中應該有你需要的資料吧. VIDEOINFOHEADER Structure
The VIDEOINFOHEADER structure describes the bitmap and color information for a video image. Syntax
typedef struct tagVIDEOINFOHEADER { RECT rcSource, RECT rcTarget; DWORD dwBitRate; DWORD dwBitErrorRate; REFERENCE_TIME AvgTimePerFrame; BITMAPINFOHEADER bmiHeader; } VIDEOINFOHEADER;Members ... ... dwBitRate Approximate data rate of the video stream, in bits per second. ... ... 以下是我的方法, 應該會有更 easy 的方法 hr = Graph->FindInterface(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Interleaved, SourceFilter, IID_IAMStreamConfig, (void **)&StreamConfig); if(hr != NOERROR) hr = Graph->FindInterface(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, SourceFilter, IID_IAMStreamConfig, (void **)&StreamConfig); if(hr == NOERROR) { AM_MEDIA_TYPE *pmt; hr = StreamConfig->GetFormat(&pmt); if(hr == NOERROR) { if(pmt->formattype == FORMAT_VideoInfo) { VIDEOINFOHEADER *pvi = (VIDEOINFOHEADER *)pmt->pbFormat; pvi->dwBitRate; // --> 這可能是你需要的 delete pvi; } } DeleteMediaType(pmt); } |
terence_lee
初階會員 發表:62 回覆:82 積分:28 註冊:2004-07-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |