Материал из CB Wiki
Перейти к: навигация, поиск

includes/classes/conversion/ffmpeg.class.php:306

public function extract_subtitles()

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

includes/functions_video.php:

get_video_subtitles($vdetails)

считывает субтитлы из пути files/subtitles/YYYY/MM/DD/filename.srt filename.srt формируется из cb_video.file_name и cb_video_subtitle.number. Как выглядит содержимое cb_video_subtitle.number пока непонятно - таблица пуста.

Проба с самодельным видео с субтитрами

Написан скрипт (~/whisper/gen_subtitles.py) генерации субтитлов с применением ai-whisper. Через него сгенерены субтитлы для тестового файла. Затем они заэмбедены в файл:

ffmpeg -i "как вы относитесь к американцам.mp4" -vf subtitles="как вы относитесь к американцам.srt" 'kak_with subtitles.mp4'

Файл проверен (вернул 1 в случае наличия):

ffmpeg -i 'kak_with subtitles.mp4' -c copy -map 0:s:0 -frames:s 1 -f null - -v 0 -hide_banner; echo $?

Вендовый плеер показывает субтитлы, уже врисованные в картинку кадров. Клипбукет после загрузки этого видео не выдал признаков работы с субтитлами. Таблица cb_video_subtitle пуста. Попытка подкинуть files/subtitles/2024/03/17/1710674378a7c19.srt (как бы в соответствии с залитым видео) не дало эффекта.

В логах обработки указано что субтитлы не обнаружены.

Проба с matroska-видео с субтитрами

Использован тестовый видеофайл test5.mkv в котором содержатся 8 языковых субтитров. Вендовый плеер правильно все отображает. 1 из языков (und) непонятно какой, отбражался кракозябрами (возм.иероглифы). В клипбукете зааплоадился и пошел в обработку. Логи показали что найдены и экстрагируются субтитлы - 7 шт. за исключением непонятного und. При проигрывании в плеере появилась опция субтитлов с выбором 7 яз. Но субтитры не отображаются. В files/subtitles/2024/03/17/ пусто. В таблице cb_video_subtitle появились записи:

SELECT * FROM cb_video_subtitle;
+---------+--------+-------+
| videoid | number | title |
+---------+--------+-------+
|      11 | 01     | eng   |
|      11 | 02     | hun   |
|      11 | 03     | ger   |
|      11 | 04     | fre   |
|      11 | 05     | spa   |
|      11 | 06     | ita   |
|      11 | 07     | jpn   |
+---------+--------+-------+

Предположительно, функция в классе Mpeg не смогла записать файлы, но и не выдала ошибок. Каталог на тот момент был уже создан.