Информация об изменениях

Сообщение Re[4]: I have jpeg files in memory, how to transform them i от 28.08.2023 14:22

Изменено 28.08.2023 14:34 Conductor

Re[4]: I have jpeg files in memory, how to transform them i
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, Conductor, Вы писали:


C>>На основе использования appsrc не прокатит? Что-то вроде:

C>>appsrc name=_appsrc ! image/jpeg,framerate=25/1,width=768,height=576 ! avimux ! filesink location=mjpeg.avi

S>Благодарю, а можно сразу в mp4?


S>Еще вопрос: "! image/jpeg,framerate=25/1,width=768,height=576 !" -- это caps для кого эл-та, для appsrc или *mux?


Для appsrc. Кстати, может быть и прокатит без указания width/height, в jpeg они же внутри есть. Попробовать надо.

S>Упд: Как-то так appsrc name=_appsrc ! image/jpeg,framerate=25/1,width=768,height=576 ! mp4mux ! filesink location=mjpeg.mp4 ?


mp4mux — не поддерживает для sink image/jpeg. qtmux поддерживает, если он тебя устроит.

А ежели надо jpegs в mp4 с h264 внутри, то можно, например, так попробовать:

appsrc name=_appsrc ! image/jpeg,framerate=25/1,width=768,height=576 ! jpegdec ! x264enc ! mp4mux ! filesink location=mjpeg.mp4

Ну, очередь там где-нибудь ещё всобачить, на всякий случай. Хотя для тестового варианта и без неё прокатывает, но, в принципе, могут быть сюрпризы.

gst-launch-1.0 videotestsrc num-buffers=500 ! video/x-raw, framerate='(fraction)'25/1 ! jpegenc ! image/jpeg,framerate=25/1,width=768,height=576 ! jpegdec ! x264enc ! mp4mux ! filesink location=mjpeg_h264.mp4
Re[4]: I have jpeg files in memory, how to transform them i
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, Conductor, Вы писали:


C>>На основе использования appsrc не прокатит? Что-то вроде:

C>>appsrc name=_appsrc ! image/jpeg,framerate=25/1,width=768,height=576 ! avimux ! filesink location=mjpeg.avi

S>Благодарю, а можно сразу в mp4?


S>Еще вопрос: "! image/jpeg,framerate=25/1,width=768,height=576 !" -- это caps для кого эл-та, для appsrc или *mux?


Для appsrc. Точнее так: ты информируешь, что именно твой appsrc отдавать будет, чтобы muxer на это ориентировался. Ведь что в рельности отдает appsrc именно ты определяешь. Так что можно сказать, что и для *mux.
Кстати, может быть и прокатит без указания width/height, в jpeg они же внутри есть. Попробовать надо.

S>Упд: Как-то так appsrc name=_appsrc ! image/jpeg,framerate=25/1,width=768,height=576 ! mp4mux ! filesink location=mjpeg.mp4 ?


mp4mux — не поддерживает для sink image/jpeg. qtmux поддерживает, если он тебя устроит.

А ежели надо jpegs в mp4 с h264 внутри, то можно, например, так попробовать:

appsrc name=_appsrc ! image/jpeg,framerate=25/1,width=768,height=576 ! jpegdec ! x264enc ! mp4mux ! filesink location=mjpeg.mp4

Ну, очередь там где-нибудь ещё всобачить, на всякий случай. Хотя для тестового варианта и без неё прокатывает, но, в принципе, могут быть сюрпризы.

gst-launch-1.0 videotestsrc num-buffers=500 ! video/x-raw, framerate='(fraction)'25/1 ! jpegenc ! image/jpeg,framerate=25/1,width=768,height=576 ! jpegdec ! x264enc ! mp4mux ! filesink location=mjpeg_h264.mp4