Skip to content

Commit

Permalink
Merge pull request #2202 from MaximVSaveliev/2201-видео-прохождения-т…
Browse files Browse the repository at this point in the history
…естов-в-линуксе

Запись видео в Линукс
  • Loading branch information
Pr-Mex authored Oct 2, 2024
2 parents 5b16836 + 950f65f commit fdc170f
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30861,6 +30861,9 @@
ПараметрыВидео.Вставить("СоздаватьФайлыОзвучкиДляСправки", Объект.СоздаватьФайлыОзвучкиДляСправки);
ПараметрыВидео.Вставить("КаталогКешОзвучкиДляИнтерактивнойСправки", Объект.КаталогКешОзвучкиДляИнтерактивнойСправки);

ПараметрыВидео.Вставить("Дисплей", ?(Ванесса.ЭтоLinux, ПеременныеСреды()["DISPLAY"], "desktop"));
ПараметрыВидео.Вставить("Устройство", ?(Ванесса.ЭтоLinux, "x11grab", "gdigrab"));

Возврат ПараметрыВидео;

#КонецЕсли
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4056,7 +4056,11 @@
Ванесса.Объект.ИдетЗаписьВыполненияТестов = Ложь;
Ванесса.Отладка("КомандаОстановитьЗапись=q");
ЭкземплярПроцессаЗаписиВыполненияТестов.ВвестиДанные("q");
ЭкземплярПроцессаЗаписиВыполненияТестов.Ждать(10000);
Если Ванесса.ЭтоLinux Тогда
Ванесса.sleep(3);
Иначе
ЭкземплярПроцессаЗаписиВыполненияТестов.Ждать(10000);
КонецЕсли;

ИмяФайлаВидеоИсходный = Ванесса.ДополнитьСлешВПуть(ПараметрыВидео.КаталогДляЗаписиВидеоВыполненияТестов)
+ "scen" + Формат(ПараметрыВидео.ТекИД_СценарияВМассиве, "ЧГ=; ЧН=0") + ".mp4";
Expand Down Expand Up @@ -4108,14 +4112,19 @@
КомандаЗаписиВидеоВыполненияТестов = "ffmpeg";
КонецЕсли;

Если Ванесса.ЭтоLinux Тогда
СмещениеВидео = "+" + Формат(0,"ЧН=0; ЧГ=0") + "," + Формат(0,"ЧН=0; ЧГ=0");
Иначе
СмещениеВидео = " -offset_x " + Формат(0,"ЧН=0; ЧГ=0") + " -offset_y " + Формат(0,"ЧН=0; ЧГ=0");
КонецЕсли;

КомандаНачатьЗаписьВидео = ""
+ """" + КомандаЗаписиВидеоВыполненияТестов + """"
+ " -f gdigrab "
+ " -f " + ПараметрыВидео.Устройство
+ " -framerate " + Формат(КолКадров, "ЧГ=")
+ " -offset_x " + Формат(0,"ЧН=0; ЧГ=0")
+ " -offset_y " + Формат(0,"ЧН=0; ЧГ=0")
+ ?(Ванесса.ЭтоLinux, "", СмещениеВидео)
+ " -video_size " + Формат(ПараметрыВидео.ЗаписьВидеоЭкранШирина,"ЧН=0; ЧГ=0") + "x" + Формат(ПараметрыВидео.ЗаписьВидеоЭкранВысота,"ЧН=0; ЧГ=0")
+ " -i desktop "
+ " -i " + ПараметрыВидео.Дисплей + ?(Ванесса.ЭтоLinux, СмещениеВидео, "")
+ " -preset ultrafast "
+ " -crf 0 "
+ """" + ИмяФайлаВидео + """";
Expand Down Expand Up @@ -4156,18 +4165,23 @@
ВызватьИсключение Ванесса.Локализовать("Не указано количество кадров.");
КонецЕсли;

Если Ванесса.ЭтоLinux Тогда
СмещениеВидео = "+" + Формат(ПараметрыВидео.ЗаписьВидеоЭкранСлева, "ЧН=0; ЧГ=0") + "," + Формат(ПараметрыВидео.ЗаписьВидеоЭкранСверху, "ЧН=0; ЧГ=0");
Иначе
СмещениеВидео = " -offset_x " + Формат(ПараметрыВидео.ЗаписьВидеоЭкранСлева, "ЧН=0; ЧГ=0") + " -offset_y " + Формат(ПараметрыВидео.ЗаписьВидеоЭкранСверху, "ЧН=0; ЧГ=0");
КонецЕсли;

КомандаНачатьЗаписьВидео = ""
+ """" + ПараметрыВидео.ЗаписьВидеоКомандаFfmpeg + """"
+ " -f gdigrab "
+ " -f " + ПараметрыВидео.Устройство
+ " -framerate " + Формат(КолКадров, "ЧГ=")
+ " -offset_x " + Формат(ПараметрыВидео.ЗаписьВидеоЭкранСлева,"ЧН=0; ЧГ=0")
+ " -offset_y " + Формат(ПараметрыВидео.ЗаписьВидеоЭкранСверху,"ЧН=0; ЧГ=0")
+ ?(Ванесса.ЭтоLinux, "", СмещениеВидео)
+ " -video_size " + Формат(ПараметрыВидео.ЗаписьВидеоЭкранШирина,"ЧН=0; ЧГ=0") + "x" + Формат(ПараметрыВидео.ЗаписьВидеоЭкранВысота,"ЧН=0; ЧГ=0")
+ " -i desktop "
+ " -i " + ПараметрыВидео.Дисплей + ?(Ванесса.ЭтоLinux, СмещениеВидео, "")
+ " -preset ultrafast "
+ " -crf 0 "
+ """" + ИмяФайлаВидео + """";

Ванесса.Отладка(КомандаНачатьЗаписьВидео);
ЭкземплярПроцессаЗаписиВидео = Новый("AddIn." + ПараметрыВидео.ИдентификаторВнешнейКомпонентыДляСкриншотов + ".ProcessControl");
Попытка
Expand Down

0 comments on commit fdc170f

Please sign in to comment.