Как изменить разрешение/возможности устройства v4l2loopback на лету?

шаг 1 :запустить команду проверки для default.target

systemd-analyze verify default.target

шаг 2 :наблюдайте за тем, какая служба или цель упоминается в сообщении «Systemd прерывает цикл упорядочения путем удаления задания» и отображает полный список зависимостей

systemctl show -p Requires,Wants,Requisite,BindsTo,PartOf,Before,After <service or target name mentioned in the "breaking cycle" message>

шаг 3 :просмотреть группы «после» и «до» внутри службы или целевого файла, обычно определяемые в

/lib/systemd/system

и найти службы или цели, которые, как известно, являются последовательными, но находятся в исходящем порядке для этой службы.

пример:

dbus.service

обычно обозначается «после»

multi-user.target

но "до"

sockets.target

такую ​​зависимость можно легко наблюдать, вызывая

systemctl list-dependencies default.target

однако, если файл

/lib/systemd/system/dbus.service

содержит такие строки, как:

Before=multi-user.target

или

After=sockets.target

или и то, и другое одновременно означает, что dbus.service определен как исходящий и вызывает бесконечный цикл systemd.

лечение простое -заменить слово "После" на "До" и наоборот -наоборот, если необходимо.

1
18.11.2020, 21:16
1 ответ

пока устройство открыто, его разрешение (и формат )фиксированы.

так что ответ на ваш вопрос :нет, вы не можете изменить эти настройки на лету.

(если вы не выйдете из всех потребителей (в вашем случае :VLC )перед запуском нового ffmpeg; но это не то, что я бы назвал "на лету")

Это ограничение API V4L2, при котором вы не можете сообщать об изменении разрешения/формата любому подключенному приложению.

похоже, что есть проблема с ffmpeg, которая должна либо

  • отрегулируйте размер выходного кадра -, если он не может изменить его
  • или отказаться от запуска

(это также может быть ошибка в модуле v4l2loopback(, который не сообщает должным образом о том, что размер кадра не изменился ), но с GStreamer, похоже, он работает должным образом,так что я в этом не уверен)

0
18.03.2021, 22:48

Теги

Похожие вопросы