UNPKG

@e10in/videojs-record

Version:

A video.js plugin for recording audio/video/image files.

141 lines (138 loc) 6.62 kB
/** * @file defaults.js * @since 2.0.0 */ // plugin defaults const pluginDefaultOptions = { // Single snapshot image. image: false, // Include audio in the recorded clip. audio: false, // Include video in the recorded clip. video: false, // Animated GIF. animation: false, // Screen capture. screen: false, // Maximum length of the recorded clip. maxLength: 10, // Maximum file size of the recorded clip. Works only when the timeSlice // option is also enabled. maxFileSize: 0, // Boolean indicating if milliseconds should be included, // e.g. "00:00:000" vs "00:00". displayMilliseconds: false, // Use a custom time format function, for example: (seconds, guide) => `test:${seconds}:${guide}` formatTime: undefined, // Width of the recorded video frames. frameWidth: 320, // Height of the recorded video frames. frameHeight: 240, // Enables console logging for debugging purposes. debug: false, // Enable Picture-in-Picture support. pip: false, // Turn off the camera/mic (and light) when audio and/or video recording // stops, and turns them on again when you resume recording. autoMuteDevice: false, // The video bitrate in kbps (only used in webm-wasm plugin). videoBitRate: 1200, // Video recording library to use. Legal values are 'recordrtc' (default) // and 'webm-wasm'. videoEngine: 'recordrtc', // The video frame rate in frames per second (only used in webm-wasm plugin). videoFrameRate: 30, // The mime type for the video recorder. // Use 'video/mp4' (Firefox) or 'video/webm;codecs=H264' (Chrome 52 and // newer) for MP4. videoMimeType: 'video/webm', // Video recorder type to use. This allows you to specify an alternative // recorder class, e.g. WhammyRecorder from recordrtc. Defaults to 'auto' // which let's recordrtc specify the best available recorder type. videoRecorderType: 'auto', // URL for the video worker. Use an empty string '' to disable (default). videoWorkerURL: '', // URL for the video worker WebAssembly file. Use an empty string '' to // disable (default). videoWebAssemblyURL: '', // Audio recording library to use. Legal values are 'recordrtc' (default), // 'libvorbis.js', 'opus-recorder', 'opus-media-recorder', 'lamejs', 'vmsg' // and 'recorder.js'. audioEngine: 'recordrtc', // Audio recorder type to use. This allows you to specify an alternative // recorder class, e.g. StereoAudioRecorder. Defaults to 'auto' which let's // recordrtc specify the best available recorder type. Currently this // setting is only used with the 'recordrtc' audioEngine. audioRecorderType: 'auto', // The mime type for the audio recorder. Defaults to 'auto' which will pick // the best option available in the browser (e.g. either 'audio/wav', // 'audio/ogg' or 'audio/webm'). audioMimeType: 'auto', // The size of the audio buffer (in sample-frames) which needs to // be processed each time onprocessaudio is called. // From the spec: This value controls how frequently the audioprocess event is // dispatched and how many sample-frames need to be processed each call. // Lower values for buffer size will result in a lower (better) latency. // Higher values will be necessary to avoid audio breakup and glitches. // Legal values are 256, 512, 1024, 2048, 4096, 8192 or 16384. audioBufferSize: 4096, // The audio sample rate (in sample-frames per second) at which the // AudioContext handles audio. It is assumed that all AudioNodes // in the context run at this rate. In making this assumption, // sample-rate converters or "varispeed" processors are not supported // in real-time processing. // The sampleRate parameter describes the sample-rate of the // linear PCM audio data in the buffer in sample-frames per second. // An implementation must support sample-rates in at least // the range 22050 to 96000. audioSampleRate: 44100, // The audio bitrate in kbps (only used in lamejs plugin). audioBitRate: 128, // Allows you to record single-channel audio, which can reduce the // file size. audioChannels: 2, // URL for the audio worker. Use an empty string '' to disable (default). audioWorkerURL: '', // URL for the audio worker WebAssembly file. Use an empty string '' to // disable (default). audioWebAssemblyURL: '', // Enables the audioBufferUpdate event that provides realtime AudioBuffer // instances from the input audio device. audioBufferUpdate: false, // Frame rate in frames per second. animationFrameRate: 200, // Sets quality of color quantization (conversion of images to the // maximum 256 colors allowed by the GIF specification). // Lower values (minimum = 1) produce better colors, // but slow processing significantly. 10 is the default, // and produces good color mapping at reasonable speeds. // Values greater than 20 do not yield significant improvements // in speed. animationQuality: 10, // A string indicating the output type: dataURL (base64 string) or blob. // The default output is dataURL. imageOutputType: 'dataURL', // A string indicating the image format used in image-only mode. The default // format type is image/png. imageOutputFormat: 'image/png', // A number between 0 and 1 indicating the image quality to use for image // formats that use lossy compression such as image/jpeg and image/webp. // If this argument is anything else, the default value for image quality // is used. The default value is 0.92. imageOutputQuality: 0.92, // Accepts numbers in milliseconds; use this to force intervals-based blobs. timeSlice: 0, // Media converter library to use. Legal values are 'ts-ebml', 'ffmpeg.wasm' // and 'ffmpeg.js'. Use an empty string '' to disable (default). convertEngine: '', // URL for the converter worker. convertWorkerURL: '', // List of string options to pass to the convert engine. convertOptions: [], // Enable keyboard hotkeys. hotKeys: false, // Use this object to specify additional settings for the library used by the // plugin (only used in opus-recorder, ffmpeg.js, ffmpeg.wasm and vmsg plugins). pluginLibraryOptions: {} }; export default pluginDefaultOptions;