奥运会比赛项目十五大项中,有一个项目只对男性开放,是哪一项?

奥运会十五大项中,有一个项目只对男性开放,是哪一项?_百度知道
奥运会十五大项中,有一个项目只对男性开放,是哪一项?
您的回答被采纳后将获得:
系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
我有更好的答案
现代五项只有男性参加
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。2016年全球体育项目发展纵览之欧洲篇
在此,禹唐不妨带各位一起,来看看全球不同国家部分体育项目的发展情况,以补充我们的全球视野。今天,我们为大家带来的是欧洲部分的内容。
禹唐体育注:2016年即将过去,在这个体育大年中,有着奥运会、欧洲杯这样的全球顶级赛事,也有着英超、NBA这样的常规联赛。在这个体育大年中,各种运动项目在世界范围内或增长,或衰退地发展着。而当我们以国家为单位,通过区域性的视角来看待各个国家的体育项目发展情况时,又将呈现出怎样的面貌呢?&在此,禹唐不妨带各位一起,来看看全球不同国家部分体育项目的发展情况,以补充我们的全球视野。今天,我们为大家带来的是欧洲部分的内容。&英国&在《2016年全球体育项目发展纵览之北美篇》中,我们曾向大家介绍过自2002年以来,美国高尔夫运动的参与人数已经下降了超过四分之一,高尔夫相关的收视率、装备销售量、球场数量以及赛事数量等多项数据也均遭遇下滑。&事实上,高尔夫运动发展所遭遇的危机可不仅仅只在美国,在澳大利亚和日本,高尔夫运动的参与者自90年代中期达到峰值以来下降了40%之多,而在英国,高尔夫的发展现状也不怎么乐观。&有数据显示,在2004年到2013年期间,英格兰约有五分之一的高尔夫爱好者放弃了他们的俱乐部会籍,与此同时,苏格兰的高尔夫俱乐部会员人数也下降了14%。&值得一提的是,目前,英国最著名的高尔夫俱乐部——温特沃特高尔夫球俱乐部为泰国华人富商严彬所持有。2014年,华彬集团以1.35亿英镑的价格完成了对温特沃特高尔夫球场的收购。华彬入主后,温特沃特的会员年费翻了一番,而入会费也从1.5万英镑上升至12.5万英镑,增幅高达733%。&近日,有个英国的大学生用高尔夫球杆做成了一辆自行车,也是颇具想象力与创造力。而在英国,自行车运动自布拉德利·威金斯在同一年获得了奥运会金牌与环法冠军后,正逐渐取代着高尔夫,成为了新的热门运动,而克里斯·弗鲁姆则加速了这样的趋势。据统计,在英国,自行车相关配件的销量年增速都保持在70%左右。&至于英国最为我们所熟知的足球运动,近年来除了看点愈加丰富的英超联赛与崛起的威尔士男足外,他们的女子足球发展也值得关注。之前的女子足总杯决赛,吸引了三万名球迷到场观赛,是原有记录的两倍之多。而过去两年间英格兰全境的女足参与者也增加了超过四万人。&法国&今年夏天,法国成功地举办了欧洲杯,不过今天,我们想谈谈和足球相比,不那么热门的运动——MMA(综合格斗)。在北美,MMA是一项颇受欢迎的运动,从今年9月起,MMA在纽约州正式结束了长达二十年的非法岁月,至此,美国所有的州都已经将MMA运动合法化。但在法国,官方仍然禁止展开正式的综合格斗赛事。&不过对于要在2020年,将UFC打造为世界上最大的运动组织的UFC总裁白大拿而言,欧洲自然也是不容错失的一大战场,他也曾多次在公开场合表示要着眼欧洲市场来进行赛事推广与落地。只不过目前为止,一些政府的禁令仍在很大程度上阻碍着这项运动在欧洲的发展。&值得庆幸的是,即使法国政府明令禁止MMA赛事,但他们国内目前有个名为世界勇士格斗冠军赛的赛事,已经采用了综合格斗的八角笼,警察与政府也没有喊停这项赛事的开展。由此看来,未来,综合格斗项目与UFC赛事在法国的落地还是很有希望的。&德国德国民众对于体育的热爱或许从上座率中就能反映出来。以冰球为例,在KHL(大陆冰球联赛)的比赛中,上座率最高的三分之二比赛场次都在德国。而在我们熟悉的德甲联赛中,拜仁的安联球场与多特的威斯特法伦球场在本赛季的上座率为惊人的100%。&另外,德国的美式橄榄球运动也正有条不紊地发展着。作为德国碗七届冠军,来自德国布伦瑞克的纽约人雄狮队连续获得了去年与今年的欧洲碗冠军。在拥有了这项欧洲美式橄榄球最高荣誉后,德国美式橄榄球运动的发展也迎来了一个高峰期。&最后,我们知道近年来德国接纳了为数众多的移民,而这些移民也将自己国家原来所热爱的运动引入了德国国内。例如从阿富汗和巴基斯坦去到德国的移民们就将他们的板球运动带到了德国,使德国板球参与者的人数上升了超过300%。在德国与捷克的边境处,德国的第一百个板球俱乐部也已经成立。&俄罗斯&俄罗斯今年陷入了禁药风波,在《麦克拉伦报告》的影响下,俄罗斯奥运代表团的参赛人数被大幅削减,而其在国际上的政治形象也受到了波及。另外近日,原定于在俄罗斯举办的雪橇世锦赛也被迫易地举办。&虽然俄罗斯受到了禁药风波的一定影响,但体育在其国内仍有着很大的影响力。除去总统普京是个狂热的体育迷外,其国人也对搏击、冰雪运动、足篮球等项目有着极大的热情。值得一提的是,现如今,约有13.3%的俄罗斯人也成为了NFL的球迷。&同中国的职业体育相类似,近些年来,俄罗斯的国内职业联赛也依靠着较高的薪水吸引着国际顶级运动员的加盟。比如美国女篮运动员戴安娜·桃乐丝就在俄罗斯国内联赛的盛邀下,以150万美元的年薪加盟了俄罗斯的UMMC叶卡特琳堡队队。要知道,UMMC叶卡特琳堡队队给桃乐丝开出的薪水可是她在WNBA时的十五倍。而在今年,UMMC叶卡特琳堡队也获得了2016女篮欧洲联赛冠军。&与此同时,我们都知道土耳其是女排联赛高度发达的国度,我国的朱婷如今也效力于土耳其的瓦基弗银行俱乐部。在一段时间内,全球收入最高的排球运动员都汇集于土耳其,直到俄罗斯超级联赛的迪纳摩喀山队以100万美元的年薪签下了俄罗斯排球名将叶卡捷琳娜·加莫娃。&荷兰&荷兰是个曲棍球的传统强国,但是和我们介绍过的印度一样,曲棍球在这个国家的职业化道路也并不顺利。在印度每个曲棍球赛季开始前的球员拍卖会上,世界上最好的曲棍球球员标价也不到10万美元。而在荷兰,球员的薪水也同样不到10万美元,并且球员的收入还要依靠俱乐部其他业务来进行补贴。&丹麦&资料显示,目前,有75个电视网路会将一个名为Handball Euros的手球赛事向全球175个国家与地区进行转播。而在丹麦,这项赛事的收视份额高达70%。之后,这个收视纪录又被另一项手球赛事——DR1 联赛的决赛收拾份额所破。当时,那场比赛在丹麦国内的收视份额达到了惊人的80%。汉斯·林德伯格作为丹麦手球运动员的代表人物,其年收入可以达到110万欧,他也和队友一起,在今年的里约奥运会上,为丹麦带回了一枚金牌。&意大利&虽然在意大利国内的受欢迎度可能不如足球与自行车,但作为世界上最知名的名车制造国之一,意大利在赛车运动上的表现也不容我们小觑。众所周知,F1运动中的法拉利车队可能是全世界车迷最多的一支球队,而在MOTO GP中,小飞侠罗西也是享有鼎鼎大名。&在篮球方面,随着巴尼亚尼、贝里内利等人逐渐在NBA中成为老将,意大利篮球也迎来了一个新老交替期。去年,为了更好的开发欧洲市场,NBA方面也安排了波士顿凯尔特人在米兰与Olimpia Milano进行了一场友谊赛。另外,早在2007年,波士顿凯尔特人队和多伦多猛龙队就曾在罗马进行过一场季前赛,当时的猛龙队中拥有着意大利籍状元巴尼亚尼。&波兰&在这个东欧国家,美式橄榄球的影响力正不断增大。目前,波兰美式橄榄球联赛在36个城市有着多达74支参赛队伍。在波兰碗的比赛现场,会有超过两万名球迷去到现场进行观赛。如今,美式橄榄球是波兰发展最为迅速的运动项目。&克罗地亚&虽然与波兰同为东欧国家,但克罗地亚国内目前发展最为迅速的运动项目却不是美式橄榄球,而是澳式橄榄球。在克罗地亚首都萨格勒布,澳式橄榄球正变得日益火热。如今,萨格勒布的四支球队组建了一个六支俱乐部参赛的澳式橄榄球联赛——CEAFL。&格鲁吉亚&波兰人热爱美式橄榄球,克罗地亚人热爱澳式橄榄球,而格鲁吉亚热则热爱英式橄榄球。如今,英式橄榄球已经取代足球,成为了格鲁吉亚国内最受欢迎的体育运动。在格鲁吉亚对阵俄罗斯的欧洲国家杯上,有超过6.5万名观众涌入了第比利斯的国家体育场。&斯洛文尼亚&得益于Anze Kopitar在NHL中的优异表现,冰球运动在斯洛文尼亚的发展迎来了一个热潮。近年来,斯洛文尼亚参与冰球运动的年轻人人数实现了翻番。而为了观看史丹利杯的决赛,斯洛文尼亚有超过1500名观众选择在凌晨三点起床来进行观赛。&结语:&不同的运动在不同的国家面临着不同的机遇与挑战,除了欧洲五大联赛与北美四大职业体育联盟外,更多的赛事与组织正在不断兴起,许多之前的小众与冷门运动也迎来了新的发展期。当然,也有许多之前的热门赛事逐渐脱离了人们的视线。&通过对各大洲体育项目发展情况的概述,禹唐希望这次的系列文章能够补充大家的全球视野,帮助我们去关注到更多不曾为国内所熟悉的赛事与运动项目,同时也给国内的赛事与体育产业的发展带来更多值得参考的视角。声明:配图除署名外均来自网络,本文为禹唐体育原创,未经同意不得转载,转载/合作请加禹唐微信小助手,微信号:yutangxzs
声明:配图除署名外均来自网络,禹唐体育原创文章未经同意不得转载,转载/合作请加禹唐微信小助手,微信号:yutangxzs
后参与评论
(0人参与,0条评论)
Copyright (C)禹唐体育 京ICP备号【更新】从 来 都 不 是!&br&&br&魔高一尺,道高一丈,道高一尺,魔高一丈。&br&&br&这不是车轱辘话,这是事实,魔和道谁高要看双方投入的资源。&br&&br&假设攻击者手上有数万台肉鸡,你是一个小站的管理员,就算你的水平比他高,你觉得后果会如何?&br&&br&假设你是国家某重要部门的网站管理员,攻击者只是个小黑客,你觉得他下场如何?&br&&br&&br&道消魔涨,魔消道涨,道涨魔消,魔涨道消。&br&&br&这不是绕口令,这也是事实,是说攻击成本和防御成本:防御做的越完善,攻击者消耗的成本越高,被发现的风险也越大;攻击做的越好,防御所付出的代价越大,追踪越难。&br&&br&如果防御者把防御做到攻击者要达到目的所需付出的代价大于攻击带来的收益减去由于攻击而被惩罚的风险(我一口气差点没喘过来),那么攻击就没意义了,因为这是个赔本生意,除非防御方有个懂群嘲超级能拉仇恨的老板(某人表示无辜躺枪。。。)&br&&br&什么?你说DDoS攻击没有成本?少年,你还是图样图森破啊,手上那么多肉鸡不花钱的?不花钱要花精力吧?不花精力天上掉下来的出门捡的你干点什么别的不好非要做这样没前途的事情?不知道就算是给肉鸡装软件刷流量卖广告也能赚的盆满钵满么?而且那是 可~持~续~发~展~, 你一发动DDoS就会开始掉粉,哦,不对,是掉肉鸡,全掉光了你拿什么养老?&br&养~老~不~能~靠~国~家~&br&要想富,少做攻击多养鸡。&br&而且你见过几个发了财的还在混黑社会?人家都变成社团了,不对,国际化企(第四声)业。&br&&br&&br&说几个小故事吧:&br&1.某人用synflood伪造IP地址攻击重要部门,惹了主管部门了,采用类似拉闸限电的方式分区搜捕,结果悲剧了。这个例子是DoS不是DDoS,但是可以告诉我们有关部门下了决心有多危险;&br&&br&2.某人用肉鸡DDoS某网站,反向追踪很难,但是他有个坏习惯喜欢开着自己的笔记本(无跳板)保持一直Ping目标机器,确定有没有攻击成功,结果你们懂的,所以说常在河边走哪能不湿鞋;&br&&br&3.某人玩DDoS,觉得自己玩的很专业,肯定不会被查到,可是侦探小说告诉我们警察叔叔不需要懂技术,有种方法叫做“得到最大利益的人就是最可疑的”,被请进去协助调查的时候你会希望自己的情商也和智商一样高,对了,还有你队友的情商和智商。哦,还有,网监的同志们是知道进屋前拉掉电闸以防止你破坏证据的,我觉得他们好莱坞电影看多了,谁真的会在家里的电脑上装自毁装置啊?再说,你装了自毁装置那不就是承认自己有问题么?你以为是拍香港律政剧还是美国警匪片?你有权利保持沉默?你有权利请律师?你有权利把牢底坐穿!&br&&br&你还玩DDoS么?你说你没有同伴,心智坚强,好,那扫描肉鸡的0Day是你自己挖的?控制Botnet的程序也是自己写的?DDoS攻击的代码也原创的?来来来,同学,我帮你介绍工作吧,你这样的人才工作地点从太平洋东岸到太平洋西岸一定是随便挑,我要的不多一个月薪水就好,对,你不用付我自己去找雇主要,你问我为啥不内推,嗯,内推只有几千块奖金我不干。&br&&br&什么?你不喜欢打工只愿意单干,来来来,同学,我们来讨论下风险投资和天使基金,这里有几百万不够的话我们再去拿,对对对是美刀不是人民币,你看看想做什么项目,占的不多10%就可以,报酬什么的你也不用担心,我拿项目提成就好。&br&&br&……………………………………&br&&br&DBA表示DDoS什么的弱爆了,好多网站都存在性能Bug,有时候几个简单的请求数据库系统就挂了我会告诉你怎么干吗?&br&&br&CCIE表示DDoS什么的弱爆了,好多系统都有网络规划/配置Bug,有时候几个简单的数据包发过去网络就瘫痪了我会随便说吗?&br&&br&社会工程学高手表示DDoS什么的弱爆了,好多机房一不小心就溜进去关电源拔硬盘如果BCP做得不好那可不是停机一两天的事情我会跟你讲吗?&br&&br&黑帽子表示DDoS什么的弱爆了,我手上有0Day若干,一般我都是黑进去直接rm -rf /*你家里人都知道吗?&br&&br&某主管部门表示DDoS什么的弱爆了,我们一般都是整个机房拔网线的,只要你敢播在线视频。&br&&br&We have a winner now!&br&&br&The End.&br&&br&………………&br&看完全文和演职员表的同学,你们幸运了,以下是彩蛋时间,杨威利和尤里安乱入中:&br&&br&尤里安:“提督,什么是必胜的秘诀?”&br&&br&杨威利:“集结六倍于敌人的兵力,有着完全的补给和装备。”&br&&br&尤里安:“如果没有这么多兵力呢?”&br&&br&杨威利:“相同兵力补给的情况下,要看指挥运用的能力。”&br&&br&尤里安:“如果兵力不足呢?”&br&&br&杨威利:“以少胜多之所以被称为奇迹,就是因为发生的实在太少啦。”&br&&br&尤里安:“提督您一定有办法的吧?您不是奇迹的杨么?我对您有信心!”&br&&br&杨威利:“尤里安,尤里安,'若是你就有信心',自古以来,有多少人为了这耀人的名誉,而舍身去做那些不可能的事啊!
【更新】从 来 都 不 是! 魔高一尺,道高一丈,道高一尺,魔高一丈。 这不是车轱辘话,这是事实,魔和道谁高要看双方投入的资源。 假设攻击者手上有数万台肉鸡,你是一个小站的管理员,就算你的水平比他高,你觉得后果会如何? 假设你是国家某重要部门的网…
XMPP 可以用来处理这类的问题。包括 facebook chat,Apple push,RabbitMQ,都是基于XMPP协议来做的。&br&优点是服务器成熟,有支持最好的 Ejabberd,也有易于开发使用的 Openfire;核心协议已经支持了几乎所有的需求;扩展能力强,实现新功能很容易。而且对于传输层丢数据的问题,XMPP 也有专门的应用层确认机制,能保证数据到达。&br&缺点是基于 XML,导致冗余数据大,即使压缩之后也是,交互较多,不太适合在移动设备上使用。&br&&br&需要 Ejabberd 支持可以联系我啊,Erlang 原生的分布式系统,对于并发的 XMPP 服务器来说,是再合适不过的了,完全可以做到线性水平扩展。
XMPP 可以用来处理这类的问题。包括 facebook chat,Apple push,RabbitMQ,都是基于XMPP协议来做的。 优点是服务器成熟,有支持最好的 Ejabberd,也有易于开发使用的 Openfire;核心协议已经支持了几乎所有的需求;扩展能力强,实现新功能很容易。而且对于…
做粥的重点不在于放什么料,而是在于粥本身。怎么快速的做好粥底才是关键。&br&&br&&b&10分钟做好靓粥底大法。&/b&&br&&br&我在这里说的10分钟是煮粥时间,准备时间请忽略。&br&&br&&b&前期准备&/b&。&br&1、淘米。其实只要米不太差,做出来的粥都挺好吃的,当然东北大米、泰国香米都是不错的选择,我一般用新会小农粘,没有为什么,就是喜欢。&br&&figure&&img src=&https://pic3.zhimg.com/85e48a3ee13d8e8a3b1e75f5cc123822_b.png& data-rawwidth=&1239& data-rawheight=&697& class=&origin_image zh-lightbox-thumb& width=&1239& data-original=&https://pic3.zhimg.com/85e48a3ee13d8e8a3b1e75f5cc123822_r.jpg&&&/figure&&br&&br&&br&2、泡米。一般半个小时就差不多了,每个品种略微不同,但差不了太多。每个米都吸饱水分即可。&br&&figure&&img src=&https://pic3.zhimg.com/68e127db6a6b1e6e90a1daafcafff26e_b.png& data-rawwidth=&1679& data-rawheight=&956& class=&origin_image zh-lightbox-thumb& width=&1679& data-original=&https://pic3.zhimg.com/68e127db6a6b1e6e90a1daafcafff26e_r.jpg&&&/figure&这是刚淘好的米。&br&&br&&figure&&img src=&https://pic4.zhimg.com/a20c92adc1e36fd84133_b.png& data-rawwidth=&1579& data-rawheight=&904& class=&origin_image zh-lightbox-thumb& width=&1579& data-original=&https://pic4.zhimg.com/a20c92adc1e36fd84133_r.jpg&&&/figure&吸饱水分之后米的体积明显增大了很多、水位降低了很多。&br&&br&&figure&&img src=&https://pic3.zhimg.com/c4ec3c3f9a96ea7f6ac2c7e86bf2d706_b.png& data-rawwidth=&1385& data-rawheight=&776& class=&origin_image zh-lightbox-thumb& width=&1385& data-original=&https://pic3.zhimg.com/c4ec3c3f9a96ea7f6ac2c7e86bf2d706_r.jpg&&&/figure&米粒都饱满了。&br&&br&&br&3、冷冻。用硅胶大冰格是关键。将泡好的米稍微沥干、填满冰格,放进冷冻室,冻结成块即可。&br&&figure&&img src=&https://pic3.zhimg.com/97d118f04ea7bac261e8b42_b.png& data-rawwidth=&1426& data-rawheight=&812& class=&origin_image zh-lightbox-thumb& width=&1426& data-original=&https://pic3.zhimg.com/97d118f04ea7bac261e8b42_r.jpg&&&/figure&&figure&&img src=&https://pic4.zhimg.com/014c3a3f54cf_b.png& data-rawwidth=&1648& data-rawheight=&872& class=&origin_image zh-lightbox-thumb& width=&1648& data-original=&https://pic4.zhimg.com/014c3a3f54cf_r.jpg&&&/figure&冷冻的时间视乎冰格的大小,一般由1个小时到几个小时不等。&br&&br&&figure&&img src=&https://pic3.zhimg.com/b9ded49f8eea162bff57bdd2_b.png& data-rawwidth=&1197& data-rawheight=&928& class=&origin_image zh-lightbox-thumb& width=&1197& data-original=&https://pic3.zhimg.com/b9ded49f8eea162bff57bdd2_r.jpg&&&/figure&脱模出来的效果非常好,可以严格控制做粥的分量。&br&&br&————8月28日补充:————&br&冷冻的作用在于将米碎化。原理比较复杂,简单而言,水在冷冻成冰的过程体积是变大的了,米粒是缩小或变化不怎么明显的,于是米粒被冰晶挤爆、变成粉末。上图中的米粒貌似完整,实则支离破碎,轻轻一拧就成为粉末了。传统的熬粥的过程也是要米粒吸饱水分之后再热力的作用下分开,原理不同但目的相同,显然用冷冻的方法更好。&br&另外,有人问到,那营养(维生素)不会流失么?忽略不计吧,实践上熬粥的过程也会有营养流失,但你放的配料如肉类菜类等都能够补充。既然如此,要啥自行车呢?&br&————补充完毕————&br&&br&&br&&b&10分钟煮粥。&/b&&br&&br&经典的瘦肉粥。&br&&br&4、烧水。想喝多少粥烧多少水,这次做的是一个小朋友的分量,一又二分之一碗水即可。烧水过程约3到4分钟。&br&&br&5、切猪肉、腌制。瘦肉切片,用油盐腌一下,当然你如果有喜好的调味也可以放下去,小朋友吃就简单一点好了。一般腌制7、8分钟即可,与烧水同步进行。&br&&br&6、水开放米。&br&&figure&&img src=&https://pic3.zhimg.com/8d62bfaf0e782e5ec422cbb2b65bb27e_b.png& data-rawwidth=&1272& data-rawheight=&845& class=&origin_image zh-lightbox-thumb& width=&1272& data-original=&https://pic3.zhimg.com/8d62bfaf0e782e5ec422cbb2b65bb27e_r.jpg&&&/figure&这么多的米够了。&br&&br&&figure&&img src=&https://pic3.zhimg.com/d51bfe51a5ba_b.png& data-rawwidth=&1439& data-rawheight=&866& class=&origin_image zh-lightbox-thumb& width=&1439& data-original=&https://pic3.zhimg.com/d51bfe51a5ba_r.jpg&&&/figure&刚放下去这样的,要搅拌哦。&br&&br&&figure&&img src=&https://pic1.zhimg.com/bd32d1e8b0a507c7aa3fc_b.png& data-rawwidth=&1507& data-rawheight=&814& class=&origin_image zh-lightbox-thumb& width=&1507& data-original=&https://pic1.zhimg.com/bd32d1e8b0a507c7aa3fc_r.jpg&&&/figure&猛火烧煮,要适时搅拌,4分钟之后就是这样子。&br&&br&7、放配料。就是放腌好的猪肉,搅拌均匀。(过程没有拍照……)&br&再煮一分钟就足够了。&br&&br&8、装碗,撒葱,可以开动了。&br&&figure&&img src=&https://pic4.zhimg.com/3eacb99c34d150deee9b81d3_b.png& data-rawwidth=&1281& data-rawheight=&836& class=&origin_image zh-lightbox-thumb& width=&1281& data-original=&https://pic4.zhimg.com/3eacb99c34d150deee9b81d3_r.jpg&&&/figure&青青白白,简简单单。&br&&figure&&img src=&https://pic4.zhimg.com/857c98ae9b14d9b639ddbf_b.png& data-rawwidth=&1350& data-rawheight=&836& class=&origin_image zh-lightbox-thumb& width=&1350& data-original=&https://pic4.zhimg.com/857c98ae9b14d9b639ddbf_r.jpg&&&/figure&非常软糯,口感清新。&br&&br&&b&关键点&/b&。&br&1、米要完全浸透、吸饱水分。&br&2、使用硅胶冰格。不用硅胶冰格你会后悔的。&br&&br&&b&优势&/b&。&br&与其他的方法相比,此方法的优势是巨大的。&br&1、节省实际煮制时间。因为米可以大批量冷冻,一次制作多次受益。&br&2、无需特殊的配料。完全没有特殊的添加剂。&br&3、灵活性高。每次煮粥想吃多少煮多少,想吃才煮;不用考虑加水的比例,想喝稠的少放水,想喝稀多加水,小白也可以灵活掌握。&br&4、安全卫生。如选用带盖的冰格可以防止串味,并且在冰箱的冷冻室,可以放很长时间。半夜泡米既要担心夏天太热会变味、又要担心小强惦记,这个直接放冷冻室省事多了。&br&&br&我家的小孩喜欢喝粥,但是有时候煮了又不喝,用此法就不用麻烦了,想喝10分钟就能做好,极大的满足了小孩的吃饭需求。至于口味,喜欢加菜就加菜,喜欢加蛋就加蛋,一天可以有几个口味,绝对满足他们的味蕾。&br&&br&&br&欢迎点赞。
做粥的重点不在于放什么料,而是在于粥本身。怎么快速的做好粥底才是关键。 10分钟做好靓粥底大法。 我在这里说的10分钟是煮粥时间,准备时间请忽略。 前期准备。 1、淘米。其实只要米不太差,做出来的粥都挺好吃的,当然东北大米、泰国香米都是不错的选择…
&p&不需要&抓取&数据 一般抓取数据特指爬虫&/p&&p&steamDB获得数据的原理是一个每天循环遍历steam api的队列系统&/p&&p&然后获得数据之后再存到自己数据库里面 &/p&&p&比如人数api就是&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//api.steampowered.com/ISteamUserStats/GetNumberOfCurrentPlayers/v1%3Fappid%3D570& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&api.steampowered.com/IS&/span&&span class=&invisible&&teamUserStats/GetNumberOfCurrentPlayers/v1?appid=570&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&这个就是获得的dota2实时的在线人数&/p&&p&返回的json字符串&/p&&div class=&highlight&&&pre&&code class=&language-json&&&span class=&p&&{&/span&
&span class=&nt&&&response&&/span&&span class=&p&&:&/span& &span class=&p&&{&/span&
&span class=&nt&&&player_count&&/span&&span class=&p&&:&/span& &span class=&mi&&387091&/span&&span class=&p&&,&/span&
&span class=&nt&&&result&&/span&&span class=&p&&:&/span& &span class=&mi&&1&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&然后其它的api的具体介绍地址在&a href=&//link.zhihu.com/?target=http%3A//steamcommunity.com/dev& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Steam Web API Documentation&/a&&/p&&p&比较详细的wiki&a href=&//link.zhihu.com/?target=https%3A//wiki.teamfortress.com/wiki/WebAPI/GetNumberOfCurrentPlayers& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&WebAPI/GetNumberOfCurrentPlayers - Official TF2 Wiki&/a&&/p&&p&忘了说了steamdb所使用的更新工具的源码在&a href=&//link.zhihu.com/?target=https%3A//github.com/SteamDatabase/SteamDatabaseBackend& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SteamDatabase/SteamDatabaseBackend&/a&&/p&&p&enhanced steam 的工作原理其实就是一段js 实时获得你访问的steam页面里面的特定的值并且添加值上去&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//github.com/jshackles/Enhanced_Steam& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&jshackles/Enhanced_Steam&/a&
这是es的代码 自己去看吧
感谢github 感谢开源&/p&
不需要"抓取"数据 一般抓取数据特指爬虫steamDB获得数据的原理是一个每天循环遍历steam api的队列系统然后获得数据之后再存到自己数据库里面 比如人数api就是这个就是获得的dota2实时的在线人数返回的json字符串{
"response": {
&p&一直做通信服务器相关的开发(大型音视频会议系统),SKYNET是我的菜。能用C语言感觉很顺手啊,消息分发等本来我们就玩烂了,自己也定制开发了消息分发框架,最后发现没有SKYNET做得好。SKYNE的集群功能、动态加载服务、LUA集成等功能完美适配我们的场景,感觉假如功能多了就赘肉太多,少了很多重要功能没有覆盖到,现在这种规模和功能简直完美。可能是用C太久了,没有怎么用过其他语言,从而也沾染了强控制欲这种不好的习惯,SKYNET这种规模很合我胃口,大不了自己加功能或改bug而已。SKYNET的代码第一眼就很喜欢,很有安全感,怎么说呢,假如一个开源项目代码让你看起来不舒服,你自己就会对它的质量都产生怀疑,SKYNET代码看起来让人很放心(主要是与自己的风格很像)。重的比如Erlang,本来就是电信行业开发出来的,但是没有怎么用过,会的人不多,所以真不大敢上项目。所以并不是只有游戏服务器后端适合这个框架,反而我觉得在通信领域,这个框架很不错。
一直做通信服务器相关的开发(大型音视频会议系统),SKYNET是我的菜。能用C语言感觉很顺手啊,消息分发等本来我们就玩烂了,自己也定制开发了消息分发框架,最后发现没有SKYNET做得好。SKYNE的集群功能、动态加载服务、LUA集成等功能完美适配我们的场景,…
&figure&&img src=&https://pic2.zhimg.com/v2-3f5faea94ccf7916_b.jpg& data-rawwidth=&1024& data-rawheight=&681& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&https://pic2.zhimg.com/v2-3f5faea94ccf7916_r.jpg&&&/figure&&blockquote&本文内容引用了公众号声网Agora的文章,感谢原作者的分享。&/blockquote&&h2&1、前言&/h2&&p&实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等。 &/p&&p&&b&典型的实时音视频应用数据流转过程如下:&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-c1f95f7e62730d18baa8a24d3b40c3e7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&700& data-rawheight=&111& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic4.zhimg.com/v2-c1f95f7e62730d18baa8a24d3b40c3e7_r.jpg&&&/figure&&p&&br&&/p&&p&&b&下面这张图可能更具体一点:&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f7c79bedda64c07a1c8cb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&700& data-rawheight=&196& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic4.zhimg.com/v2-f7c79bedda64c07a1c8cb_r.jpg&&&/figure&&p&&br&&/p&&p&本文汇总了一些能帮助到正在学习或进行实时音视频开发的同行们的开源工程,这些工程分为几类:音视频编解码类、视频前后处理、服务端类等,希望能加速您的学习或研究过程。&/p&&h2&&b&学习交流:&/b&&/h2&&blockquote&- 即时通讯开发交流群:&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//shang.qq.com/wpa/qunwpa%3Fidkey%3D347e290d9cccc8b56cebcd577f520e3617649& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&&/a&[推荐]&br&- 移动端IM开发入门文章:《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//www.52im.net/thread-464-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&新手入门一篇就够:从零开发移动端IM&/a&》&/blockquote&&p&(本文同步发布于:&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://www.52im.net/thread-.html&/a&)&/p&&h2&2、音视频编解码类开源工程&/h2&&p&&b&视频编解码的作用就是:&/b&在设备的摄像头采集画面和前处理后,将图像进行压缩、进行数字编码、用于传输。&/p&&p&&b&编解码器的优劣基本在于:&/b&压缩效率的高低、速度和功耗。&/p&&p&&b&目前,主流的视频编码器分为3个系列:&/b&&/p&&blockquote&1)VPx(VP8,VP9):&br&VPx系列是由Google开源的视频编解码标准。在保证相同质量情况下,VP9相比VP8码率减少约50%;&br&2)H.26x(H.264,H.265):H.26x系列在硬件支持上比较广泛,H.265的编码效率能比上一代提高了30-50%,但是复杂度和功耗会比上一代大很多,所以纯软件编码实现的话有一定瓶颈,现有的技术下,还是需要依靠硬件编解码为主;&br&3)AVS(AVS1.0,AVS2.0):&br&AVS是我国具备自主知识产权的第二代信源编码标准,目前已经发展到第二代。&/blockquote&&h2&2.1 WebRTC工程&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-43b32d0eb5cf6d109cf75f4cb506806a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&365& data-rawheight=&90& class=&content_image& width=&365&&&/figure&&p&首先会用到的肯定是WebRTC,是一个支持网页浏览器进行实时语音对话或视频对话的开源项目。它提供了包括音视频的采集、编解码、网络传输、显示等功能。如果你想基于WebRTC开发实时音视频应用,需要注意,由于WebRTC缺少服务端设计和部署方案,你还需要将WebRTC与Janus等服务端类开源项目结合即可。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fwebrtc.org%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://webrtc.org/&/a&&/p&&p&&b&更多WebRTC的技术文章请见:&/b&&/p&&blockquote&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Farticle-126-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&开源实时音视频技术WebRTC的现状&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-225-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&简述开源实时音视频技术WebRTC的优缺点&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-227-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&访谈WebRTC标准之父:WebRTC的过去、现在和未来&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-265-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&良心分享:WebRTC 零基础开发者教程(中文)[附件下载]&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-284-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&WebRTC实时音视频技术的整体架构介绍&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-356-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&新手入门:到底什么是WebRTC服务器,以及它是如何联接通话的?&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-442-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&WebRTC实时音视频技术基础:基本架构和协议栈&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-475-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浅谈开发实时视频直播平台的技术要点&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-488-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&[观点] WebRTC应该选择H.264视频编码的四大理由&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-510-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于开源WebRTC开发实时音视频靠谱吗?第3方SDK有哪些?&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-589-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-763-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&简述实时音视频聊天中端到端加密(E2EE)的工作原理&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实时通信RTC技术栈之:视频编解码&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&开源实时音视频技术WebRTC在Windows下的简明编译教程&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&网页端实时音视频技术WebRTC:看起来很美,但离生产应用还有多少坑要填?&/a&》&br&&& &a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fforum.php%253Fmod%253Dcollection%2526action%253Dview%2526ctid%253D5& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&更多同类文章 ……&/a&&/blockquote&&h2&2.2 x264工程&/h2&&p&H.264是目前应用最广的码流标准。x264则是能够产生符合H.264标准的码流的编码器,它可以将视频流编码为H.264、MPEG-4 AVC格式。它提供了命令行接口与API,前者被用于一些图形用户接口例如Straxrip、MeGUI,后者则被FFmpeg、Handbrake等调用。当然,既然有x264,就有对应HEVC/H.265的x265。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fwww.videolan.org%252Fdevelopers%252Fx264.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://www.videolan.org/developers/x264.html&/a&&/p&&h2&2.3 FFmpeg工程&/h2&&p&FFmpeg大家应该不陌生,提供了编码、解码、转换、封装等功能,以及剪裁、缩放、色域等后期处理,支持几乎目前所有音视频编码标准(由于格式众多,我们就不一一列列举了,可以在Wikipedia中找到)。&/p&&p&同时,FFmpeg还衍生出了libav项目,从中诞生了视频解码器LAV,许多播放软件都可调用LAV进行解码,并且LAV本身也支持利用显卡进行视频硬解。很多主流视频播放器中都以FFmpeg作为内核播放器。不仅仅是视频播放器,就连Chrome这类可以播放网页视频的浏览器也受益于FFmpeg。很多开发者也基于FFmpeg做过很多开发并开源出来,比如大神雷霄骅(代码可见他的sourceforge)。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fffmpeg.org%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://ffmpeg.org/&/a&&/p&&h2&2.4 ijkplayer工程&/h2&&p&在介绍ijkplayer之前,要先提到ffplay。ffplay是一个使用了FFmpeg和sdl库的可移植的媒体播放器。ijkplay是Bilibili开源的基于ffplay.c实现的轻量级iOS/Android视频播放器,API易于集成,且编译配置可裁剪,利于控制安装包大小。&/p&&p&在编解码方面,ijkplayer支持视频软解和硬解,可以在播放前配置,但在播放过程中则不能切换。iOS和Android上视频硬解可分别使用大家熟悉的VideoToolbox和MediaCodec。但ijkplayer对音频仅支持软解。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252FBilibili%252Fijkplayer& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/Bilibili/ijkplayer&/a&&/p&&h2&2.5 JSMpeg工程&/h2&&p&JSMpeg是一个基于JavaScript的MPEG1视频的解码器。如果要做H5端的视频直播,可以考虑使用JSMpeg在移动端进行解码。在H5端做音视频直播,可以使用JSMpeg进行视频解码,这也是最近比较火的H5抓娃娃的主流策略。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fphoboslab%252Fjsmpeg& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/phoboslab/jsmpeg&/a&&/p&&h2&2.6 Opus音频编码器&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-24fd24fa871fd7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&178& data-rawheight=&83& class=&content_image& width=&178&&&/figure&&p&Opus是用C语言开发的一个高灵活度的音频编码器,针对ARM、x86有特殊优化,fix-point实现。Opus在各方面都有着明显优势。它同时支持语音与音乐的编码,比特率为6k-510k。它融合了SILK编码方法和CELT编码方法。SILK原本被用于Skype中,基于语音信号的线性预测分析(LPC),对音乐支持并不好。而CELT尽管适用于全带宽音频,但对低比特率语音的编码效率不高,所以两者在Opus中形成了互补。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-bfcfae7f7621a0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&689& data-rawheight=&506& class=&origin_image zh-lightbox-thumb& width=&689& data-original=&https://pic1.zhimg.com/v2-bfcfae7f7621a0_r.jpg&&&/figure&&p&Opus是“取代”了Speex。但是Speex中有的功能,Opus却没有,比如回声消除。这个功能已经从编码器中独立出来。所以如果想实现好的回声消除,可以配合WebRTC的AEC和AECM模块做二次开发。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fopus-codec.org%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://opus-codec.org/&/a&&/p&&h2&2.7 live555工程&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-bab8b276007aafa909d953_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&413& data-rawheight=&167& class=&content_image& width=&413&&&/figure&&p&live555是一个C++流媒体开源项目,其中不仅包括了传输协议(SIP、RTP)、音视频编码器(H.264、MPEG4)等,还包括流媒体服务器的例子,是流媒体项目的首选,里面的传输模块是非常值得视频会议开发作为参考的。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.live555.com%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://www.live555.com/&/a&&/p&&h2&3、音视频前后处理开源工程&/h2&&p&前后处理包含很多细分技术,应用正确的话,对视频质量或多或少都有提升。不过每增加一个处理环节,必然会增加运算量与延时,所以如何取舍,还要大家各自斟酌。&/p&&h2&3.1 Seetaface工程&/h2&&p&Seetaface是由中科院山世光老师开源的一套完整的人脸检测,人脸对齐和人脸验证方案。代码基于C++实现,开源协议为BSD-2,可供学术界和工业界免费使用。且不依赖于任何第三方的库函数,在使用对齐好的LFW图片上,检测对齐全部使用该开源软件的情况下可达到97.1%。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fseetaface%252FSeetaFaceEngine& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/seetaface/SeetaFaceEngine&/a&&/p&&h2&3.2 GPUImage工程&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-8c1ee50a1a9dd859abb925_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&240& data-rawheight=&240& class=&content_image& width=&240&&&/figure&&p&现在在iOS端做美颜效果、加水印,基本都会采用GPUImage,它内置了125种渲染效果, 还支持脚本自定义。该项目实现了图片滤镜、摄像头实时滤镜。它优势在于处理效果是基于GPU实现,相对于CPU处理性能更高。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252FBradLarson%252FGPUImage& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/BradLarson/GPUImage&/a&&/p&&h2&3.3 Open nsfw model工程&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-e79ef76e8d1f6dbd571d2a20bb42b4da_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&500& data-rawheight=&112& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic3.zhimg.com/v2-e79ef76e8d1f6dbd571d2a20bb42b4da_r.jpg&&&/figure&&p&Open nsfw model是雅虎开源项目,全名是Open Not suitable for work model,专门鉴别不适合工作时间浏览的图片(言而言之就是小黄图)。它是基于Caffe框架训练的模型,用于音视频后处理。不过,它还不能鉴别恐怖、血腥图片。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fyahoo%252Fopen_nsfw& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/yahoo/open_nsfw&/a&&/p&&h2&3.4 Soundtouch工程&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-43cf8ae43be97fa28b8e432_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&144& data-rawheight=&144& class=&content_image& width=&144&&&/figure&&p&Soundtouch是一个开源的音频处理框架,主要功能对音频变速、变调,实现变声的效果。同时,它也能对媒体流实时处理。采用32位浮点或者16位定点,支持单声道或者双声道,采样率范围为8k - 48k。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.surina.net%252Fsoundtouch%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://www.surina.net/soundtouch/&/a&&/p&&h2&4、服务端类开源项目&/h2&&p&正如开始时我们所说,WebRTC缺少服务端的设计与部署,利用MCU、SFU实现多人聊天,提高传输质量,都需要开发者自己动手。而下面这些开源项目能够帮到你。&/p&&h2&4.1 Jitsi工程&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-8cc0cff4d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&187& data-rawheight=&88& class=&content_image& width=&187&&&/figure&&p&Jitsi是开源的视频会议系统,可以实现在线视频会议,文档共享和即时消息的分享。它支持网络视频会议,使用SFU模式实现视频路由器功能。开发语言是Java。它支持SIP帐号注册电话呼叫。不仅支持单机本地安装方式,还支持云平台安装。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fjitsi.org%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://jitsi.org/&/a&&/p&&h2&4.2 JsSIP工程&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-a5b36fa181_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&258& data-rawheight=&104& class=&content_image& width=&258&&&/figure&&p&JsSIP是基于WebRTC的JavaScript SIP协议实现的库,可以在浏览器和Node.js中运行。它可以与 OverSIP、Kamailio、Asterisk、OfficeSIP等SIP Server一起运行。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fversatica%252FJsSIP& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/versatica/JsSIP&/a&&/p&&h2&4.3 SRS工程&/h2&&p&SRS是一个采用MIT协议授权的国产的简单的RTMP/HLS 直播服务器。最新版还支持FLV模式,同时具备了RTMP的实时性,以及HLS中属于HTTP协议对各种网络环境高度适应性,并且支持更多播放器。它的功能与nginx-rtmp-module类似, 可以实现RTMP/HLS的分发。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fossrs%252Fsrs& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/ossrs/srs&/a&&/p&&h2&4.4 JRTPLIB工程&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-e983dbba71ecaa0be9c0a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&163& data-rawheight=&49& class=&content_image& width=&163&&&/figure&&p&JRTPLIB 是一个开源的 RTP协议实现库,支持Windows和unix平台。它支持多线程,处理性能较好。它还支持RFC3550、UDP IPV6,支持自定义扩展传输协议。但它不支持TCP传输,这需要开发者自己来实现。同时,它也不支持音视频的分包,代码要你自己来实现。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fj0r1%252FJRTPLIB& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/j0r1/JRTPLIB&/a&&/p&&h2&4.5 OPAL工程&/h2&&p&OPAL是OpenH323的下一个版本,继承了Openh323协议,其新包含了SIP协议栈,是实现SIP协议的首选,缺点是参考例子较少。&/p&&p&&b&代码地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fsourceforge.net%252Fprojects%252Fopalvoip%252Ffiles%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://sourceforge.net/projects/opalvoip/files/&/a&&/p&&h2&4.6 Kurento工程&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-c97e7c4205ae63bba0e7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&173& data-rawheight=&105& class=&content_image& width=&173&&&/figure&&p&Kurento是一个基于WebRTC的媒体服务端,并包含了一系列API,可以简化web与移动端实时视频应用的开发。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.kurento.org%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://www.kurento.org/&/a&&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252FKurento& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/Kurento&/a&&/p&&h2&4.7 Janus工程&/h2&&p&Janus是一个WebRTC媒体网关。不论是做流媒体、视频会议、录制、网关,都可以基于Janus来实现。&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fmeetecho%252Fjanus-gateway& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/Kurento&/a&&/p&&h2&5、其它资源&/h2&&h2&5.1 Callstats公司&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-fb51d3a5e093cbdaae7f4887556abd36_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&453& data-rawheight=&57& class=&origin_image zh-lightbox-thumb& width=&453& data-original=&https://pic3.zhimg.com/v2-fb51d3a5e093cbdaae7f4887556abd36_r.jpg&&&/figure&&p&实时通信过程中的,延时、丢包、接通率、掉线率等质量问题,都影响用户体验。商用项目尤其需要关注。Callstats是一家通过对WebRTC呼叫进行专业监测,来帮助用户搜集通讯数据,提升通话质量的服务商。&/p&&p&Callstats也通过Github开放很多案例,可供使用Jitsi-videobridge,、turn-server、JsSIP的开发者参考。&/p&&p&&b&官方地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fwww.callstats.io%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://www.callstats.io/&/a&&/p&&p&&b&Github地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%253A%252F%252Fgithub.com%252Fcallstats-io& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/callstats-io&/a&&/p&&h2&5.2 Meetecho团队&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-f7adf56cd60f3da2bb6fff_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&150& data-rawheight=&56& class=&content_image& width=&150&&&/figure&&p&Meetecho是著名的开源WebRTC网关项目Janus的开发团队。他们还提供基于Janus开发的技术咨询与部署服务、建立视频会议直播与录制服务等。&/p&&p&&b&官网地址:&/b&&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.meetecho.com%252F& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/carlhuda/janus&/a&&/p&&h2&附录:更多实时音视频开发资料&/h2&&blockquote&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-228-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(一):视频编解码之理论概述&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-229-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(二):视频编解码之数字视频介绍&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-232-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(三):视频编解码之编码基础&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-235-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(四):视频编解码之预测技术介绍&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-237-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(五):认识主流视频编码技术H.264&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-241-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(六):如何开始音频编解码技术的学习&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-242-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(七):音频基础及编码原理入门&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-243-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(八):常见的实时语音通讯编码标准&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-247-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(九):实时语音通讯的回音及回音消除概述&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-250-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十):实时语音通讯的回音消除技术详解&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-251-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十一):实时语音通讯丢包补偿技术详解&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-253-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十二):多人实时音视频聊天架构探讨&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-266-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十三):实时视频编码H.264的特点与优势&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-267-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十四):实时音视频数据传输协议介绍&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-269-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十五):聊聊P2P与实时音视频的应用情况&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-270-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十六):移动端实时音视频开发的几个建议&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-274-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&即时通讯音视频开发(十七):视频编码H.264、VP8的前世今生&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-825-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实时语音聊天中的音频处理与编码压缩技术简述&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-678-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&网易视频云技术分享:音频处理与压缩技术快速入门&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-590-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&学习RFC3550:RTP/RTCP实时传输协议基础知识&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-273-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于RTMP数据传输协议的实时流媒体技术研究(论文全文)&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-399-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&声网架构师谈实时音视频云的实现难点(视频采访)&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-475-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浅谈开发实时视频直播平台的技术要点&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-507-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&还在靠“喂喂喂”测试实时语音通话质量?本文教你科学的评测方法!&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-528-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实现延迟低于500毫秒的1080P实时音视频直播的实践分享&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-530-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-535-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何用最简单的方法测试你的实时音视频方案&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-541-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&技术揭秘:支持百万级粉丝互动的Facebook实时视频直播&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-763-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&简述实时音视频聊天中端到端加密(E2EE)的工作原理&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-853-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&移动端实时音视频直播技术详解(一):开篇&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-955-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&移动端实时音视频直播技术详解(二):采集&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-960-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&移动端实时音视频直播技术详解(三):处理&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-965-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&移动端实时音视频直播技术详解(四):编码和封装&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-967-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&移动端实时音视频直播技术详解(五):推流和传输&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-972-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&移动端实时音视频直播技术详解(六):延迟优化&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-875-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&理论联系实际:实现一个简单地基于HTML5的实时视频直播&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-939-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IM实时音视频聊天时的回声消除技术详解&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-953-1-1.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&浅谈实时音视频直播中直接影响用户体验的几项关键技术指标&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何优化传输机制来实现实时音视频的超低延迟?&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&首次披露:快手是如何做到百万观众同场看直播仍能秒开且不卡顿的?&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Android直播入门实践:动手搭建一套简单的直播系统&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&网易云信实时视频直播在TCP数据传输层的一些优化思路&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&实时音视频聊天技术分享:面向不可靠网络的抗丢包编解码器&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&P2P技术如何将实时视频直播带宽降低75%?&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&专访微信视频技术负责人:微信实时视频聊天技术的演进&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&腾讯音视频实验室:使用AI黑科技实现超低码率的高清实时视频聊天&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&微信团队分享:微信每日亿次实时音视频聊天背后的技术解密&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&近期大热的实时直播答题系统的实现思路与技术难点分享&/a&》&br&《&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&福利贴:最全实时音视频开发要用到的开源工程汇总&/a&》&br&&& &a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fforum.php%253Fmod%253Dcollection%2526action%253Dview%2526ctid%253D4& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&更多同类文章 ……&/a&&/blockquote&&p&(本文同步发布于:&a href=&http://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%253A%252F%252Fwww.52im.net%252Fthread-.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://www.52im.net/thread-.html&/a&)&/p&
本文内容引用了公众号声网Agora的文章,感谢原作者的分享。1、前言实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。比…
&p&实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等。
&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a21e3c1f7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&261& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic3.zhimg.com/v2-a21e3c1f7_r.jpg&&&/figure&&p&我们今天汇总了一些能帮助到正在学习或进行音视频开发的实时音视频开发者们的开源项目与几个也在为开源社区贡献力量的商业服务。这些项目分为几类:音视频编解码类、视频前后处理、服务端类等。&/p&&p&&br&&/p&&h2&&b&音视频编解码类开源项目&/b&&/h2&&p&视频编解码的作用,就是在设备的摄像头采集画面和前处理后,将图像进行压缩,进行数字编码,用于传输。编解码器的优劣基本在于:压缩效率的高低,速度和功耗。&/p&&p&目前,主流的视频编码器分为3个系列:VPx(VP8,VP9),H.26x(H.264,H.265),AVS(AVS1.0,AVS2.0)。VPx系列是由Google开源的视频编解码标准。在保证相同质量情况下,VP9相比VP8码率减少约50%。H.26x系列在硬件支持上比较广泛,H.265的编码效率能比上一代提高了30-50%,但是复杂度和功耗会比上一代大很多,所以纯软件编码实现的话有一定瓶颈,现有的技术下,还是需要依靠硬件编解码为主。AVS是我国具备自主知识产权的第二代信源编码标准,目前已经发展到第二代。&/p&&p&&b&WebRTC&/b&&/p&&p&首先会用到的肯定是WebRTC,是一个支持网页浏览器进行实时语音对话或视频对话的开源项目。它提供了包括音视频的采集、编解码、网络传输、显示等功能。如果你想基于WebRTC开发实时音视频应用,需要注意,由于WebRTC缺少服务端设计和部署方案,你还需要将WebRTC与Janus等服务端类开源项目结合即可。&/p&&p&官网地址:&a href=&http://link.zhihu.com/?target=https%3A//webrtc.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&WebRTC Home | WebRTC&/a&&/p&&p&&br&&/p&&p&&b&x264&/b&&/p&&p&H.264是目前应用最广的码流标准。x264则是能够产生符合H.264标准的码流的编码器,它可以将视频流编码为H.264、MPEG-4 AVC格式。它提供了命令行接口与API,前者被用于一些图形用户接口例如Straxrip、MeGUI,后者则被FFmpeg、Handbrake等调用。当然,既然有x264,就有对应HEVC/H.265的x265。&/p&&p&官网地址:&a href=&http://link.zhihu.com/?target=https%3A//www.videolan.org/developers/x264.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&x264, the best H.264/AVC encoder&/a&&/p&&p&&br&&/p&&p&&b&FFmpeg&/b&&/p&&p&FFmpeg大家应该不陌生,提供了编码、解码、转换、封装等功能,以及剪裁、缩放、色域等后期处理,支持几乎目前所有音视频编码标准(由于格式众多,我们就不一一列列举了,可以在Wikipedia中找到)。&/p&&p&同时,FFmpeg还衍生出了libav项目,从中诞生了视频解码器LAV,许多播放软件都可调用LAV进行解码,并且LAV本身也支持利用显卡进行视频硬解。很多主流视频播放器中都以FFmpeg作为内核播放器。不仅仅是视频播放器,就连Chrome这类可以播放网页视频的浏览器也受益于FFmpeg。很多开发者也基于FFmpeg做过很多开发并开源出来,比如大神雷霄骅(代码可见他的sourceforge)。&/p&&p&官网地址:&a href=&http://link.zhihu.com/?target=http%3A//ffmpeg.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&FFmpeg&/a&&/p&&p&&br&&/p&&p&&b&ijkplayer&/b&&/p&&p&在介绍ijkplayer之前,要先提到ffplay。ffplay是一个使用了FFmpeg和sdl库的可移植的媒体播放器。ijkplay是Bilibili开源的基于ffplay.c实现的轻量级iOS/Android视频播放器,API易于集成,且编译配置可裁剪,利于控制安装包大小。&/p&&p&在编解码方面,ijkplayer支持视频软解和硬解,可以在播放前配置,但在播放过程中则不能切换。iOS和Android上视频硬解可分别使用大家熟悉的VideoToolbox和MediaCodec。但ijkplayer对音频仅支持软解。&/p&&p&Github地址:&a href=&http://link.zhihu.com/?target=https%3A//github.com/Bilibili/ijkplayer& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/Bilibili/ijk&/span&&span class=&invisible&&player&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&JSMpeg&/b&&/p&&p&JSMpeg是一个基于JavaScript的MPEG1视频的解码器。如果要做H5端的视频直播,可以考虑使用JSMpeg在移动端进行解码。在H5端做音视频直播,可以使用JSMpeg进行视频解码,这也是最近比较火的H5抓娃娃的主流策略。&/p&&p&Github地址:&a href=&http://link.zhihu.com/?target=https%3A//github.com/phoboslab/jsmpeg& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/phoboslab/js&/span&&span class=&invisible&&mpeg&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&Opus音频编码器&/b&&/p&&p&Opus是用C语言开发的一个高灵活度的音频编码器,针对ARM、x86有特殊优化,fix-point实现。Opus在各方面都有着明显优势。它同时支持语音与音乐的编码,比特率为6k-510k。它融合了SILK编码方法和CELT编码方法。SILK原本被用于Skype中,基于语音信号的线性预测分析(LPC),对音乐支持并不好。而CELT尽管适用于全带宽音频,但对低比特率语音的编码效率不高,所以两者在Opus中形成了互补。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-ddcf3c26cba01cff49b3bf_b.jpg& data-size=&normal& data-rawwidth=&720& data-rawheight=&509& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic4.zhimg.com/v2-ddcf3c26cba01cff49b3bf_r.jpg&&&figcaption&图片源自Wikipedia&/figcaption&&/figure&&p&Opus是“取代”了Speex。但是Speex中有的功能,Opus却没有,比如回声消除。这个功能已经从编码器中独立出来。所以如果想实现好的回声消除,可以配合WebRTC的AEC和AECM模块做二次开发。&/p&&p&官网地址:&a href=&http://link.zhihu.com/?target=https%3A//opus-codec.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Opus Codec&/a&&/p&&p&&br&&/p&&p&&b&live555&/b&&/p&&p&live555是一个C++流媒体开源项目,其中不仅包括了传输协议(SIP、RTP)、音视频编码器(H.264、MPEG4)等,还包括流媒体服务器的例子,是流媒体项目的首选,里面的传输模块是非常值得视频会议开发作为参考的。&/p&&p&官网地址:&a href=&http://link.zhihu.com/?target=http%3A//www.live555.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&live555.com/&/span&&span class=&invisible&&&/span&&/a&&/p&&h2&&b&音视频前后处理开源项目&/b&&/h2&&p&前后处理包含很多细分技术,应用正确的话,对视频质量或多或少都有提升。不过每增加一个处理环节,必然会增加运算量与延时,所以如何取舍,还要大家各自斟酌。&/p&&p&&b&Seetaface&/b&&/p&&p&Seetaface是由中科院山世光老师开源的一套完整的人脸检测,人脸对齐和人脸验证方案。代码基于C++实现,开源协议为BSD-2,可供学术界和工业界免费使用。且不依赖于任何第三方的库函数,在使用对齐好的LFW图片上,检测对齐全部使用该开源软件的情况下可达到97.1%。&/p&&p&Github地址:&a href=&http://link.zhihu.com/?target=https%3A//github.com/seetaface/SeetaFaceEngine& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&seetaface/SeetaFaceEngine&/a&&/p&&p&&br&&/p&&p&&b&GPUImage&/b&&/p&&p&现在在iOS端做美颜效果、加水印,基本都会采用GPUImage,它内置了125种渲染效果, 还支持脚本自定义。该项目实现了图片滤镜、摄像头实时滤镜。它优势在于处理效果是基于GPU实现,相对于CPU处理性能更高。&/p&&p&Github地址:&a href=&http://link.zhihu.com/?target=https%3A//github.com/BradLarson/GPUImage& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/BradLarson/G&/span&&span class=&invisible&&PUImage&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&Open nsfw model&/b&&/p&&p&Open nsfw model是雅虎开源项目,全名是Open Not suitable for work model,专门鉴别不适合工作时间浏览的图片(言而言之就是小黄图)。它是基于Caffe框架训练的模型,用于音视频后处理。不过,它还不能鉴别恐怖、血腥图片。&/p&&p&Github地址:&a href=&http://link.zhihu.com/?target=https%3A//github.com/yahoo/open_nsfw& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/yahoo/open_n&/span&&span class=&invisible&&sfw&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&Soundtouch&/b&&/p&&p&Soundtouch是一个开源的音频处理框架,主要功能对音频变速、变调,实现变声的效果。同时,它也能对媒体流实时处理。采用32位浮点或者16位定点,支持单声道或者双声道,采样率范围为8k - 48k。&/p&&p&官网地址:&a href=&http://link.zhihu.com/?target=http%3A//www.surina.net/soundtouch/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SoundTouch Sound Processing Library&/a&&/p&&p&&br&&/p&&h2&&b&服务端类开源项目&/b&&/h2&&p&正如开始时我们所说,WebRTC缺少服务端的设计与部署,利用MCU、SFU实现多人聊天,提高传输质量,都需要开发者自己动手。而下面这些开源项目能够帮到你。&/p&&p&&b&Jitsi&/b&&/p&&p&Jitsi是开源的视频会议系统,可以实现在线视频会议,文档共享和即时消息的分享。它支持网络视频会议,使用SFU模式实现视频路由器功能。开发语言是Java。它支持SIP帐号注册电话呼叫。不仅支持单机本地安装方式,还支持云平台安装。&/p&&p&官网地址:&a href=&http://link.zhihu.com/?target=https%3A//jitsi.org/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&jitsi.org/&/span&&span class=&invisible&&&/span&&/a&&a href=&http://link.zhihu.com/?target=https%3A//jitsi.org/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic2.zhimg.com/v2-c3dad3e3ad57443babdd_180x120.jpg& data-image-width=&600& data-image-height=&375& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Jitsi |&/a&官网地址:&a href=&http://link.zhihu.com/?target=https%3A//jitsi.org/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&jitsi.org/&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&JsSIP&/b&&/p&&p&JsSIP是基于WebRTC的JavaScript SIP协议实现的库,可以在浏览器和Node.js中运行。它可以与 OverSIP、Kamailio、Asterisk、OfficeSIP等SIP Server一起运行。&/p&&p&Githu

我要回帖

更多关于 冬季奥运会项目 的文章

 

随机推荐