1.2.1 • Published 4 years ago

media-carrier v1.2.1

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

media-carrier

media-carrier is used to record, convert and stream audio and video. Also offer some tools to convert binary file, time transform and so on.

Installation

npm install --save media-carrier

Usage

Cut Video

import MediaCarrier, { Utils } from 'media-carrier';

const { sec2Time, blob2ObjectURL } = Utils;

const mc = new MediaCarrier();
await mc.open({
  workerPath: '/static/ffmpeg-worker-mp4.js', // Script URL should obey the same-origin-policy. see more https://developer.mozilla.org/zh-CN/docs/Web/API/Worker/Worker
})

const $input = document.querySelector('#input');
const file = $input.files[0];

const { blob } = await mc.clip(file, {
  startTime: sec2Time(0), // '00:00:00.0'
  duration: sec2Time(10), // '00:00:10.0'
  mediaType: 'video',
  formatType: 'mp4',
});

const newVideoURL = blob2ObjectURL(blob);
document.querySelector('#video').src = newVideoURL;

Calculate file md5

import MediaCarrier, { Utils } from 'media-carrier';

const mc = new MediaCarrier();

const $input = document.querySelector('#input');
const file = $input.files[0];

const { md5 } = await mc.md5(file);

Run FFmpeg Commnands directly

import MediaCarrier, { Utils } from 'media-carrier';

const mc = new MediaCarrier();

const $input = document.querySelector('#input');
const file = $input.files[0];

const { blob, logs } = await mc.runCommands(file, {
  formatType: 'mp4',
  args: ["-i", "test.mp4", "-c:v", "libvpx", "-an", "out.mp4"],
});

Utils

Utils.arrayBuffer2Blob

Utils.arrayBuffer2File

Utils.blob2ArrayBuffer

Utils.blob2ObjectURL

Utils.blob2AudioEelemnt

Utils.blob2VideoElement

Utils.sec2Time

Utils.time2Sec

Utils.getVideoDuration

run demo

npm run compile:watch
npm run dev
npm link

Go to demo

npm link media-carrier
npm run start
1.2.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1-beta.2

4 years ago

0.0.1-beta.1

4 years ago