Clip Web videos.
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

37 řádky
889 B

  1. import { CreateYouTubeClipperParams, YouTubeVideoClipEventEmitter } from './video-types/youtube';
  2. import { VideoClipEventEmitter } from './common';
  3. export enum VideoType {
  4. YOUTUBE = 'youtube',
  5. }
  6. export interface CreateVideoClipperParams extends CreateYouTubeClipperParams {
  7. type: VideoType,
  8. }
  9. export const createVideoClipper = (params: CreateVideoClipperParams): VideoClipEventEmitter => {
  10. const {
  11. type: videoType,
  12. url,
  13. start,
  14. end,
  15. downloaderExecutablePath,
  16. } = params;
  17. switch (videoType as string) {
  18. case VideoType.YOUTUBE:
  19. return new YouTubeVideoClipEventEmitter({
  20. downloaderExecutablePath,
  21. url,
  22. start,
  23. end,
  24. });
  25. default:
  26. break;
  27. }
  28. throw new TypeError(`Invalid video type: "${videoType}". Valid values are: ${JSON.stringify(Object.values(VideoType))}`);
  29. };
  30. export { VideoClipEventEmitter };