haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.32k stars 3.25k forks source link

[html] 第1144天 说说你对WebCodecs API的理解 #5092

Open haizhilin2013 opened 2 years ago

haizhilin2013 commented 2 years ago

第1144天 说说你对WebCodecs API的理解

3+1官网

我也要出题

WangXi01 commented 2 years ago

现代浏览器提供了很多种方式来播放或录制音视频,比如Media Stream API,Media Recoding API,Media Source API,WebRTC API等等,但是这些API并没有提供一个比较底层的操作编解码视频的能力。如果想要自己操作编解码的过程,或增加一些新特性,开发者可能需要借助于webassembly技术打包ffmpeg,或者对其进行二次开发。但是这样做,有一个很大的缺点,就是无法应用硬件(gpu)对编解码过程进行加速,只能通过软件(cpu)进行运算。这无疑是一种很笨拙的方式,没有充分利用现代计算机的硬件优势。

WebCodecs API提供里一套比较底层的接口,能让开发者直接访问浏览器的编码器与解码器: 视频与音频的解码 视频与音频的编码 原始视频帧 图片解码

BrookZhao commented 1 year ago

现代浏览器很多提供了多种方式来播放和录制音视频,比如media stream API、media recording API、media source API、webRTC API等,但这些api并没有提供一些比较底层的操作编解码的能力。如果想要自己操作编解码的过程,或增加一些特性,开发者需要借助webassembly技术打包ffmpeg,或者对其进行二次开发。但这样做,硬件无法对编解码过程进行加速,只能痛殴cpu进行计算,没有充分利用现代计算机的硬件优势。

webcodecs API提供了一套比较底层的接口,能让开发者直接访问浏览器的编解码器 视频与音频的解码 视频与音频的编码 原始视频帧 图片解码