目前市面上常见的转码技术有这么几种:FFMPEG(或x264)、CUDA、Quick Sync。从如下几个参数来对比这三种技术吧:
1、 通用性: FFMPEG(X264) > CUDA > Quick Sync
2、 速度 : Quick Sync > CUDA > FFMPEG(X264)
3、 质量 : FFMPEG(X264) > Quick Sync > CUDA
具体参数我无法给出,因为我没有亲测。
总结下吧,目前大多数的转码服务器其实用的都是FFMPEG方案,为什么呢,GPU比CPU快很多。但是FFMPEG是非常成熟的方案,基本不会有什么太大的问题,所以很多公司,比如酷狗、快播还有很多。。。他们都不愿花太多精力去开发CUDA和Quick sync方案,因为再贵的CPU能有多贵?
刚刚说的是服务器产品,对于个人产品而言,比如暴风转码,那就不一样了,你不可能告诉用户换CPU吧,所以暴风才基于CUDA开发了相应的转码技术。
为嘛很少人开发Quick Sync呢?才推出嘛,而且intel也才于去年推出 intel media sdk,另外还有一款开源转码程序HandBrake,老外在这方面比MediaCoder国人靠谱多了。
下次我开发桌面端转码产品时,思路应该是这样的,首先推出Quick sync和FFMPEG两种转码方式的集合,如果发现大多数用户都没有intel芯片的话,考虑下cuda技术。