gstreamer 1.0 android - декомпозитирование видео с помощью видеобокса на несколько поверхностей - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь разложить видеопоток, который был закодирован из нескольких входных источников через элемент compositor, который работает нормально.

Я пытаюсь взять этот поток и разделить его с тройником после декодирования и передачи каждый элемент sr c тройника к элементу видеобокса для обрезки сегмента, соответствующего составному потоку, до уникальных экземпляров поверхности в android. На самом деле, я думаю, что проблема больше в том, как я (не) использую видеобокс.

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

У меня появляются похожие симптомы на моих машинах Windows и Ma c, но целевая платформа - Android.

Например, этот конвейер Ma c работает:

gst-launch-1.0 rtspsr c location = rtsp: //192.168.0.25: 7768 / tile! rtph264depay! h264parse! втде c! имя тройника = t! очередь ! видеоконверт! Видеобокс слева = 0 справа = 960 сверху = 0 снизу = 540! glimagesink render-rectangle = '<990,570,960,540>'

Этот конвейер Ma c работает, но ничего не отображается и ошибок нет:

gst-launch-1.0 rtspsr c location = rtsp : //192.168.0.25: 7768 / плитка! rtph264depay! h264parse! втде c! имя тройника = t! очередь ! видеоконверт! Видеобокс слева = 0 справа = 960 сверху = 0 снизу = 540! glimagesink render-rectangle = '<990,570,960,540>' t. ! очередь ! видеоконверт! Видеобокс слева = 960 справа = 1920 сверху = 0 снизу = 540! glimagesink render-rectangle = '<20,20,960,540>'

Оцените любые отзывы - Doug

1 Ответ

0 голосов
/ 22 февраля 2020

Я неправильно интерпретировал использование left / right / top / bottom. После прочтения информации о видеообрезке я обнаружил, что эти параметры указывают, сколько нужно обрезать для каждого соответствующего края.

Это работает: (справа = 0 при втором появлении на видеобоксе)

gst-launch- 1.0 rtspsr c location = rtsp: //192.168.0.25: 7768 / плитка! rtph264depay! h264parse! втде c! имя тройника = t! очередь ! видеоконверт! Видеобокс слева = 0 справа = 960 сверху = 0 снизу = 540! glimagesink render-rectangle = '<990,570,960,540>' t. ! очередь ! видеоконверт! Видеобокс слева = 960 справа = 0 сверху = 0 снизу = 540! glimagesink render-rectangle = '<20,20,960,540>'

Вот что я получаю за позднюю работу в пятницу:)

...