Зачем нужно автоматическое транскрибирование видео в WordPress
Видео контент становится всё популярнее, однако для улучшения доступа, SEO и восприятия информации полезно иметь текстовую расшифровку видео — транскрипт. Ручное создание транскриптов занимает много времени и сил, поэтому автоматизация этого процесса — ключ к эффективности.
Автоматическое транскрибирование позволяет преобразовать речь из видео в текст без участия человека, что облегчает добавление субтитров, улучшает индексирование в поисковых системах и делает сайт более доступным для людей с нарушениями слуха.
В этой статье мы подробно разберём, как реализовать автоматическое транскрибирование видео на WordPress, рассмотрим примеры плагинов и подключение сторонних сервисов через API, а также приведём примеры кода для интеграции.
Обзор популярных плагинов для транскрибирования видео в WordPress
1. Plugin Video Transcriber
Этот плагин интегрируется с популярными сервисами распознавания речи, например, Google Cloud Speech-to-Text. Он автоматически отправляет аудиодорожку видео на сервис, получает текст и сохраняет его в виде субтитров или отдельного поста с транскриптом.
Преимущества:
- Простая настройка через API ключ
- Поддержка нескольких языков
- Возможность редактирования транскрипта после генерации
Недостатки:
- Требуется оплата стороннего сервиса при большом объёме
- Зависимость от качества аудио
2. Transcribe Video Plugin
Этот плагин работает с сервисом IBM Watson Speech to Text. Он позволяет транскрибировать видео в автоматическом режиме и вставлять текст в пост или в отдельный блок рядом с видео.
Особенности:
- Поддержка нескольких форматов видео
- Встроенный редактор транскриптов
- Автоматическая синхронизация субтитров
Как интегрировать автоматическое транскрибирование видео с помощью Google Cloud Speech-to-Text API
Если вы хотите реализовать решение самостоятельно, без готовых плагинов, можно использовать API Google Cloud Speech-to-Text. Ниже пример, как можно это сделать на PHP в WordPress.
Шаг 1: Получите API ключ в Google Cloud Console и включите Speech-to-Text API.
Шаг 2: Извлеките аудио из видео (например, с помощью ffmpeg) и отправьте его на распознавание.
Шаг 3: Получите транскрипт и выведите его под видео в посте.
Пример функции для транскрибирования аудио:
function wpvideo_transcribe_audio($audioFilePath) {
$apiKey = 'ВАШ_API_КЛЮЧ';
$audioContent = base64_encode(file_get_contents($audioFilePath));
$postData = json_encode([
'config' => [
'encoding' => 'LINEAR16',
'languageCode' => 'ru-RU'
],
'audio' => [
'content' => $audioContent
]
]);
$ch = curl_init('https://speech.googleapis.com/v1/speech:recognize?key=' . $apiKey);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if (isset($result['results'][0]['alternatives'][0]['transcript'])) {
return $result['results'][0]['alternatives'][0]['transcript'];
}
return false;
}Эта функция принимает путь к аудиофайлу, отправляет запрос к Google API и возвращает распознанный текст.
Как извлечь аудио из видео с помощью ffmpeg в PHP
function wpvideo_extract_audio($videoFilePath, $outputAudioPath) {
$command = 'ffmpeg -i ' . escapeshellarg($videoFilePath) . ' -vn -acodec pcm_s16le -ar 16000 -ac 1 ' . escapeshellarg($outputAudioPath);
exec($command, $output, $return_var);
return $return_var === 0;
}Данная функция вызывает команду ffmpeg для конвертации видео в аудиоформат, подходящий для распознавания речи.
Как автоматически вставить транскрипт в запись WordPress
После получения текста транскрипта можно автоматически добавить его в содержимое поста или создать отдельное метаполе. Пример добавления текста в содержимое:
function wpvideo_append_transcript_to_content($content) {
if (is_singular('post')) {
$transcript = get_post_meta(get_the_ID(), '_wpvideo_transcript', true);
if ($transcript) {
$content .= '<h3>Транскрипт видео</h3><div class="wpvideo-transcript">' . esc_html($transcript) . '</div>';
}
}
return $content;
}
add_filter('the_content', 'wpvideo_append_transcript_to_content');При сохранении транскрипта в метаполе '_wpvideo_transcript' этот фильтр автоматически добавит его в вывод поста.
Советы по улучшению качества транскрипции и производительности
Качество распознавания речи зависит от нескольких факторов:
- Чистота и качество аудиодорожки — шумы и помехи ухудшают результат.
- Правильный язык распознавания — указывайте точный язык и диалект.
- Оптимальная длительность аудиофайла — большие файлы разбивайте на части.
Для снижения нагрузки на сервер рекомендуем запускать транскрибирование через cron задачи или внешние сервисы, чтобы не блокировать работу сайта.
Также можно использовать готовые решения, например, плагин OmniVideo из WPShop, который поддерживает интеграцию с API для транскрибирования и удобное управление субтитрами.
Заключение
Автоматическое транскрибирование видео в WordPress — мощный инструмент для улучшения SEO, доступности и UX вашего сайта. Использование готовых плагинов или самостоятельная интеграция с API позволит быстро получать текстовую расшифровку видео и улучшать взаимодействие пользователей с контентом. Приведённые примеры кода помогут вам начать реализацию уже сегодня.