aframe-camera-recorder-component
A component to smoothly film and record A-Frame scenes to GIF with a controlled camera using ccapture.js.
API
Property | Description | Default Value |
---|---|---|
dur | Length of video. | 3000 |
enabled | Whether to listen to play events. | true |
framerate | Framerate of capture. More takes longer to process. | 60 |
lookAt | Point (vec3) for camera to focus on (optional). | null |
holdTimeAfter | Duration to keep recording after camera animation finishes. | 250 |
motionBlurEnabled | Not sure if this does anything, parameter passed to CCapture.js. | true |
name | Download file name. | '' |
quality | Quality...I think this goes from 0 to 10? | 10 |
positionFrom | Camera starting position to animate from. | 0 0 0 |
positionTo | Camera starting position to animate to . | 0 0 0 |
rotationFrom | Camera starting rotation. | 0 0 0 |
rotationTo | Camera end rotation. | 0 0 0 |
showControls | Whether to inject buttons to control the recording (e.g., preview, record). | true |
workers | Number of workers used to process the GIF. Best to use the same amount of cores as the CPU. | 8 |
workerPath | Path to the required worker JS file to process the GIF. | https://rawgit.com/ngokevin/kframe/master/components/camera-recorder/ |
Converting to Video
The GIF will be large file size that can be reduced to like 70x smaller file size to mp4. Here is an ffmpeg command:
ffmpeg -i mygif.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" myvideo.mp4
Installation
Browser
Include the worker file on a path that can be referenced. Defaults to hosted version
at https://rawgit.com/ngokevin/kframe/master/components/camera-recorder/gif.worker.js
.
Install and use by directly including the browser files:
My A-Frame Scene
npm
Install via npm:
npm install aframe-camera-recorder-component
Then require and use.
;;