Недавно я реализовал простой код, который может динамически записывать поток rtsp с изменением местоположения файловой папки каждые 10 секунд, ссылаясь на это руководство и на это .
Пример потока Rtsp: 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 секунд.