PageSourceSearch

https://ffmpegwasm.netlify.app/assets/js/edefc60b.1f8f8f5b.js

js ffmpegwasm.netlify.app collected 2026-10-03 10:45:04 UTC 6,190 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4065],{876:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>d});var r=n(2784);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),m=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=m(e.components);return r.createElement(p.Provider,{value:t},e.children)},s="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),s=m(n),f=a,d=s["".concat(p,".").concat(f)]||s[f]||c[f]||i;return n?r.createElement(d,o(o({ref:t},u),{},{components:n})):r.createElement(d,o({ref:t},u))}));function d(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=f;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[s]="string"==typeof e?e:a,o[1]=l;for(var m=2;m<i;m++)o[m]=n[m];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}f.displayName="MDXCreateElement"},4853:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var r=n(7896),a=(n(2784),n(876));const i={},o="Performance",l={unversionedId:"performance",id:"performance",title:"Performance",description:"ffmpeg.wasm uses transpiled FFmpeg C source code to WebAssembly code, it is for",source:"@site/docs/performance.md",sourceDirName:".",slug:"/performance",permalink:"/docs/performance",draft:!1,editUrl:"https://github.com/ffmpegwasm/ffmpeg.wasm/tree/main/apps/website/docs/performance.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Examples",permalink:"/docs/getting-started/examples"},next:{title:"Migrating from 0.11.x to 0.12+",permalink:"/docs/migration"}},p={},m=[{value:"Environment",id:"environment",level:2},{value:"Comparison",id:"comparison",level:2},{value:"$ ffmpeg -i input.webm output.mp4",id:"-ffmpeg--i-inputwebm-outputmp4",level:3}],u={toc:m},s="wrapper";function c({components:e,...t}){return(0,a.kt)(s,(0,r.Z)({},u,t,{components:e,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"performance"},"Performance"),(0,a.kt)("p",null,"ffmpeg.wasm uses transpiled FFmpeg C source code to WebAssembly code, it is for\ncertain that ffmpeg.wasm won't perform as good as FFmpeg as it is not fully\noptimized at the moment. (Even in ffmpeg.wasm multithread version). In this\nsection we provide a short comparison, so that you can make decision based on your\nneeds:"),(0,a.kt)("h2",{id:"environment"},"Environment"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"CPU: 8 \xd7 11th Gen Intel\xae Core\u2122 i5-1135G7 @ 2.40GHz"),(0,a.kt)("li",{parentName:"ul"},"Memory: 15.6 GiB of RAM"),(0,a.kt)("li",{parentName:"ul"},"OS: Manjaro Linux 6.1.44-1-MANJARO (64-bit)"),(0,a.kt)("li",{parentName:"ul"},"Browser: Google Chrome Version 116.0.5845.96 (Official Build) (64-bit)"),(0,a.kt)("li",{parentName:"ul"},"FFmpeg: n5.1.2")),(0,a.kt)("h2",{id:"comparison"},"Comparison"),(0,a.kt)("p",null,"Setup:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Each command is executed 5 times."),(0,a.kt)("li",{parentName:"ul"},"Only ",(0,a.kt)("inlineCode",{parentName:"li"},"ffmpeg.exec()")," time is measured."),(0,a.kt)("li",{parentName:"ul"},"Candidates",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},"FFmpeg: ",(0,a.kt)("a",{parentName:"li",href:"https://hub.docker.com/r/linuxserver/ffmpeg"},"native FFmpeg"),",\nconsidered as baseline."),(0,a.kt)("li",{parentName:"ul"},"core: ffmpeg.wasm single thread version."),(0,a.kt)("li",{parentName:"ul"},"core-mt: ffmpeg.wasm multi thread version.")))),(0,a.kt)("h3",{id:"-ffmpeg--i-inputwebm-outputmp4"},"$ ffmpeg -i ",(0,a.kt)("a",{parentName:"h3",href:"https://test-videos.co.uk/vids/bigbuckbunny/webm/vp8/72
10/Big_Buck_Bunny_720_10s_1MB.webm"},"input.webm")," output.mp4"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"#"),(0,a.kt)("th",{parentName:"tr",align:null},"FFmpeg"),(0,a.kt)("th",{parentName:"tr",align:null},"core v0.12.3"),(0,a.kt)("th",{parentName:"tr",align:null},"core-mt v0.12.3"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Avg"),(0,a.kt)("td",{parentName:"tr",align:null},"5.2 sec"),(0,a.kt)("td",{parentName:"tr",align:null},"128.8 sec (0.04x)"),(0,a.kt)("td",{parentName:"tr",align:null},"60.4 sec (0.08x)")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Max"),(0,a.kt)("td",{parentName:"tr",align:null},"5.3 sec"),(0,a.kt)("td",{parentName:"tr",align:null},"130.7 sec"),(0,a.kt)("td",{parentName:"tr",align:null},"63.9 sec")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Min"),(0,a.kt)("td",{parentName:"tr",align:null},"5.1 sec"),(0,a.kt)("td",{parentName:"tr",align:null},"126.6 sec"),(0,a.kt)("td",{parentName:"tr",align:null},"59 sec")))))}c.isMDXComponent=!0}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.