Автоматическое добавление транскрипта к видео на сайте WordPress — важная задача для улучшения доступности контента, SEO и удобства пользователей. В этой статье мы подробно разберем, как реализовать эту функцию с помощью бесплатных и платных инструментов, а также покажем примеры кода для интеграции транскриптов в видео-посты.
Почему транскрипты важны для видео на WordPress
Транскрипт — это текстовая расшифровка аудио дорожки видео. Он помогает:
- Повысить SEO: поисковики индексируют текст, что улучшает видимость страницы.
- Сделать контент доступным для людей с нарушениями слуха.
- Обеспечить удобство просмотра в местах, где звук включить нельзя.
- Увеличить вовлеченность и время на странице.
Автоматизация процесса особенно полезна при большом количестве видео, когда ручная расшифровка слишком затратна.
Инструменты для автоматической транскрипции видео в WordPress
Существует несколько подходов и плагинов, позволяющих автоматически создавать транскрипты.
1. Плагины с поддержкой AI-транскрипции
WPGPT — плагин с интеграцией OpenAI, который можно настроить для распознавания аудио и создания транскриптов. Он позволяет автоматизировать процесс и вставлять текст прямо в посты или отдельные блоки.
Для подключения WPGPT к транскрипции видео понадобится написать кастомный обработчик, который извлечет аудио из видео и отправит на обработку. Это можно сделать через WP Cron или при загрузке видео.
2. Внешние сервисы транскрипции с API
Вы можете использовать сторонние сервисы, такие как Google Cloud Speech-to-Text, IBM Watson или Yandex SpeechKit, которые предоставляют API для автоматического распознавания речи. В WordPress это реализуется через собственные функции и хуки.
Пример кода для автоматической транскрипции видео с использованием Google Cloud Speech-to-Text
Ниже пример функции omni_video_transcribe_video, которая принимает URL видео, извлекает аудио, отправляет его в Google API и сохраняет транскрипт как мета-поле поста.
function omni_video_transcribe_video($post_id, $video_url) {
// Шаг 1: Извлечь аудио из видео (используем ffmpeg, должен быть установлен на сервере)
$audio_file = ABSPATH . 'wp-content/uploads/audio_' . $post_id . '.wav';
$cmd = "ffmpeg -i " . escapeshellarg($video_url) . " -vn -acodec pcm_s16le -ar 16000 -ac 1 " . escapeshellarg($audio_file);
exec($cmd);
// Шаг 2: Отправить аудио в Google Speech API
$api_key = 'ВАШ_GOOGLE_API_KEY';
$audio_data = base64_encode(file_get_contents($audio_file));
$request_body = json_encode([
'config' => [
'encoding' => 'LINEAR16',
'sampleRateHertz' => 16000,
'languageCode' => 'ru-RU'
],
'audio' => ['content' => $audio_data]
]);
$response = wp_remote_post("https://speech.googleapis.com/v1/speech:recognize?key=" . $api_key, [
'headers' => ['Content-Type' => 'application/json'],
'body' => $request_body
]);
if (is_wp_error($response)) {
return false;
}
$body = json_decode(wp_remote_retrieve_body($response), true);
if (isset($body['results'][0]['alternatives'][0]['transcript'])) {
$transcript = $body['results'][0]['alternatives'][0]['transcript'];
update_post_meta($post_id, '_omni_video_transcript', $transcript);
return $transcript;
}
return false;
}
Эта функция может быть вызвана после загрузки видео или по расписанию для всех видео в библиотеке.
Как вывести транскрипт на странице видео
Чтобы показать транскрипт под видео, добавьте в файл шаблона или шорткод следующий код:
function omni_video_display_transcript($post_id) {
$transcript = get_post_meta($post_id, '_omni_video_transcript', true);
if ($transcript) {
echo '<div class="omni-video-transcript"><h3>Транскрипт видео</h3><p>' . esc_html($transcript) . '</p></div>';
} else {
echo '<p>Транскрипт пока не доступен.</p>';
}
}
Этот код можно подключить в шаблоне single-video.php или в любом другом месте, где выводится видео.
Советы по улучшению качества транскрипции
Чтобы получить точный и полезный транскрипт, обратите внимание на следующие моменты:
- Используйте качественное аудио без шумов.
- Настройте правильный язык распознавания (в нашем примере ru-RU).
- Разделяйте длинные видео на части для обработки — так API будут возвращать более точный результат.
- Регулярно обновляйте API-ключи и проверяйте лимиты запросов.
Другие полезные плагины для работы с видео и транскриптами
Для комплексного управления видео на WordPress можно использовать следующие плагины из каталога WPSHOP:
- OmniVideo — продвинутый плеер с поддержкой субтитров и транскриптов.
- WPStories — для создания видеоисторий с текстовыми вставками.
- Expert Review — позволяет добавлять экспертные комментарии к видео с возможностью текстового контента.
Используя автоматическую транскрипцию вместе с этими инструментами, вы сможете значительно повысить качество и удобство вашего видео-контента на WordPress.