Как я могу отправить текст субтитров в Python с помощью Php Laravel?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Как я могу отправить текст субтитров в Python с помощью Php Laravel?

Сообщение Гость »


Я хотел бы отправить текст субтитров из контроллера php в программу Python, которая создает видео с субтитрами, используя библиотеку movipy. Мне удалось отправить текст субтитров, но субтитры появляются только в начале видео. И информация о времени и тексте не разделялась должным образом с помощью функции srt.parse. Мне удалось создать видео из файла SRT, но я хотел бы использовать текст вместо файла. Программа Python интерпретирует весь опубликованный текст как предложение, как показано ниже. Можете ли вы подсказать мне идею решения проблемы?

[Subtitle(content=u'', index=None, проприетарный='\\r\\n Как человек с опытом работы с искусственным интеллектом, \\r\\n\\r\\n 00:00 :01,879 --> 00:00:04,277 \\r\\n Думаю, вы сможете нам объяснить', end=datetime.timedelta(0, 1, 879000), start=datetime.timedelta(0, 0, 319000 ))] Мой php-контроллер приведен ниже.

хранилище общедоступных функций() { $str = 00:00:06,916 знаете, вся эта шумиха вокруг генеративного ИИ, да? ТЕКСТ; $py_output = exec('python C:\\xampp\\htdocs\\xampp...\\main.py ' . json_encode($str) . ''); var_dump($py_output); вернуть представление('videotest.store'); } Мой файл main.py ниже
импортировать систему из Moviepy.editor импортировать VideoFileClip, TextClip, CompositeVideoClip textList = sys.argv[1] subtitle_generator = srt.parse(textList) субтитры = список (subtitle_generator) mp4filename = "C:\\xampp\\htdocs\\xampp..\\myvideo.mp4" def create_subtitle_clips (субтитры, размер видео, размер шрифта = 24, шрифт = 'Arial', цвет = 'желтый', отладка = False): subtitle_clips = [] я = 0 а субтитры[i:]: start_time = субтитры.start.секунды end_time = субтитры.end.секунды продолжительность = конечное_время - начальное_время video_width, video_height = размер видео text_clip = TextClip(subtitles.proprietary, fontsize=fontsize, font=font, color=color, bg_color = 'black',size=(video_width*3/4, None), метод='caption').set_start( start_time).set_duration(длительность) subtitle_x_position = 'центр' subtitle_y_position = video_height* 4 / 5 text_position = (subtitle_x_position, subtitle_y_position) subtitle_clips.append(text_clip.set_position(text_position)) я = я + 1 вернуть subtitle_clips видео = VideoFileClip (имя файла mp4) начало, конец = mp4имя_файла.split(".mp4") выходной_видео_файл = начало+'_subtitled5'+".mp4" subtitle_clips = create_subtitle_clips(субтитры,video.size) Final_video = CompositeVideoClip([видео] + subtitle_clips) Final_video.write_videofile(выходной_видео_файл)
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»