Класс StorageVideoFile

Объектно ориентированное представление файла видео в хранилище.

Пример использования

import {StorageVideoFile} from '@app/storage'
import {jsx} from '@app/html-jsx'

app.html('/', () => {
  const hash = 'video_qO398YYhcO.d39.3840x2160.mp4'
  const file = new StorageVideoFile(hash)
  return <html><body>
    <p>Файл {file.hash}</p>
    <p>Тип: {file.type}</p>
    {file.durationMaybe && <p>
      Продолжительность: {
        Math.floor(file.duration / 60 / 60)
      }:{
        Math.floor((file.duration / 60) % 60).toString().padStart(2, '0')
      }:{
        (file.duration % 60).toString().padStart(2, '0')
      }
    </p>}
    <p>
      Параметры width и height заданы:
      <img src={file.getThumbnailUrl(100, 100)} />
    </p>
    <p>
      Параметр width задан, height опущен:
      <img src={file.getThumbnailUrl(100, undefined)} />
    </p>
    <p>
      Параметр height задан, width опущен:
      <img src={file.getThumbnailUrl(undefined, 100)} />
    </p>
    <p><a href={file.downloadUrl}>Скачать</a></p>
  </body></html>
})

Свойства:

  • hash - хэш файла.
  • type - тип файла. Может быть: file, image, video, audio
  • downloadUrl - URL для скачивания файла. Файл будет отдан с HTTP заголовком форсирующим скачивание файла, вместо открытия его в окне браузера. Нет необходимости открывать файл в новой вкладке.
  • getThumbnailUrl - URL файла изображения отмасштабированного до заданных параметров. Принимает параметры width и htight. Передать можно оба параметра, или один из. Если переданы оба параметра, на стороне сервера, изображение будет вписано в размер по принципу object-fit: contain. Если передан только один параметр, второй будет расчитан автоматически, с сохранением пропорций изображения. Параметры:
    • width - ширина изображения в пикселях
    • height - высота изображения в пикселях
  • getThumbnailSrc - используется для формирования параметра src блока <img> AppUi.
  • width - ширина исходного видео. Если не известна, выбросит исключение.
  • widthMaybe - ширина исходного видео. Если не известна, вернёт undefined.
  • height - высота исходного видео. Если не известна, выбросит исключение.
  • heightMaybe - высота исходного видео. Если не известна, вернёт undefined.
  • sizes - размер исходного видео { width: number, height: number }. Если не известен, выбросит исключение.
  • sizesMaybe - размер исходного видео { width: number, height: number }. Если не известна, вернёт undefined.
  • progress - прогресс обработки видео. Number в диапазоне от 0 до 100.
  • status - статус обработки видео. 'done' | 'processing' | 'error'.
  • duration - продолжительность видео файла в секундах. Если не известна, выбросит исключение.
  • durationMaybe - продолжительность видео файла в секундах. Если не известна, вернёт undefined.

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании