【发布时间】:2015-03-01 23:53:03
【问题描述】:
我正在使用 MediaElement 开发 WPF C# 视频播放器。
一些视频的顶部和底部包含黑条。我想将图片大小调整为 120%,以便在播放这些视频时不显示黑条。
现在的问题是如何测量黑条的大小。如果即视频的高度为 800 像素,我想测量黑条的高度。如果顶部有 50 个黑色像素,底部有 50 个像素,那么我将计算出我必须调整图片的大小,即调整为 112%。
我想我可以截取视频,然后分析该图片以找出顶部和底部有多少黑色像素(我不知道这会有多复杂)。但我想并希望有一种更简单的方法可以做到这一点。有什么想法吗?
【问题讨论】:
-
您确定这些黑条是视频内容吗?在我看来,这与
MediaElement容器中的宽高比和自动视频内容有关。您是否尝试过使用“标准”媒体播放器播放这些视频,例如。 G。 Windows Media、VLC 还是 MPC? -
@dymanoid:我确定是视频。我理解您的评论,在某些情况下,由于长宽比的原因,视频显然没有填满屏幕的某些部分。但也有一些视频包含黑条。
-
嗯,这将是一项艰巨的工作。首先,您必须在视频中找到一个非黑帧,它可能是第 1 帧或第 100 帧。仅使用 WPF 的
MediaElement并不容易。您可以使用例如一个接一个地抓取帧。RenderTargetBitmap,但我想这需要很多时间。在您搜索时,用户将首先看到未缩放的视频。也许您应该考虑使用 DirectShow 或 Media Foundation 来完成这项任务。
标签: c# wpf video mediaelement