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()"), () => {
17
17
} ) ;
18
18
} ) ;
19
19
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
-
28
20
describe (
29
21
genName (
30
22
"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