File tree Expand file tree Collapse file tree 2 files changed +40
-8
lines changed
Expand file tree Collapse file tree 2 files changed +40
-8
lines changed Original file line number Diff line number Diff line change @@ -17,14 +17,6 @@ describe(genName("new FFmpeg()"), () => {
1717 } ) ;
1818} ) ;
1919
20- describe ( genName ( "FFmpeg.load()" ) , function ( ) {
21- // it("should work without any args", async () => {
22- // const ffmpeg = new FFmpeg();
23- // await ffmpeg.load();
24- // expect(ffmpeg).to.be.ok;
25- // });
26- } ) ;
27-
2820describe (
2921 genName (
3022 "FFmpeg directory APIs (createDir(), listDir(), deleteDir(), rename())"
Original file line number Diff line number Diff line change 1+ < html >
2+ < body >
3+ < h3 > Quick Test</ h3 >
4+ < video id ="output-video " controls > </ video > < br />
5+ < input type ="file " id ="uploader ">
6+ < p id ="message "> </ p >
7+ < script type ="module ">
8+ import { FFmpeg } from "/packages/ffmpeg/dist/esm/index.js" ;
9+ import { fetchFile } from "/packages/util/dist/esm/index.js" ;
10+ let ffmpeg = null ;
11+
12+ const transcode = async ( { target : { files } } ) => {
13+ const message = document . getElementById ( 'message' ) ;
14+ if ( ffmpeg === null ) {
15+ ffmpeg = new FFmpeg ( ) ;
16+ ffmpeg . on ( "log" , ( { message } ) => {
17+ console . log ( message ) ;
18+ } )
19+ ffmpeg . on ( "progress" , ( { progress } ) => {
20+ message . innerHTML = `${ progress * 100 } %` ;
21+ } ) ;
22+ await ffmpeg . load ( {
23+ coreURL : "/packages/core/dist/esm/ffmpeg-core.js" ,
24+ } ) ;
25+ }
26+ const { name } = files [ 0 ] ;
27+ await ffmpeg . writeFile ( name , await fetchFile ( files [ 0 ] ) ) ;
28+ message . innerHTML = 'Start transcoding' ;
29+ await ffmpeg . exec ( [ '-i' , name , 'output.mp4' ] ) ;
30+ message . innerHTML = 'Complete transcoding' ;
31+ const data = await ffmpeg . readFile ( 'output.mp4' ) ;
32+
33+ const video = document . getElementById ( 'output-video' ) ;
34+ video . src = URL . createObjectURL ( new Blob ( [ data . buffer ] , { type : 'video/mp4' } ) ) ;
35+ }
36+ const elm = document . getElementById ( 'uploader' ) ;
37+ elm . addEventListener ( 'change' , transcode ) ;
38+ </ script >
39+ </ body >
40+ </ html >
You can’t perform that action at this time.
0 commit comments