Это можно что бы оно установило в веб хостинг?конечно. это лего - собирай что хочешь. но проще залить все на сервер и там уже развернуть проект
Скажите, есть ли возможность как-нибудь открывать это видео сразу в браузере, декодируя через JS?если ты решил поднять стартап из говна и палок, то разочарую тебя: нет, не возможно, js под это не заточен. единственное что приходит на ум - это если этот кусок китайского имеет выходы, то вывести сигнал на какую-нибудь железку(старый пк или медиабокс) которая умеет писать в нужном тебе формате или как минимум умеет воспроизводить .dav и видео выходы..
А ТС и планирует напропалую подтыкать вместо базового класса его наследников.если на кассе в магазине вместо тани стоит маня, это не ничего не меняет - она работает все тем же кассиром т.е. изменение кода не означает изменение функционала (по крайней мере в данном случае). Тут проблема скорее в том, что подобный фабричный метод нарушает принцип ответственности т.е. взятый за основу DomDocument является скорее антипаттерном "holly class" как и сама идея переноса не самого удачного(по мнению самих же авторов) js кода на php.
я не умею читать код на Cа ты хоть пробовал?
Потому что я не вижу, чем в этом случае мне поможет фабрика, билдер и/или di.
возвращать не просто DOMElement, а любого его кастомного наследника по желанию пользователя библиотеки?это обычная реализация шаблона factory method/фабричный метод
TagFactory::createTag()
:class TagFactory
{
protected $tagClasses = [];
protected $document;
public function __construct(Document $document)
{
$this->document = $document;
}
public function setTagClass(string $tag, string $class): self
{
if (!is_subclass_of($class, TagInterface::class)) {
throw new InvalidArgumentException("Class $class not instance TagInterface");
}
$this->tagClasses[$tag] = $class;
return $this;
}
public function createTag(string $name, iterable $attributes = [], string $content = null): TagInterface
{
if (isset($this->tagClasses[$name])) {
$tag = new $this->tagClasses[$name]($this->document, $attributes);
} else {
$tag = new Tag($this->document, $name, $attributes);
}
if ($content !== null) {
$tag->setContent($content);
}
return $tag;
}
}
su ffmpeg ...