Как мне поместить несвязанный звук в любой сгенерированный видеопоток таким образом, чтобы они синхронизировались в gstreamer?
Контекст:
Я хочу транслировать звук из icecast в поток Kinesis Video, а затем просматривать его с помощью плеера Amazon. Плеер работает только при наличии видео и звука, поэтому я создаю видео с помощью testvideosrc.
Видео и аудио должны быть синхронизированы с точки зрения временных меток, иначе приемник Kinesis kvssink выдает ошибку. Но поскольку это два отдельных источника, они не находятся в приемнике.
Я использую gst-launch-1.0 для запуска моего конвейера.
Моя основная попытка была такой:
gst-launch-1.0 -v \
videotestsrc pattern=red ! video/x-raw,framerate=25/1 ! videoconvert ! x264enc ! h264parse ! video/x-h264,stream-format=avc,alignment=au ! \
queue ! kvssink name=sink stream-name="NAME" access-key="KEY" secret-key="S_KEY" \
uridecodebin uri=http://ice-the.musicradio.com/LBCLondon ! audioconvert ! voaacenc ! aacparse ! queue ! sink.
Сообщение об ошибке, которое я получаю, переводится как STATUS_MAX_FRAME_TIMESTAMP_DELTA_BETWEEN_TRACKS_EXCEEDED
Это указывает на то, что временные метки аудио и видео слишком разные, поэтому я хочу заставить их совпадать, возможно, отбросив временные метки видео?