解开高清封印:QQ影音攻坚秘史
如果你问我神马是高清,我会告诉你:高清是一种标准,一种品味和一种追求。
想想看,在深受房贷、个税和老板三座大山压迫之外的生活夹缝中,“一杯红酒配电影”会是多么抚慰人心。细腻逼真的影像让你领略“星沉海底当窗见,雨过河源隔座看”的奇幻美景,震撼顿挫的声音让你聆听“姑苏城外寒山寺,夜半钟声到客船”的寂寥空灵。——此时此刻你是否才由衷感到生活可以如小说中描绘得那样祥和美好。
从上述角度来说,打造一款支持高清视频播放功能的影音软件,是一件关系到人民幸福感的民生工程,是构建和谐社会的重要组成部分。对此,QQ影音做到了。
看到这里,应该会有愤青来挑刺儿了:高清视频也是视频格式的一种,万能格式播放器本就应该支持呀?这种判断在错误程度上虽然远没有达到NC的临床标准,但,需要强调的是:不是所有牛奶都叫特仑苏,也不是所有视频都能标榜“高清”。我们先通过下表来看看纯正的“高清”血统:
依此标准,观察下我们周围:那么多的视频网站、300块的山寨手机、屏幕比指甲盖大点有限的MP4、机身厚得可以当板砖使的劣质平板电脑,都在声称“完满支持高清电影”。这不能不说是残酷的现实:我们不仅被国家统计局发布的数据“幸福着”“加薪着”“满意着”,而且还有那么多的JS让我们“被高清”!
归结到底,高清视频由于包含巨大的数据流量、解码播放过程需要完成高计算复杂度的算法,所以不要说那些低档的移动设备就是大多数PC机的CPU也无法满足播放高清视频时数据处理能力的要求。于是,会出现CPU占用率100%、卡机等惨状,每秒25帧图像的视频变成了几秒钟自动切换一次画面的PPT。
为了应对高清时代的挑战,显卡厂商在GPU中实现了高清视频的解码,两大主流厂商NVIDA和ATI在2008年前后推出的产品中都高调地打出了高清牌(注:后续Intel也发布了支持高清视频解码的核芯显卡)。顺应而来的,优秀的播放器产品就应该充分发挥用户计算机上的显卡能力(即所谓的高清视频硬件加速能力),实现流畅的高清影像播放,真正还原那些美好的影音记录,让用户享受身临其境的感官体验。
至此,废话说完。总结一下:我们要切实提高认识、统一思想、转变观念,落实高清视频硬件加速功能的研发工作,为各阶层群众提供功能全面强大的播放器产品,提升人民幸福感、共享改革开放三十年成果。下面,我们进入QQ影音那段激情燃烧的岁月。
第一幕:晴天一个霹雳
公元2008年,QQ影音启动公司内部测试流程,标志着腾讯桌面产品家族中一支新军蓄势待发,即将逐鹿中原。全员邮件发出后,各种反馈意见纷沓而至。坦白说,这些声音中有不少是善意而中肯的批评建议。但怎么说呢,好比自个家的孩子在父母眼中终究是个宝,所以确属BUG(即软件产品中的缺陷)的立马解决;而对于其他的高谈阔论,至少就我个人而言,也只是抱着且听无妨的态度对待。
但,在公司BBS上还是有些声音,深深刺激了我们——“我肯定不用,连高清加速功能都没有”“刚装上,发现没有高清功能,立马卸载之”云云。要知道,QQ影音就好比我们新生的Baby。你可以说我孩子单眼皮、塌鼻梁、黄龅牙;甚至再缺心眼点,说他脸型像街坊王麻子。但要抬眼断定就是个弱智残疾,TMD不行!
这种个别同事对高清功能的强烈诉求,以及由于这种诉求无法由QQ影音满足而带来的一票否决式的唾弃不用,犹如晴天一个霹雳,让团队所有成员在临近新产品发布时摩拳擦掌的Happy情绪中重新冷静了下来。
当时的情况是:团队研发人员算上Leader(也是码农出身)仅5人,不仅需要处理各渠道反馈回来的BUG、稳定性和性能问题,而且面临诉求强烈的新特性功能研发,包括高清加速、多格式转码等。显而易见,人力资源无法做到面面俱到。要有所得,必要有所舍——必须放弃其他的新特性,而仅保留其中之一。
决策,是一门艺术。凡江河湖海,也是适合中国人开会的红色圣地,遥想那年嘉兴南湖…历史的一幕会再次上演吗?请听本台简讯——
今天,是一个令全球华人欢欣鼓舞的日子。南海之滨深圳喜迎盛事——QQ影音公司内测版本总结会暨外发版本规划会在TCL大楼隆重召开。出席会议的有QQ影音团队所有成员,CDC(注:腾讯用户体验设计中心)兄弟团队成员列席了会议,团队Leader主持会议并发表了重要讲话(此处省略领导的“简单说两句”,共计十万八千字)。会议在严肃紧张而又活泼生动的气氛中进行,与会嘉宾畅所欲言,就现阶段BUG解决情况及外发版本新特征等大家关心的问题积极、广泛、深入地交换了意见。此次会议是积极的、建设性的和富有成果的。最后,大家就版本新特征进行了投票表决,并以X票支持、X票反对、0票弃权通过将高清加速功能列为外发版本重要新特征的决议。会议同时委任笔者为该功能的主要开发人员…
第二幕:燃烧吧,小宇宙
本人算是信号处理与视频编解码专业科班出身,但对于高清视频硬件加速,此前完全没有接触过。解铃还须系铃人,于是首先找到BBS上强烈表达高清功能诉求的同事,通过RTX、打电话等多种骚扰手段,详细地了解了高清加速功能的含义、用户使用场景及市场上可供参考的同类型产品等信息。
首次试水后,我明白了:吃这口饭不容易。放下别的不谈,光就硬件条件而言,当时QQ影音团队内连支持高清加速功能的显卡都没有装备,开发调试如何进行?软条件上,几乎没有任何技术储备,直接上手面向硬件的GPU编程?
是“一声弹指泪如丝”之后感叹“巧妇难为无米之炊”,还是发扬深圳拓荒牛精神完成整串空手套白狼的高难度动作?面对BBS上的泱泱民意、迫于团队成员和Leader的滚滚淫威,听从内心深处男人就要能硬的声音,…,毅然只能选择后者。于是,我想起一句台词:燃烧吧,小宇宙。
通过与公司高端用户再次闲聊、Google“高清硬件加速”关键字、疯狂把玩终极解码/暴风影音等已经支持高清加速的产品,终于将各种模糊的概念清晰化,并逐渐开始分析其中的技术实现方式。
为了体现本文是技术人员所撰写,下面将“高清解码硬件加速”所涉及的几个重要概念简单描述一下,以资各位技术大牛。非技术人员、以缓解工作疲劳为目的读者、正在等待下班班车到达而无所事事的读者可以直接跳过。
NVIDIA PureVideo HD vs. ATI UVD
支持高清硬件加速的GPU主要来自两大厂家,即NVIDIA和ATI。前者早在GeForce 7 series
GPU产品中就开始部分支持H.264/WMV格式影片的硬件加速,在GeForce 8500/8600、GeForce
8400M/8600M/8700M开始引入PureVideo HD(见图1)技术,全面支持高清影片硬件解码。与之相似,ATI从ATI
Redeon® X1000 series开始就支持部分硬件加速,之后则开发了UVD(Unified Video
Decoder)(见图2)技术全面支持视频硬件解码。 图1 NVIDIA(R) PureVideo HD 图2 ATI UVD
如上图,视频解码主要分为四个模块,按照处理顺序为: § Bitstream Processing: 主要实施对视频压缩码流的熵解码过程 §
[...]
原文链接:http://www.xinxian361.com/archives/4492.html
想想看,在深受房贷、个税和老板三座大山压迫之外的生活夹缝中,“一杯红酒配电影”会是多么抚慰人心。细腻逼真的影像让你领略“星沉海底当窗见,雨过河源隔座看”的奇幻美景,震撼顿挫的声音让你聆听“姑苏城外寒山寺,夜半钟声到客船”的寂寥空灵。——此时此刻你是否才由衷感到生活可以如小说中描绘得那样祥和美好。
从上述角度来说,打造一款支持高清视频播放功能的影音软件,是一件关系到人民幸福感的民生工程,是构建和谐社会的重要组成部分。对此,QQ影音做到了。
看到这里,应该会有愤青来挑刺儿了:高清视频也是视频格式的一种,万能格式播放器本就应该支持呀?这种判断在错误程度上虽然远没有达到NC的临床标准,但,需要强调的是:不是所有牛奶都叫特仑苏,也不是所有视频都能标榜“高清”。我们先通过下表来看看纯正的“高清”血统:
依此标准,观察下我们周围:那么多的视频网站、300块的山寨手机、屏幕比指甲盖大点有限的MP4、机身厚得可以当板砖使的劣质平板电脑,都在声称“完满支持高清电影”。这不能不说是残酷的现实:我们不仅被国家统计局发布的数据“幸福着”“加薪着”“满意着”,而且还有那么多的JS让我们“被高清”!
归结到底,高清视频由于包含巨大的数据流量、解码播放过程需要完成高计算复杂度的算法,所以不要说那些低档的移动设备就是大多数PC机的CPU也无法满足播放高清视频时数据处理能力的要求。于是,会出现CPU占用率100%、卡机等惨状,每秒25帧图像的视频变成了几秒钟自动切换一次画面的PPT。
为了应对高清时代的挑战,显卡厂商在GPU中实现了高清视频的解码,两大主流厂商NVIDA和ATI在2008年前后推出的产品中都高调地打出了高清牌(注:后续Intel也发布了支持高清视频解码的核芯显卡)。顺应而来的,优秀的播放器产品就应该充分发挥用户计算机上的显卡能力(即所谓的高清视频硬件加速能力),实现流畅的高清影像播放,真正还原那些美好的影音记录,让用户享受身临其境的感官体验。
至此,废话说完。总结一下:我们要切实提高认识、统一思想、转变观念,落实高清视频硬件加速功能的研发工作,为各阶层群众提供功能全面强大的播放器产品,提升人民幸福感、共享改革开放三十年成果。下面,我们进入QQ影音那段激情燃烧的岁月。
第一幕:晴天一个霹雳
公元2008年,QQ影音启动公司内部测试流程,标志着腾讯桌面产品家族中一支新军蓄势待发,即将逐鹿中原。全员邮件发出后,各种反馈意见纷沓而至。坦白说,这些声音中有不少是善意而中肯的批评建议。但怎么说呢,好比自个家的孩子在父母眼中终究是个宝,所以确属BUG(即软件产品中的缺陷)的立马解决;而对于其他的高谈阔论,至少就我个人而言,也只是抱着且听无妨的态度对待。
但,在公司BBS上还是有些声音,深深刺激了我们——“我肯定不用,连高清加速功能都没有”“刚装上,发现没有高清功能,立马卸载之”云云。要知道,QQ影音就好比我们新生的Baby。你可以说我孩子单眼皮、塌鼻梁、黄龅牙;甚至再缺心眼点,说他脸型像街坊王麻子。但要抬眼断定就是个弱智残疾,TMD不行!
这种个别同事对高清功能的强烈诉求,以及由于这种诉求无法由QQ影音满足而带来的一票否决式的唾弃不用,犹如晴天一个霹雳,让团队所有成员在临近新产品发布时摩拳擦掌的Happy情绪中重新冷静了下来。
当时的情况是:团队研发人员算上Leader(也是码农出身)仅5人,不仅需要处理各渠道反馈回来的BUG、稳定性和性能问题,而且面临诉求强烈的新特性功能研发,包括高清加速、多格式转码等。显而易见,人力资源无法做到面面俱到。要有所得,必要有所舍——必须放弃其他的新特性,而仅保留其中之一。
决策,是一门艺术。凡江河湖海,也是适合中国人开会的红色圣地,遥想那年嘉兴南湖…历史的一幕会再次上演吗?请听本台简讯——
今天,是一个令全球华人欢欣鼓舞的日子。南海之滨深圳喜迎盛事——QQ影音公司内测版本总结会暨外发版本规划会在TCL大楼隆重召开。出席会议的有QQ影音团队所有成员,CDC(注:腾讯用户体验设计中心)兄弟团队成员列席了会议,团队Leader主持会议并发表了重要讲话(此处省略领导的“简单说两句”,共计十万八千字)。会议在严肃紧张而又活泼生动的气氛中进行,与会嘉宾畅所欲言,就现阶段BUG解决情况及外发版本新特征等大家关心的问题积极、广泛、深入地交换了意见。此次会议是积极的、建设性的和富有成果的。最后,大家就版本新特征进行了投票表决,并以X票支持、X票反对、0票弃权通过将高清加速功能列为外发版本重要新特征的决议。会议同时委任笔者为该功能的主要开发人员…
第二幕:燃烧吧,小宇宙
本人算是信号处理与视频编解码专业科班出身,但对于高清视频硬件加速,此前完全没有接触过。解铃还须系铃人,于是首先找到BBS上强烈表达高清功能诉求的同事,通过RTX、打电话等多种骚扰手段,详细地了解了高清加速功能的含义、用户使用场景及市场上可供参考的同类型产品等信息。
首次试水后,我明白了:吃这口饭不容易。放下别的不谈,光就硬件条件而言,当时QQ影音团队内连支持高清加速功能的显卡都没有装备,开发调试如何进行?软条件上,几乎没有任何技术储备,直接上手面向硬件的GPU编程?
是“一声弹指泪如丝”之后感叹“巧妇难为无米之炊”,还是发扬深圳拓荒牛精神完成整串空手套白狼的高难度动作?面对BBS上的泱泱民意、迫于团队成员和Leader的滚滚淫威,听从内心深处男人就要能硬的声音,…,毅然只能选择后者。于是,我想起一句台词:燃烧吧,小宇宙。
通过与公司高端用户再次闲聊、Google“高清硬件加速”关键字、疯狂把玩终极解码/暴风影音等已经支持高清加速的产品,终于将各种模糊的概念清晰化,并逐渐开始分析其中的技术实现方式。
为了体现本文是技术人员所撰写,下面将“高清解码硬件加速”所涉及的几个重要概念简单描述一下,以资各位技术大牛。非技术人员、以缓解工作疲劳为目的读者、正在等待下班班车到达而无所事事的读者可以直接跳过。
NVIDIA PureVideo HD vs. ATI UVD
支持高清硬件加速的GPU主要来自两大厂家,即NVIDIA和ATI。前者早在GeForce 7 series
GPU产品中就开始部分支持H.264/WMV格式影片的硬件加速,在GeForce 8500/8600、GeForce
8400M/8600M/8700M开始引入PureVideo HD(见图1)技术,全面支持高清影片硬件解码。与之相似,ATI从ATI
Redeon® X1000 series开始就支持部分硬件加速,之后则开发了UVD(Unified Video
Decoder)(见图2)技术全面支持视频硬件解码。 图1 NVIDIA(R) PureVideo HD 图2 ATI UVD
如上图,视频解码主要分为四个模块,按照处理顺序为: § Bitstream Processing: 主要实施对视频压缩码流的熵解码过程 §
[...]
原文链接:http://www.xinxian361.com/archives/4492.html
还没人转发这篇日记