ffmpeg cli фильтр, требующий ввода пользователя

Это известная проблема, и одно возможное решение предоставляется drop.levels() в пакете gdata , где ваш пример становится

> drop.levels(subdf)
  letters numbers
1       a       1
2       b       2
3       c       3
> levels(drop.levels(subdf)$letters)
[1] "a" "b" "c"

Существует также dropUnusedLevels в пакете Hmisc . Однако он работает только путем изменения оператора подмножества [ и здесь неприменим.

В качестве следствия прямой подход на основе столбца является простым as.factor(as.character(data)):

> levels(subdf$letters)
[1] "a" "b" "c" "d" "e"
> subdf$letters <- as.factor(as.character(subdf$letters))
> levels(subdf$letters)
[1] "a" "b" "c"

0
задан ekiim 2 March 2019 в 20:01
поделиться

2 ответа

Я думаю, что вы ищете sendcmd , который поддерживается несколькими фильтрами. См. документацию по фильтрам FFmpeg (поиск по sendcmd).

0
ответ дан llogan 2 March 2019 в 20:01
поделиться

Используйте фильтры zmq и azmq . В отличие от фильтра sendcmd, который использует предварительно записанные команды, (a) zmq позволяет произвольно отправлять команды фильтра.

Чтобы включить эти фильтры, необходимо установить библиотеку libzmq и заголовки и настроить ffmpeg с помощью --enable-libzmq.

Только фильтры, которые поддерживают команды, могут использоваться с этим фильтром. Обратитесь к выводу ffmpeg -filters, чтобы просмотреть список фильтров, которые поддерживают команды. Кроме того, не все параметры фильтра считаются командами. Обратитесь к документации каждого фильтра для получения списка поддерживаемых команд.


Примеры из документации

Рассмотрим следующий фильтр-график, сгенерированный ffplay. В этом примере последний фильтр наложения имеет имя экземпляра. Все остальные фильтры будут иметь имена экземпляров по умолчанию.

ffplay -dumpgraph 1 -f lavfi "
color=s=100x100:c=red  [l];
color=s=100x100:c=blue [r];
nullsrc=s=200x100, zmq [bg];
[bg][l]   overlay     [bg+l];
[bg+l][r] overlay@my=x=100 "

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

echo Parsed_color_0 c yellow | tools/zmqsend

Чтобы изменить правую сторону:

echo Parsed_color_1 c pink | tools/zmqsend

На изменить положение правой стороны:

echo overlay@my x 150 | tools/zmqsend
<час>
0
ответ дан llogan 2 March 2019 в 20:01
поделиться
Другие вопросы по тегам:

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