GStreamer: как создать тишину, если аудио короче, чем видео - PullRequest
0 голосов
/ 01 ноября 2018

Я нахожусь в ситуации, когда я обрабатываю видео и аудио потоки одновременно, но бывает, что аудио поток короче. Мне нужно вставить буферы тишины вместо того, чтобы ничего не проигрывать в этом случае, чтобы потоки заканчивались в одной и той же отметке времени. (Случай, когда видео поток короче, уже обработан)

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

Спасибо!

1 Ответ

0 голосов
/ 04 ноября 2018

Это немного сложно. Вы можете использовать что-то вроде:

... ! audiodecoder ! adder name=mix ! ...
audiotestsrc wave=silence ! mix.

Чтобы это работало, вам нужно настроить продолжительность видео на audiotestsrc, например, запросить продолжительность видео, а затем отправить запрос на audiotestsrc.

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

...