魔扣论坛

魔扣源码论坛业务
查看: 21|回复: 1

网络视频直播系统开发中,关于软硬编码的那些事

[复制链接]
  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 17 天

    [LV.4]神出鬼没

    16

    主题

    16

    帖子

    90

    积分

    初级魔扣

    Rank: 2

    魔扣币
    179
    贡献
    66
    威望
    0
    QQ
    发表于 2019-9-23 18:02:45 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】
    淘宝、天猫优惠券

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    在网络视频直播系统的开发过程中,必然会涉及到编码方式的选择。目前关于视频的编码主要有两种方式,一种是硬编码、一种是软编码。在实际开发中,若搭建平台时所用的系统不同,两种编码的使用方式也会有所变化。那么这两种编码有何不同?它们的优势和劣势分别是什么?如何选择?下面就随小编一同看下。
    一、软硬编码是什么
    软编码也叫非硬件编码,若用在直播上,通俗点讲,这种方式是直接利用硬件的CPU对采集到的视频进行编码。相对而言,硬编码则是利用非CPU进行编码,如显卡的GPU、专用的DSP、FPGA、ASIC芯片等等。
    二、软硬编码的优劣比较
    先说它们的优点:软编码实现直接、简单,参数调整方便,而且升级比较容易,兼容性好,用在网络视频直播系统上,几乎能解码所有的视频格式文件,画质清晰、画面精致,而且解码的速度较快。而硬解码的主要优点就是整体性能好,虽然在低码率情况下,质量相对于软编码来说,会比较差一点,但部分产品在GPU硬件平台移植了优秀的软编码算法,质量基本等同于软编码的效果,而且在这种模式下GPU承担起了视频的编码工作,因此硬编码对于CPU的占用比较低。
    再说它们的缺点:由于软编码主要是CPU负责的,所以对于线程不够的CPU来讲,处理效率可能就不如硬编码来的快,而且CPU容易发热,从而导致视频降帧、卡顿,无法正常录制。而且采用软编码,可能会使软件包体变大,从而占用硬件过多的内存。那么对于硬编码来讲,就是它的兼容性比不上软编码,导致不能全平台覆盖。
    三、如何选择软硬编码
    从以上可以看出,软硬编码的优势和劣势其实是互补的,根据平台的不同,尽可能扬长避短,提供不同的方案。这里结合了网上大神的说法,给出了一个选择方向:以在手机上构建网络视频直播系统为例,如果是使用推流编码,则推荐安卓4.3以上使用硬编码,以下使用软编码,而iOS使用全部硬编码。如果是使用播放解码,不管是安卓还是iOS,都使用软解码方案,虽然这样做不可避免的牺牲功耗,但是在部分细节方面表现会较优,且可控性强,兼容性也强,出错情况少。
    以上,就是网络视频直播系统开发过程中,对于软硬编码的认识和选择,如果您还有什么疑问的话,欢迎留言。

    该用户从未签到

    0

    主题

    172

    帖子

    344

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    172
    贡献
    172
    威望
    0
    发表于 2019-9-23 18:06:42 来自手机 | 显示全部楼层
    既然选择离开,就不要说不会忘记;既然你我没有缘分,就不需要誓言,因为誓言再多也没有用。今天的一切,魔扣源码论坛就像水流过一样不留痕迹。明天、以后,等我们再见的时候,就变成了陌生人。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表