当前位置: 首页 > 知识库问答 >
问题:

在WPF上运行MPEG Dash比特率自适应流

花烨
2023-03-14

我开发了一个带有dash.js的html5视频播放器,可以播放流媒体mpeg dash内容。它工作得很好。

现在我需要在WPF上运行同样的程序。使用webbrowser来运行我已经开发的html5听起来很肮脏,但我不知道我能用什么来让流媒体工作。

有什么提示吗?

共有2个答案

姚信鸥
2023-03-14

@Sander是对的,目前似乎没有WPF或C#Dash实现。

微软在构建播放器上的留档建议使用dash.js

我也不是WPF的专家,也没有在WPF中播放任何类型视频的经验。也就是说,我假设您应该能够执行类似于dash.js使用HTML5 Video元素的方式的操作。这将需要您执行许多不同的任务,例如解析MPD文件格式,并下载所需的段。

最简单的实现方法是简单地解析MPD,找到一个特定的比特率/分辨率BaseURL,并将这些值传递给可以处理播放mp4文件的WPF元素。然而,要真正获得DASH的好处,您需要完全解析MPD文件,并实现比特率切换等逻辑。

田志
2023-03-14

据我所知,WPF没有DASH player库。

 类似资料:
  • 我在网上搜索了一下,但这方面的信息很少。 我有一个直播应用程序,在那里我发送编码的H264视频帧和AAC音频块产生的相机和麦克风使用Android MediaCodec SDK,通过RTMP堆栈。 我的直播流是720p,我的目标是2500kbps的高质量。这显然需要一个非常好的网络连接,这意味着4G如果你使用数据计划。 问题是即使是最大的连接也会有低峰值和拥塞,所以有时网络无法容纳如此大的流。因为

  • 我有一个使用opencv视频编写器的python脚本。 来源https://gist.github.com/stanchiang/b4e4890160a054a9c1d65f9152172600 如果我接受一个文件,无论我是否简单地将视频帧传递给作者(有效地复制文件),或者如果我试图编辑帧,文件总是更大。我希望它不比原来的大(因为如果你读了我的剧本,我会模糊很多东西)。 在检查他们的元数据后,使用

  • 问题内容: 我正在使用TensorFlow训练神经网络。这就是我初始化的方式: 这里的问题是,我不知道如何为学习速率设置更新规则或为它设置衰减值。 在这里如何使用自适应学习率? 问题答案: 首先,旨在对所有步骤中的所有变量使用恒定的学习率。TensorFlow还提供了开箱即用的自适应优化器,包括和,这些可以用作即插即用的替代品。 但是,如果您希望通过原始的梯度下降来控制学习速率,则可以利用以下事实

  • 这里有一个项目,我需要在WPF应用程序中自定义上下文菜单,其中将在所有MenuItems的底部放置一个按钮。 但是,如果我要通过XAML添加按钮,它将作为集合中的另一项出现在上下文菜单中,鼠标移过高亮显示将作用于它。 我希望有一个上下文菜单调优到网格样的样式,这样我就可以自定义样式下的它。 有什么想法可以实现这一点(最好是在XAML中)吗?

  • 我试图找出CDI和适合我需要的最佳方法。我有一个与普通tcp通信交互的服务()。现在这个服务有一些地方需要通知某人发生了什么事情。对于这些信息,我有接口,需要将其CDI注入到正确的实现中。另一个问题是服务本身被注入一个作业()中,该作业定期执行并调用服务来完成任务。这意味着服务将多次存在。每个都有它处理的另一个tcp连接,并且有另一个需要在接口中注入另一个驱动程序/协议的设备。 让我展示参与此场景

  • 我一直在使用ffmpeg将音频从一种格式转换为另一种格式,并更改音频的比特率。当我尝试使用命令将aac音频转换为mp3音频时: ffmpeg-我有一些音频。aac-c:mp3-b:128k SomeOutputPath。mp3 一切正常工作,输出音频与输入音频长度相同(6分15秒)。 但是,当我尝试使用类似的命令将其转换为aac音频时: ffmpeg-我有一些音频。aac-c:aac-b:128k