Skip to content

Commit

Permalink
merge forward
Browse files Browse the repository at this point in the history
  • Loading branch information
thijstriemstra committed Jan 30, 2021
2 parents e58159e + b2a8b35 commit bc209a4
Show file tree
Hide file tree
Showing 31 changed files with 1,659 additions and 39 deletions.
8 changes: 7 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# videojs-record changelog

## 4.2.0 - unreleased

- New opus-media-recorder plugin: provides cross-browser Opus codec support with
various audio formats such as Ogg and WebM (#355)


## 4.1.1 - 2020/11/01

- Fix issue with opus-recorder plugin (#519)
Expand Down Expand Up @@ -44,7 +50,7 @@

## 3.11.0 - 2020/03/02

- Fix autostop error when max file size was reached (#448 by @Eduardo-Lpz)
- Fix autostop error when max file size was reached (#448 by @Eduardo-Lpz)
- Bump required version for recordrtc to 5.5.9


Expand Down
1 change: 1 addition & 0 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
- [webm-wasm](plugins/webm-wasm.md)
- [vmsg](plugins/vmsg.md)
- [opus-recorder](plugins/opus-recorder.md)
- [opus-media-recorder](plugins/opus-media-recorder.md)
- [libvorbis.js](plugins/libvorbis.js.md)
- [lamejs](plugins/lamejs.md)
- [recorder.js](plugins/recorder.js.md)
110 changes: 110 additions & 0 deletions docs/demo/audio-only-opus-media-recorder.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>opus-media-recorder Audio-only Example - Record Plugin for Video.js</title>

<link href="//vjs.zencdn.net/7.10.2/video-js.min.css" rel="stylesheet">
<link href="//unpkg.com/videojs-wavesurfer/dist/css/videojs.wavesurfer.min.css" rel="stylesheet">
<link href="//unpkg.com/videojs-record/dist/css/videojs.record.min.css" rel="stylesheet">
<link href="assets/examples.css" rel="stylesheet">

<script src="//vjs.zencdn.net/7.10.2/video.min.js"></script>
<script src="//unpkg.com/webrtc-adapter/out/adapter.js"></script>
<script src="lib/opus-media-recorder/OpusMediaRecorder.umd.js"></script>
<script src="//unpkg.com/wavesurfer.js/dist/wavesurfer.min.js"></script>
<script src="//unpkg.com/wavesurfer.js/dist/plugin/wavesurfer.microphone.min.js"></script>
<script src="//unpkg.com/videojs-wavesurfer/dist/videojs.wavesurfer.min.js"></script>

<script src="//unpkg.com/videojs-record/dist/videojs.record.min.js"></script>
<script src="//unpkg.com/videojs-record/dist/plugins/videojs.record.opus-media-recorder.min.js"></script>

<style>
/* change player background color */
#myAudio {
background-color: #96d6d6;
}
</style>
</head>
<body>

<audio id="myAudio" class="video-js vjs-default-skin"></audio>

<script>
// Polyfill MediaRecorder
window.MediaRecorder = OpusMediaRecorder;

var options = {
controls: true,
bigPlayButton: false,
width: 600,
height: 300,
fluid: false,
plugins: {
wavesurfer: {
backend: 'WebAudio',
waveColor: '#4c4a56',
progressColor: 'black',
debug: true,
cursorWidth: 1,
hideScrollbar: true,
plugins: [
// enable microphone plugin
WaveSurfer.microphone.create({
bufferSize: 4096,
numberOfInputChannels: 1,
numberOfOutputChannels: 1,
constraints: {
video: false,
audio: true
}
})
]
},
record: {
audio: true,
video: false,
maxLength: 20,
debug: true,
displayMilliseconds: true,
audioEngine: 'opus-media-recorder',
audioWorkerURL: 'lib/opus-media-recorder/encoderWorker.umd.js',
audioWebAssemblyURL: {
OggOpusEncoderWasmPath: 'lib/opus-media-recorder/OggOpusEncoder.wasm',
WebMOpusEncoderWasmPath: 'lib/opus-media-recorder/WebMOpusEncoder.wasm'
}
}
}
};
var player = videojs('myAudio', options, function() {
// print version information at startup
var msg = 'Using video.js ' + videojs.VERSION +
' with videojs-record ' + videojs.getPluginVersion('record') +
', videojs-wavesurfer ' + videojs.getPluginVersion('wavesurfer') +
' and wavesurfer.js ' + WaveSurfer.VERSION;
videojs.log(msg);
});

// error handling
player.on('deviceError', function() {
console.log('device error:', player.deviceErrorCode);
});

player.on('error', function(element, error) {
console.error(error);
});

// user clicked the record button and started recording
player.on('startRecord', function() {
console.log('started recording!');
});

// user completed recording and stream is available
player.on('finishRecord', function() {
// the blob object contains the recorded data that
// can be downloaded by the user, stored on server etc.
console.log('finished recording: ', player.recordedData);
});
</script>
</body>
</html>
22 changes: 22 additions & 0 deletions docs/demo/lib/opus-media-recorder/OggOpusEncoder.js

Large diffs are not rendered by default.

Binary file not shown.

0 comments on commit bc209a4

Please sign in to comment.