Генерация миниатюр видеороликов с помощью API ApyHub
Миниатюры видео имеют множество преимуществ и возможностей использования, в том числе: улучшенную визуальную привлекательность, улучшенный пользовательский опыт и, конечно, повышение узнаваемости бренда. В этом учебном пособии мы рассмотрим API генератора миниатюр видеороликов ApyHub.
Не волнуйтесь, все будет предельно просто и подробно. Мы будем двигаться медленно и шаг за шагом, сопровождая вас каждой мелочью. Мы рассмотрим основные функциональные возможности API, включая запрос миниатюр из видео с помощью простых HTTP-запросов.
Более того, мы покажем кое-что интересное: Как настраивать размеры миниатюр и извлекать миниатюры из различных временных точек видео. Наконец, мы покажем, как можно легко внедрить созданные миниатюры в ваши приложения или веб-сайты.
Прежде всего, мы начнем с импорта пакетов и проведем вас через процесс выполнения файла с помощью команды Node.js.
Шаг 1: Создание проекта
Создайте новый каталог для проекта и перейдите в него с помощью терминала:
mkdir video-thumbnail-api-nodejs
cd video-thumbnail-api-nodejs
Шаг 2: Инициализация проекта Node.js
Инициализируйте проект Node.js, выполнив следующую команду. В результате будет создан файл package.json.
npm init -y
Шаг 3: Установка необходимых пакетов
Установите необходимые пакеты: Axios
для выполнения HTTP-запросов и form-data
для работы с multipart/form-data
:
npm install axios form-data fs
После запуска npm install
в терминале команда запускает установку указанных зависимостей, перечисленных в файле package.json
проекта. Обычно устанавливаются следующие зависимости:
axios: Популярная клиентская библиотека для выполнения HTTP-запросов в Node.js. Она упрощает процесс отправки HTTP-запросов и обработки ответов. В данном случае axios используется для выполнения POST-запроса к Video Watermarking API с отправкой URL видео и URL изображения водяного знака.
form-data: Библиотека JavaScript, обеспечивающая создание и обработку запросов типа multipart/form-data
. Она позволяет легко создавать и отправлять HTTP-запросы, содержащие файлы или другие двоичные данные. Эта библиотека часто используется совместно с axios или другими клиентскими библиотеками HTTP для отправки запросов на основе форм с прикрепленными файлами.
fs (File System): Встроенный модуль в Node.js, предоставляющий функциональные возможности для работы с файловой системой. В данном контексте fs используется для создания потока записи и сохранения видеофайла с водяными знаками. Функция createWriteStream
позволяет записывать данные ответа на API-запрос непосредственно в файл на локальной файловой системе.
Шаг 4: Создание сценария интеграции
Создайте в каталоге проекта файл с именем generateThumbnail.js
:
// Import required packages
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
// API endpoint URL
const apiUrl = 'https://api.apyhub.com/generate/video-thumbnail/file';
// Replace 'YOUR_APY_TOKEN' with your actual API token
const apyToken = 'YOUR_APY_TOKEN';
// Define the file path and details
const videoFilePath = '/path_to_file';
const outputFileName = 'PROVIDE_THE_OUTPUT_FILE_NAME';
const startTime = '0';
const duration = '2';
const size = '400x300';
async function generateThumbnail() {
try {
// Create form data
const form = new FormData();
form.append('video', fs.createReadStream(videoFilePath));
form.append('start_time', startTime);
form.append('duration', duration);
form.append('size', size);
// Set headers
form.append('apy-token', apiToken);
// Make POST request
const response = await axios.post(apiUrl, form, {
headers: {
form.getHeaders(),
},
params: {
output: outputFileName,
},
});
console.log('Thumbnail generation response:', response.data);
} catch (error) {
console.error('Error generating thumbnail:', error.message);
}
}
// Call the function to generate the thumbnail
generateThumbnail();
Шаг 5: Выполнение сценария
Выполните сценарий с помощью команды Node.js:
node generateThumbnail.js
Вот и все! Это было не так уж и сложно, верно? Теперь мы успешно интегрировали API Video Thumbnail с помощью Node.js!
С помощью этого сервиса мы можем генерировать миниатюры видео буквально из любой части видеофайла или URL-адреса (например, youtube). Таким образом, мы автоматизируем процесс извлечения эскизов из видео, обеспечивая эффективное и последовательное извлечение эскизов без необходимости ручной работы. Это позволяет экономить время и ресурсы для всех компаний и создателей контента.
ApyHub Video Thumbnail API также может быть интегрирован в существующие рабочие процессы и платформы, что позволяет легко включить извлечение миниатюр в существующие процессы.