1.5.0 • Published 6 years ago

aframe-camera-recorder-component v1.5.0

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

aframe-camera-recorder-component

Version License

A component to smoothly film and record A-Frame scenes to GIF with a controlled camera using ccapture.js.

npm.io

Demo

API

PropertyDescriptionDefault Value
durLength of video.3000
enabledWhether to listen to play events.true
framerateFramerate of capture. More takes longer to process.60
lookAtPoint (vec3) for camera to focus on (optional).null
holdTimeAfterDuration to keep recording after camera animation finishes.250
motionBlurEnabledNot sure if this does anything, parameter passed to CCapture.js.true
nameDownload file name.''
qualityQuality...I think this goes from 0 to 10?10
positionFromCamera starting position to animate from.0 0 0
positionToCamera starting position to animate to .0 0 0
rotationFromCamera starting rotation.0 0 0
rotationToCamera end rotation.0 0 0
showControlsWhether to inject buttons to control the recording (e.g., preview, record).true
workersNumber of workers used to process the GIF. Best to use the same amount of cores as the CPU.8
workerPathPath 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:

<head>
  <title>My A-Frame Scene</title>
  <script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
  <script src="https://unpkg.com/aframe-camera-recorder-component@1.3.0/dist/aframe-camera-recorder-component.min.js"></script>
</head>

<body>
  <a-scene>
    <a-entity camera camera-recorder="positionTo: -1 1.6 -7; lookAt: -8 5 8" position="5 1.6 0"></a-entity>
  </a-scene>
</body>

npm

Install via npm:

npm install aframe-camera-recorder-component

Then require and use.

require('aframe');
require('aframe-camera-recorder-component');
1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago