Автоматическое добавление подписей к видео в WordPress

Видео контент в WordPress давно перестал быть просто развлечением — это мощный инструмент для взаимодействия с аудиторией. Однако, чтобы сделать видео доступным для всех пользователей, включая людей с нарушениями слуха, а также для улучшения SEO, необходимы субтитры и подписи. В этой статье мы разберём, как автоматически добавлять подписи к видео в WordPress, используя плагины и собственные скрипты.

Почему важны субтитры и подписи к видео в WordPress

Субтитры и подписи делают видео более доступным и удобным для восприятия в разных условиях: например, когда пользователь не может включить звук, либо у него есть проблемы со слухом. Кроме того, поисковые системы лучше индексируют видео с текстовыми субтитрами, что положительно влияет на ранжирование сайта.

Ручное создание субтитров — процесс трудоёмкий и дорогой. Поэтому автоматизация добавления подписей — важная задача для владельцев видеоконтента на WordPress.

Плагины для автоматического добавления субтитров и подписей

1. Использование плагина Video Subtitle

Плагин Video Subtitle позволяет загружать файлы субтитров (форматы .vtt, .srt) и автоматически добавлять их к видео, встроенным в WordPress через теги video или плееры.

Преимущества:

  • Поддержка популярных форматов субтитров.
  • Автоматическое связывание субтитров с видео на странице.
  • Простая интеграция с Gutenberg и классическим редактором.

Недостаток — субтитры нужно создавать или получать отдельно. Для автоматизации можно использовать сервисы распознавания речи.

2. Плагин OmniVideo с поддержкой субтитров

OmniVideo — профессиональный плагин от WPSHOP, который позволяет интегрировать видео с YouTube, Vimeo и локальные файлы, а также добавлять субтитры. Он поддерживает загрузку файлов субтитров и автоматическое переключение между ними.

Плюс плагина — удобный интерфейс и совместимость с большинством популярных тем и билдерами страниц.

Автоматизация создания субтитров с помощью сервисов распознавания речи

Чтобы не создавать субтитры вручную, можно использовать сервисы автоматического распознавания речи, например, Google Speech-to-Text, IBM Watson или Яндекс.Речи.

Ниже пример, как интегрировать Google Speech-to-Text API для создания субтитров:

function wpvideo_google_speech_to_subtitles($audioFilePath) {
    $apiKey = 'ВАШ_API_КЛЮЧ';
    $url = 'https://speech.googleapis.com/v1/speech:recognize?key=' . $apiKey;
    
    $audioData = base64_encode(file_get_contents($audioFilePath));
    
    $postData = json_encode([
        'config' => [
            'encoding' => 'LINEAR16',
            'languageCode' => 'ru-RU',
            'enableWordTimeOffsets' => true
        ],
        'audio' => [
            'content' => $audioData
        ]
    ]);
    
    $response = wp_remote_post($url, [
        'headers' => ['Content-Type' => 'application/json'],
        'body' => $postData
    ]);
    
    if (is_wp_error($response)) {
        return false;
    }
    
    $body = json_decode(wp_remote_retrieve_body($response), true);
    // Обработка результата и генерация субтитров
    return $body;
}

Этот код отправляет аудиофайл на сервис Google и получает транскрибированный текст с временными метками. Его можно обработать для генерации файла .vtt с субтитрами.

Генерация файла .vtt с субтитрами из API

На основе данных распознавания речи можно создавать файл .vtt:

function wpvideo_generate_vtt($transcripts) {
    $vtt = "WEBVTT\n\n";
    $counter = 0;
    foreach ($transcripts['results'] as $result) {
        foreach ($result['alternatives'][0]['words'] as $word) {
            // Для простоты пример с отдельными словами
            $start = gmdate("H:i:s", floor($word['startTime']['seconds'])) . sprintf(".%03d", $word['startTime']['nanos']/1000000);
            $end = gmdate("H:i:s", floor($word['endTime']['seconds'])) . sprintf(".%03d", $word['endTime']['nanos']/1000000);
            $counter++;
            $vtt .= "$counter\n$start --> $end\n" . $word['word'] . "\n\n";
        }
    }
    return $vtt;
}

Его можно сохранить и подключить к видео в WordPress через плагин или вручную.

Реализация автоматического подключения субтитров в видео WordPress

Чтобы автоматически подключать сгенерированные субтитры к видео, можно использовать фильтр вывода видео в WordPress. Например:

function wpvideo_add_subtitles_to_video($html, $post_id) {
    $video_url = get_post_meta($post_id, 'wpvideo_video_url', true);
    $subtitle_url = get_post_meta($post_id, 'wpvideo_subtitle_url', true);
    if (!$subtitle_url) {
        return $html;
    }
    
    // Вставляем тег track с субтитрами
    $track_tag = '<track kind="subtitles" src="' . esc_url($subtitle_url) . '" srclang="ru" label="Русский" default>';
    
    // Пример для видео HTML5
    $html = preg_replace('/(<video[^>]*>)/', '$1' . $track_tag, $html);
    
    return $html;
}
add_filter('the_content', 'wpvideo_add_subtitles_to_video', 20);

Этот код автоматически вставляет тег субтитров в каждый видео-блок на странице.

Рекомендации по оптимизации и тестированию субтитров

После автоматического создания и подключения субтитров обязательно:

  • Проверьте синхронизацию текста и видео — небольшой сдвиг заметен и раздражает пользователя.
  • Используйте корректные кодировки и форматы файлов (.vtt предпочтительнее .srt для современных браузеров).
  • Тестируйте разные устройства и браузеры — поведение плееров может отличаться.

Для расширенного управления субтитрами рекомендую обратить внимание на плагин OmniVideo, который поддерживает различные форматы и автоматическую смену языков.

Как добавить видео отзывы в WordPress с помощью плагинов и кода
13.03.2026
Как исправить ошибку «Не загружается видео» в WordPress при использовании WooCommerce
20.04.2026
Как добавить адаптивный видео плеер в WordPress с поддержкой мобильных устройств
20.03.2026
Как использовать хук для управления скоростью воспроизведения видео в WordPress
16.05.2026
Как исправить ошибку «Не загружается видео» в WooCommerce на WordPress
23.04.2026