[DeepLearning.AI] Перевод не работает: helper формирует недоступный MP4 URL из адреса HLS

Author: ArtiikSKCreated Sep 5, 2026Updated Sep 5, 2026
Labelsbug

Есть ли issue, связанная с этой проблемой?

  • Я изучил существующие issues.

Какая версия voice-over-translation используется?

1.11.10

Выберите менеджер пользовательских скриптов, который вы используете

Tampermonkey

Выберите ваш браузер

Chrome

Введите вашу Операционную систему

Microsoft Windows NT 10.0.26200.0 x64

Какие шаги могут воспроизвести ошибку?

  1. Открыть любой урок с видео на learn.deeplearning.ai.
  2. Нажать в VOT «Перевести видео».
  3. Получить «Возникла ошибка при переводе, попробуйте позже».
  4. Посмотреть Console с включённым debug VOT.

Пример страницы:

https://learn.deeplearning.ai/courses/evaluating-ai-agents/lesson/gz8ys/evaluation-in-the-time-of-llms

Каково ожидаемое поведение?

DeepLearning.AI всё ещё присутствует в списке поддерживаемых сайтов, поэтому ожидаю успешный запрос/получение закадрового перевода либо явное удаление сайта из supported list, если текущий Yandex provider больше принципиально не может обрабатывать этот источник.

Что вы видите вместо этого?

На штатном helper запрос заканчивается:

[VOT DEBUG] [GM_fetch] ... status: 200
[VOT DEBUG] [Translation] translation failed
VOTJSError: Yandex couldn't translate video

Дополнительная информация

Причина

DeeplearningAIHelper получает HLS-источник и преобразует его адрес через:

typescript
.replace(/\.m3u8/, "_360p.mp4")

Результат проверки:

Исходный HLS — HTTP 200:
https://video.deeplearning.ai/upv2/evaluating-ai-agents/sc-Arize-C1-L1/1784084070-27703bb83eed-master.m3u8

Сформированный MP4 — HTTP 403, AccessDenied:
https://video.deeplearning.ai/upv2/evaluating-ai-agents/sc-Arize-C1-L1/1784084070-27703bb83eed-master_360p.mp4

Таким образом, helper передаёт недоступный адрес, построенный заменой расширения.

Контрольная проверка

Реальный HLS remux’нут в MP4 без перекодирования. Файл опубликован по HTTPS с поддержкой GET/HEAD/Range и передан через:

javascript
translationHelp: [
  { target: "video_file_url", targetUrl: publicMp4Url }
]

После этого перевод успешно создаётся и воспроизводится. Исходное видео продолжает воспроизводиться в плеере сайта.

Ожидаемое исправление

Получать действительный источник видео из актуальных данных DeepLearning.AI и использовать поддерживаемый способ его передачи провайдеру перевода. Не предполагать наличие соседнего MP4 только на основании адреса .m3u8.

Source: ilyhalight/voice-over-translation