- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写 WMF 自定义媒体源。
此源从 RTSP 流(使用 FFMPeg 4.1)获取 h264 数据包,并将它们发送到解码器并使用 EVR 将它们呈现到屏幕上。它还将它们发送到编码器和文件写入器
前约 7 秒的视频看起来不错
约 7 秒后,FPS 从约 30 变为约 2,并且 EVR 将旧图像显示为伪影(显示它而不是丢失的帧)。
录制的视频看起来不错。
运行 MFTrace 我发现渲染器停止发送 MEStreamSinkRequestSample,因此有数据要发送(并像以前一样引发 MEMediaSample)的源不会发送样本。
样本只到达解码器的 ProcessInput,我看不到 ProcessOutput 调用。
根据我的日志,没有 B 帧(pts == dts)并且两者都是单调的,具有正常的时间戳
这些是到达 EVR 的最后一帧的日志行
Line 149066: 552,1AA8 13:03:30.50129 CMFSourceReaderCallbackDetours::OnReadSample @0000027792F818B0 Stream index 0x0 Sample @000002779DB2FF80, Time 7266ms, Duration 33ms, Buffers 1, Size 620B, {73A954D4-09E2-4861-BEFC-94BD97C08E6E}=72666778 (0,72666778);MFSampleExtension_Token=@000002779DB1FA60;MFSampleExtension_DeviceTimestamp=72666778 (0,72666778);MFSampleExtension_CleanPoint=0;MFSampleExtension_Interlaced=0
Line 149100: 552,3F90 13:03:30.50182 CMFMediaStreamDetours::HandleEvent @0000027792FF7930 Sample @000002779DB2FF80, Time 7266ms, Duration 33ms, Buffers 1, Size 620B, {73A954D4-09E2-4861-BEFC-94BD97C08E6E}=72666778 (0,72666778);MFSampleExtension_Token=@000002779DB1FA60;MFSampleExtension_DeviceTimestamp=72666778 (0,72666778);MFSampleExtension_CleanPoint=0;MFSampleExtension_Interlaced=0
Line 149174: 552,3F90 13:03:30.50210 CMFTransformDetours::ProcessInput @0000027790451EE0 Stream ID 0, Sample @000002779DB2FF80, Time 7266ms, Duration 33ms, Buffers 1, Size 620B, {73A954D4-09E2-4861-BEFC-94BD97C08E6E}=72666778 (0,72666778);MFSampleExtension_Token=@000002779DB1FA60;MFSampleExtension_DeviceTimestamp=72666778 (0,72666778);MFSampleExtension_CleanPoint=0;MFSampleExtension_Interlaced=0
Line 166573: 552,A50 13:03:31.60248 CMFTransformDetours::ProcessOutput @0000027790451EE0 Stream ID 0, Sample @000002779DB2F980, Time 7266ms, Duration 33ms, Buffers 1, Size 1382400B, {19124E7C-AD4B-465F-BB18-20186287B6AF}=;{424C754C-97C8-48D6-8777-FC41F7B60879}=@0000000000000000;{79EA74DF-A740-445B-BC98-C9ED1F260EEE}=0;MFSampleExtension_CleanPoint=1;MFSampleExtension_Discontinuity=0;MFSampleExtension_Interlaced=0;{B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}=0
Line 166728: 552,A50 13:03:31.60276 CMFTransformDetours::ProcessInput @000002779041B330 Stream ID 0, Sample @000002779DB2F980, Time 7266ms, Duration 33ms, Buffers 1, Size 1382400B, {19124E7C-AD4B-465F-BB18-20186287B6AF}=;{424C754C-97C8-48D6-8777-FC41F7B60879}=@0000000000000000;{73A954D4-09E2-4861-BEFC-94BD97C08E6E}=83666778 (0,83666778);{79EA74DF-A740-445B-BC98-C9ED1F260EEE}=0;MFSampleExtension_Token=@0000000000000000;MFSampleExtension_DeviceTimestamp=83666778 (0,83666778);MFSampleExtension_CleanPoint=1;MFSampleExtension_Discontinuity=0;MFSampleExtension_Interlaced=0;{B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}=0
Line 166853: 552,A50 13:03:31.60482 CMFTransformDetours::ProcessOutput @000002779041B330 Stream ID 0, Sample @000002779DB25BC0, Time 7266ms, Duration 33ms, Buffers 1, Size 1843200B, MFSampleExtension_CleanPoint=1;MFSampleExtension_Interlaced=0
Line 166905: 552,A50 13:03:31.60500 CMFStreamSinkDetours::ProcessSample @000002779045A878 Sample @000002779DB25BC0, Time 7266ms, Duration 33ms, Buffers 1, Size 1843200B, {19124E7C-AD4B-465F-BB18-20186287B6AF}=;{424C754C-97C8-48D6-8777-FC41F7B60879}=@0000000000000000;{73A954D4-09E2-4861-BEFC-94BD97C08E6E}=83666778 (0,83666778);{79EA74DF-A740-445B-BC98-C9ED1F260EEE}=0;MFSampleExtension_Token=@000002779DB1F6A0;MFSampleExtension_DeviceTimestamp=83666778 (0,83666778);MFSampleExtension_CleanPoint=1;MFSampleExtension_Discontinuity=0;MFSampleExtension_Interlaced=0;{B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}=0
Line 166909: 552,A50 13:03:31.60503 CMFTransformDetours::ProcessInput @0000027790455960 Stream ID 0, Sample @000002779DB25BC0, Time 7266ms, Duration 33ms, Buffers 1, Size 1843200B, {19124E7C-AD4B-465F-BB18-20186287B6AF}=;{424C754C-97C8-48D6-8777-FC41F7B60879}=@0000000000000000;{73A954D4-09E2-4861-BEFC-94BD97C08E6E}=83666778 (0,83666778);{79EA74DF-A740-445B-BC98-C9ED1F260EEE}=0;MFSampleExtension_Token=@000002779DB1F6A0;MFSampleExtension_DeviceTimestamp=83666778 (0,83666778);MFSampleExtension_CleanPoint=1;MFSampleExtension_Discontinuity=0;MFSampleExtension_Interlaced=0;{B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}=0
Line 166918: 552,A50 13:03:31.60510 CMFTransformDetours::ProcessOutput @0000027790455960 Stream ID 0, Sample @000002779045EF00, Time 7266ms, Duration 33ms, Buffers 1, Size 409920B, , Duration 33ms, Buffers 1, Size 409920B,
Line 149726: 552,260 13:03:30.53399 CMFSourceReaderCallbackDetours::OnReadSample @0000027792F818B0 Stream index 0x0 Sample @000002779DB2F500, Time 7300ms, Duration 33ms, Buffers 1, Size 662B, {73A954D4-09E2-4861-BEFC-94BD97C08E6E}=73000000 (0,73000000);MFSampleExtension_Token=@000002779DB1F640;MFSampleExtension_DeviceTimestamp=73000000 (0,73000000);MFSampleExtension_CleanPoint=0;MFSampleExtension_Interlaced=0
Line 149760: 552,3F90 13:03:30.53446 CMFMediaStreamDetours::HandleEvent @0000027792FF7930 Sample @000002779DB2F500, Time 7300ms, Duration 33ms, Buffers 1, Size 662B, {73A954D4-09E2-4861-BEFC-94BD97C08E6E}=73000000 (0,73000000);MFSampleExtension_Token=@000002779DB1F640;MFSampleExtension_DeviceTimestamp=73000000 (0,73000000);MFSampleExtension_CleanPoint=0;MFSampleExtension_Interlaced=0
Line 149834: 552,3F90 13:03:30.53471 CMFTransformDetours::ProcessInput @0000027790451EE0 Stream ID 0, Sample @000002779DB2F500, Time 7300ms, Duration 33ms, Buffers 1, Size 662B, {73A954D4-09E2-4861-BEFC-94BD97C08E6E}=73000000 (0,73000000);MFSampleExtension_Token=@000002779DB1F640;MFSampleExtension_DeviceTimestamp=73000000 (0,73000000);MFSampleExtension_CleanPoint=0;MFSampleExtension_Interlaced=0
Line 151717: 552,3F90 13:03:30.63479 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F680,
Line 152202: 552,3F90 13:03:30.63838 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 152377: 552,3F90 13:03:30.66791 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F5C0,
Line 152862: 552,3F90 13:03:30.67133 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 153037: 552,3F90 13:03:30.70149 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB30280,
Line 153522: 552,3F90 13:03:30.70538 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 153697: 552,2DD4 13:03:30.73484 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 154182: 552,2DD4 13:03:30.73861 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 154357: 552,3F90 13:03:30.76793 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FD40,
Line 154842: 552,3F90 13:03:30.77171 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 155017: 552,3CE4 13:03:30.80114 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FC80,
Line 155502: 552,3CE4 13:03:30.80453 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 155677: 552,3CE4 13:03:30.83483 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FF80,
Line 156162: 552,3CE4 13:03:30.83832 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 156337: 552,A50 13:03:30.86834 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F500,
Line 156822: 552,A50 13:03:30.87180 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 156997: 552,3CE4 13:03:30.90157 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FB00,
Line 157482: 552,3CE4 13:03:30.90504 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 157657: 552,3CE4 13:03:30.93457 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @0000027790460240,
Line 158142: 552,3CE4 13:03:30.93822 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 158317: 552,3CE4 13:03:30.96831 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F680,
Line 158802: 552,3CE4 13:03:30.97161 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 158977: 552,2DD4 13:03:31.00100 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F5C0,
Line 159462: 552,2DD4 13:03:31.00419 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 159637: 552,2DD4 13:03:31.03442 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB30280,
Line 160122: 552,2DD4 13:03:31.03824 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 160297: 552,2DD4 13:03:31.06790 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 160930: 552,2DD4 13:03:31.07260 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 161105: 552,A50 13:03:31.10179 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 161443: 552,A50 13:03:31.13445 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 161781: 552,A50 13:03:31.16811 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 162119: 552,A50 13:03:31.19194 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 162457: 552,A50 13:03:31.23510 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 162795: 552,A50 13:03:31.26862 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 163133: 552,A50 13:03:31.30162 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 163463: 552,A50 13:03:31.33445 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FD40,
Line 163781: 552,A50 13:03:31.36811 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB30280,
Line 164099: 552,A50 13:03:31.40173 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F5C0,
Line 164417: 552,A50 13:03:31.43510 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F680,
Line 164735: 552,A50 13:03:31.46827 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @0000027790460240,
Line 165053: 552,A50 13:03:31.50162 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FB00,
Line 165371: 552,A50 13:03:31.53487 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F500,
Line 165689: 552,A50 13:03:31.56838 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FF80,
Line 166174: 552,A50 13:03:31.57268 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 166349: 552,A50 13:03:31.60165 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FC80,
Line 166934: 552,A50 13:03:31.60533 CMFStreamSinkDetours::EndGetEvent @000002779045A878 Met=305 (null), value (empty),
Line 167109: 552,3CE4 13:03:31.63434 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2F980,
Line 167427: 552,3CE4 13:03:31.66812 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @000002779DB2FB00,
Line 167745: 552,3CE4 13:03:31.70109 CMFMediaStreamDetours::EndGetEvent @0000027792FF7930 Met=213 (null), value @0000027790460240,
最佳答案
我试图解决这个问题的想法之一是使用 ffmpeg 进行解码,并将未压缩的图像 (I420) 传递给媒体基础。
这为我解决了这个问题。
由此我得出结论,问题出在 h264 解码器上,它不能很好地处理直播流。
关于video - WMF EVR 停止向实时流发送 MEStreamSinkRequestSample 事件 ~7 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53467198/
我编写了一个 PixelShader 编译器/测试器,它可以在使用 DirectShow.Net + VMR9 播放的图像或视频源上实时运行。 一切都很好,直到我决定将它作为一个真正的视频播放器试一试
在按钮,轨迹栏,面板上(panel1-来自tpanel +的后继者添加了canvas,align = client), 我通过面板上的EVR启动视频(tpanel) ... FGraph: IGrap
我一直在尝试想出一个使用 Microsoft 的媒体基础增强型视频渲染器 (EVR) 显示视频的简洁示例,但没有成功。我正在使用 Visual Studio 2013 在 Windows 7 上进行测
我正在尝试在 Windows 10(桌面)上使用 DirectX 11 为 Media Foundation 编写 EVR。 到目前为止,我发现的唯一一种解决方案是 here 不幸的是,我(和其他许多
我正在尝试编写一个小应用程序,将相机设备捕获的视频帧直接显示到窗口上。我正在使用“Source Reader”+“Sink Writer”架构而不是“Media Session”,因为我必须直接处理那
我正在编写 WMF 自定义媒体源。 此源从 RTSP 流(使用 FFMPeg 4.1)获取 h264 数据包,并将它们发送到解码器并使用 EVR 将它们呈现到屏幕上。它还将它们发送到编码器和文件写入器
我正在使用 GraphEdt(directShow) 和内置于 [AsyncFile(mp4)]-[LAV splliter]-[LAV video decoder]-[EVR] 中的图表。我按下 p
我是一名优秀的程序员,十分优秀!