簡體   English   中英

Media Foundation H264解碼器無法正常工作

[英]media foundation H264 decoder not working properly

我正在創建一個使用Media Foundation的視頻會議應用程序,但在解碼通過網絡接收到的H264視頻幀時遇到問題。

該設計

當前,除非有可用的存儲樣本,否則我的網絡源會在每個請求樣本上將令牌排隊。 如果樣本通過網絡到達並且沒有令牌可用,則樣本將存儲在鏈接列表中。 否則,它將與MEMediaSample事件一起排隊。 我也將解碼器設置為低延遲。

我的問題

使用網絡源運行拓撲時,我立即看到渲染到屏幕的第一幀。 然后,我會經歷一段長時間的停頓,直到直播開始完美播放為止。 幾秒鍾后,流似乎暫停了,但隨后您注意到它只是一次又一次地循環遍歷同一幀,每隔幾秒鍾添加一個實時幀,然后立即消失並返回到顯示舊循環。

為什么會這樣呢? 對於這件事,我絕不是H264或媒體基金會的專家,但是,我一直試圖解決該問題已有數周之久,但沒有成功。 我不知道問題可能在哪里。 請幫我!

通過從0開始並為每個新樣本添加持續時間來創建時間戳。 其他數據從IMFSampleGrabberSinkCallback檢索。

我還張貼了一些我MFTrace的到MSDN媒體基金會論壇鏈接

我在那兒提到演示時鍾似乎並沒有改變,但是我不確定這是原因還是解決方法。

編輯 :您是否可以共享視頻和完整的mftrace日志以解決此問題? 我不清楚發生了什么實際情況:一段時間后您是否看到了實時視頻?

當前日志沒有足夠的信息來跟蹤樣本處理。 根據您的描述,看起來只有關鍵幀被渲染。 另外,渲染關鍵幀的持續時間很奇怪:

    Sample @00A74970, Time 6733ms, Duration 499ms. <- Duration is not 33ms.

我想看看那個樣品發生了什么。

無論如何,如果您使用標准的編碼器和解碼器,則問題應該出在您的媒體源及其緩沖幀的方式上。 錯誤的循環緩沖區實現? 在開始將它們提供給解碼器之前,您可能需要嘗試緩存一兩個樣本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM