Gstreamer x264enc неожиданная потеря при записи видео

Недавно я реализовал простой код, который может записывать поток rtsp с динамическим изменением расположения файловой ссылки каждые 10 секунд, ссылаясь на это руководство и на это.

Пример потока http://rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov

Однако, когда я тестировал элемент x264enc, в результате видео теряет много кадров.

Когда я открываю записанные видео, они начинаются, например, с 00:07 вместо 00:00.

Это мой код....

test.cpp

Обобщение:
g++ test.cpp -o test `pkg-config --cflags --libs gstreamer-1.0`

версия gstreamer: 1.14.4

Версия g++: 8.2.1

Кто-нибудь может помочь в этом вопросе?


РЕДАКТИРОВАТЬ:

Я наконец решил эту проблему с концепцией:

pipeline = rtspsrc ! rtpjpegdepay ! queue ! bin
bin = (ghost pad) ! jpegdec ! openh264enc ! h264parse ! mp4mux ! filesink

bin динамически удаляется из конвейера, а новый добавляется в конвейер каждые 10 секунд.

0 ответов

Другие вопросы по тегам