Смешивание KLV из файла (ов) в MPEG-TS с помощью GStreamer
Используя GStreamer (версия 1.12.4), я успешно создавал видео из jpegs, используя следующее утверждение:
gst-launch-1.0 multifilesrc location=image-%06d.jpg \
! image/jpeg,framerate=25/1 \
! decodebin \
! videoscale \
! video/x-raw \
! x264enc bitrate=10000 \
! mpegtsmux \
! filesink location=test-H264-10Mbps.ts
Как следует из этого утверждения, это создает файлы MPEG-TS в кодировке H.264, которые используют файлы jpeg со скоростью 25 кадров в секунду.
В настоящее время у меня также есть файлы с аналогичным именем klv, и я хотел бы объединить их в один и тот же выходной файл. Моя лучшая попытка (на основе других примеров) выглядит примерно так:
gst-launch-1.0 multifilesrc location=data-%06d.klv \
! meta/x-klv \
! mpegtsmux name=mux \
! multifilesrc location=image-%06d.jpg \
! image/jpeg,framerate=25/1 \
! decodebin \
! videoscale \
! video/x-raw \
! x264enc bitrate=10000 \
! mux. \
! filesink location=test-H264-KLV-10Mbps.ts
Это приводит к некоторым синтаксическим ошибкам:
0:00:00.081526898 20796 000000000529E360 WARN default grammar.y:1137:priv_gst_parse_yyerror: Error during parsing: syntax error, unexpected LINK
0:00:00.087062261 20796 000000000529E360 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
0:00:00.091393840 20796 000000000529E360 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
0:00:00.099172303 20796 000000000529E360 ERROR GST_PIPELINE grammar.y:740:gst_parse_perform_link: could not link mux to multifilesrc1
WARNING: erroneous pipeline: syntax error
Я не против представить данные KLV в другом формате, если это облегчает ответ. Я также играл с добавлением операторов очереди, а также мультиплексированием в разных местах, но это приводит к одним и тем же сообщениям об ОШИБКЕ.
Какие-нибудь идеи, ресурсы или другие предложения, чтобы направить меня в правильном направлении для мультиплексирования KLV?
1 ответ
нет никакого легкодоступного плагина gstreamer, который вы можете использовать для мультиплексирования файла, вам придется написать собственное приложение, для получения аналогичного примера обратитесь к ссылке.