silverlight – IIS启动时平滑流低质量

silverlight – IIS启动时平滑流低质量,第1张

概述我在windows azure上托管一些自适应流媒体视频,我注意到在开始时视频以最低的可用比特率开始.这是一个大问题. 我通过搜索互联网看到,可以通过挂钩manifestready事件并删除最低比特率然后在一段时间后将它们添加回去来完成一个技巧. 这很有道理,但我没有看到这样做的示例代码. 我从表达式编码器4获得了播放器代码并看了一眼,但发现无处可去做更改. 有人有更多关于改善平滑流媒体启动的信息 我在windows azure上托管一些自适应流媒体视频,我注意到在开始时视频以最低的可用比特率开始.这是一个大问题.

我通过搜索互联网看到,可以通过挂钩manifestready事件并删除最低比特率然后在一段时间后将它们添加回去来完成一个技巧.
这很有道理,但我没有看到这样做的示例代码.

我从表达式编码器4获得了播放器代码并看了一眼,但发现无处可去做更改.

有人有更多关于改善平滑流媒体启动的信息吗?

非常感谢你

解决方法 你好,我把这个问题发布到媒体平台播放器论坛,得到了一个有效的答案.

讨论在这里:http://smf.codeplex.com/discussions/271042

这是我使用的代码:

public MainPage() {        InitializeComponent();        player.MediaPluginRegistered += new EventHandler<CustomEventArgs<IMediaPlugin>>(player_MediaPluginRegistered);        player.PlayStateChanged += new EventHandler<CustomEventArgs<MediaPluginState>>(Player_PlayStateChanged);    }private IAdaptiveMediaPlugin _adaptivePlugin = null;private bool isstartupHeuristicsActive = false;voID player_MediaPluginRegistered(object sender,CustomEventArgs<IMediaPlugin> e) {    var adaptivePlugin = e.Value as IAdaptiveMediaPlugin;    if (adaptivePlugin == null) return;     if (_adaptivePlugin == null) _adaptivePlugin = adaptivePlugin;    _adaptivePlugin.ManifestReady +=new Action<IAdaptiveMediaPlugin>(_adaptivePlugin_ManifestReady);}voID  _adaptivePlugin_ManifestReady(IAdaptiveMediaPlugin obj){    if (_adaptivePlugin != null)    {        var vIDeoStream = _adaptivePlugin.CurrentSegment.SelectedStreams.Where(i => i.Type == StreamType.VIDeo).FirstOrDefault();        if (vIDeoStream != null)        {            var averageBitrate = vIDeoStream.AvailableTracks.Average(t => t.Bitrate);            var track = vIDeoStream.AvailableTracks.FirstOrDefault(t => t.Bitrate >= averageBitrate);            if (track != null)            {                isstartupHeuristicsActive = true;                vIDeoStream.SetSelectedTracks(new[] { track });            }        }    }}private voID Player_PlayStateChanged(object sender,CustomEventArgs<MediaPluginState> e){    if (isstartupHeuristicsActive && e.Value == MediaPluginState.Playing)    {        isstartupHeuristicsActive = false;        if (_adaptivePlugin != null)        {            var vIDeoStream = _adaptivePlugin.CurrentSegment.SelectedStreams.Where(i => i.Type == StreamType.VIDeo).FirstOrDefault();            if (vIDeoStream != null)            {                vIDeoStream.SetSelectedTracks(vIDeoStream.AvailableTracks);            }        }    }}

谢谢

总结

以上是内存溢出为你收集整理的silverlight – IIS启动时平滑流低质量全部内容,希望文章能够帮你解决silverlight – IIS启动时平滑流低质量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存