@omnimedia/omnitool
Version:
open source video processing tools
20 lines • 947 B
JavaScript
import { VideoSink } from "./parts/video-sink.js";
import { ImageSink } from "./parts/image-sink.js";
import { sampleVisual } from "./parts/sample.js";
import { createDefaultImageSampler, createDefaultVideoSampler } from "./parts/defaults.js";
export function createVisualSampler(resolveMedia, sampleVideo) {
const imageSink = new ImageSink(resolveMedia);
const videoSink = new VideoSink(resolveMedia);
const imageSampler = createDefaultImageSampler(imageSink);
const videoSampler = sampleVideo ?? createDefaultVideoSampler(videoSink);
return {
async sample(timeline, timecode) {
const items = new Map(timeline.items.map(item => [item.id, item]));
const root = items.get(timeline.rootId);
if (!root)
return [];
return sampleVisual({ imageSampler, videoSampler, timeline, items }, root, timecode, []);
}
};
}
//# sourceMappingURL=sampler.js.map