Материал из CB Wiki
Перейти к: навигация, поиск
Нет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 8: Строка 8:
filename.srt формируется из cb_video.file_name и cb_video_subtitle.number. Как выглядит содержимое cb_video_subtitle.number пока непонятно - таблица пуста.
filename.srt формируется из cb_video.file_name и cb_video_subtitle.number. Как выглядит содержимое cb_video_subtitle.number пока непонятно - таблица пуста.


=== Проба с самодельным видео с субтитрами ===
Написан скрипт (~/whisper/gen_subtitles.py) генерации субтитлов с применением [https://github.com/openai/whisper ai-whisper]. Через него сгенерены субтитлы для тестового файла. Затем они заэмбедены в файл:
Написан скрипт (~/whisper/gen_subtitles.py) генерации субтитлов с применением [https://github.com/openai/whisper ai-whisper]. Через него сгенерены субтитлы для тестового файла. Затем они заэмбедены в файл:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 19: Строка 20:


В логах обработки указано что субтитлы не обнаружены.
В логах обработки указано что субтитлы не обнаружены.
=== Проба с matroska-видео с субтитрами ===
Использован тестовый видеофайл [https://github.com/ietf-wg-cellar/matroska-test-files/blob/master/test_files/test5.mkv test5.mkv] в котором содержатся 8 языковых субтитров. Вендовый плеер правильно все отображает. 1 из языков (und) непонятно какой, отбражался кракозябрами (возм.иероглифы). В клипбукете зааплоадился и пошел в обработку. Логи показали что найдены и экстрагируются субтитлы - 7 шт. за исключением непонятного und. При проигрывании в плеере появилась опция субтитлов с выбором 7 яз. Но субтитры не отображаются. В '''files/subtitles/2024/03/17/''' пусто. В таблице cb_video_subtitle появились записи:
<syntaxhighlight lang="sql">
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  |
+---------+--------+-------+
</syntaxhighlight>
Предположительно, функция в классе Mpeg ('''includes/classes/conversion/ffmpeg.class.php''':306  public function extract_subtitles() ) не смогла записать файлы, но и не выдала ошибок. Каталог на тот момент был уже создан.
Во 2й попытке при включенном дев-режиме сгенерились субтитры (внутри - формат WEBVTT):
:17106855557fdc5-01.srt  17106855557fdc5-02.srt  17106855557fdc5-03.srt  17106855557fdc5-04.srt  17106855557fdc5-05.srt  17106855557fdc5-06.srt  17106855557fdc5-07.srt
Также получились более подробные логи, в которых видно что все прошло хорошо.. В коде фции extract_subtitles() есть условие '''if (in_dev())''' но оно только подключает подробное логирование.
Повторная попытка конвертации в обычном режиме привела к генерации субтитров - видимо в 1й раз случился какой-то сбой.

Текущая версия от 17:04, 17 марта 2024

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 (includes/classes/conversion/ffmpeg.class.php:306 public function extract_subtitles() ) не смогла записать файлы, но и не выдала ошибок. Каталог на тот момент был уже создан.

Во 2й попытке при включенном дев-режиме сгенерились субтитры (внутри - формат WEBVTT):

17106855557fdc5-01.srt 17106855557fdc5-02.srt 17106855557fdc5-03.srt 17106855557fdc5-04.srt 17106855557fdc5-05.srt 17106855557fdc5-06.srt 17106855557fdc5-07.srt

Также получились более подробные логи, в которых видно что все прошло хорошо.. В коде фции extract_subtitles() есть условие if (in_dev()) но оно только подключает подробное логирование.

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