平滑流式传输h.264输出在高速连接时降至最低质量流 [英] Smooth Streaming h.264 output drops to lowest quality stream on high speed connection

查看:74
本文介绍了平滑流式传输h.264输出在高速连接时降至最低质量流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我脱掉头发之前 - 这个坏了吗? 使用EE3中的预设以及在XP或2008 R2上运行的最新补丁,SDK等,当我使用VC1平滑流媒体配置文件时,平滑流输出仅表现正常。

Before I tear out my hair - is this broken?  Using presets in EE3 with latest patches, SDK etc, installed, running on either XP or 2008 R2, the smooth streaming output only behaves normal when I use the VC1 smooth streaming profile.

所有我的h.264编码的平滑流测试通常以12-13fps播放,最初缓冲得很好,然后当达到最高质量时,它会在几秒钟内降至最低质量(客户端和服务器之间为1 Gbps)

All my h.264 encoded smooth streaming tests usually play in 12-13fps, initially buffer up fine, then when the top quality is reached it drops down to the lowest quality within a few seconds (1 Gbps between client and server)

示例 

第一个VC-1 IIS平滑流媒体HD 720p VBR

first VC-1 IIS Smooth Streaming HD 720p VBR

http://144.92.108.164/lhtester/smooth/VC1/Default.html

second h.264 IIS Smooth Streaming 720p CBR

second h.264 IIS Smooth Streaming 720p CBR

http://144.92.108.164/lhtester/ smooth / h264 / Default.html

两者都使用从IIS 7服务器上托管的Expression Encoder导出的Smooth Streaming Graphing 播放器模板,安装了最新的补丁。我已尝试使用各种源文件,但结果始终相同 - VC1播放正常,h.264降至低质量。

Both use the Smooth Streaming Graphing Player template as exported from Expression Encoder, hosted on IIS 7 server, latest patches installed. I've tried this with various source files, but the result is always the same - VC1 plays fine, h.264 drops to low quality.

源文件是cineform编解码器AVI文件,最初来自佳能HV20的HDV,24fps 1280x720 1:1像素方面的高清晰度,并且编码精细到几乎任何格式,只是通过流畅的流式播放不能按预期工作。

source files are cineform codec AVI files, originally HDV from a Canon HV20, 24fps 1280x720 1:1 pixel aspect, and encode fine to just about any format, just the playback via smooth streaming doesn't work as expected.

 

 

推荐答案

这是H.264  B帧问题 - 当H.264编解码器用于使用BFrame设置的平滑流时!= 0  Silverlight MediaElement不会对BFrame进行计数 - 因此报告的帧速率约为实际帧速率的一半。

This is the H.264  B-Frame issue -- when the H.264 codec is used for Smooth Streaming with the BFrame setting != 0  The BFrames don't get counted by the Silverlight MediaElement -- hence the reported frame rate of about half the actual frame rate.

一种解决方法是编码H.264平滑流使用BFrame = 0的数据

One work-around is to Encode the H.264 smooth streaming data with BFrame=0

另一个解决办法是确保安装了EE3 QFE,然后调整为Smooth Streaming heuritics,以便禁用渲染和/或丢弃的帧速率                   此处描述了执行此操作的过程:

Another work-around is make sure that you have the EE3 QFE installed and then adjust to the Smooth Streaming heuritics so the rendered and/dropped frame rate are disabled and you just use CPU usage data to lower the selected bitrate when the content is played on a machine without enough CPU power to render the higher bitrates.   The process for doing this is described here:

http://blogs.msdn.com/randyoakley/archive/2009/10/07/diagnosing-and-tuning-expression-encoder- 3-smoothstreaming-performance-using-smoothstreamingconfig-xml.aspx

 


这篇关于平滑流式传输h.264输出在高速连接时降至最低质量流的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆