<HTML><BODY><div>Thank you so much, Marianna !</div><div> </div><div>Kind people already advised on following pipe(s):</div><div> </div><div>(avi case) appsrc name=_appsrc  ! image/jpeg,framerate=16/1,width=768,height=576 ! avimux  ! filesink location=file.avi</div><div> </div><div>or</div><div> </div><div>(mp4 case) </div><div> <span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">appsrc name=_appsrc  ! image/jpeg, framerate=16/1, width=768,height=576 ! jpegdec ! x264enc ! mp4mux  ! filesink location=file.mp4</span></div><div> </div><div><div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);"> private static void Appsrc_NeedData(object o, NeedDataArgs args)</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">        {</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">            var appsrc = (AppSrc) o;</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">            if (FileCounter < 70)</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">            {</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">                var file = Files[FileCounter];</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">                var bytes = File.ReadAllBytes(file);</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">                appsrc.PushBuffer(new Buffer(bytes));</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">                FileCounter++;</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">            }</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">            else</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">            {</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">                appsrc.EndOfStream();</span></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">            }</span></div></div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">           </span></div><div><div><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">        }</span></div></div><div>><span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">I don't really know much about MP4 so I cannot help there.</span><p>But I don't expect you can get around decoding the JPEG and encoding to H264.</p></div><div> </div></div><div>Look at second pipe — «<span style="font-family: var(--vkui--octavius_font_family_global,var(--vkui--font_family_base,Helvetica,Arial,sans-serif)); letter-spacing: var(--vkui--font_text--letter_spacing--regular,normal);">jpegdec ! x264enc» are keys to this.</span></div><div> </div><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">Вторник, 29 августа 2023, 10:42 +03:00 от Marianna Smidth Buschle <msb@qtec.com>:<br> <div id=""><div class="js-helper js-readmsg-msg"><div><div id="style_16932949750207989522_BODY"><div class="cl_316526"><p>Hi,</p><p> </p><p>I expect you should be able to create a MJPEG from JPEG buffers in memory if you write an application with an appsrc in order to feed your buffers in.</p><p> </p><p>Simply for MJPEGs you should be able to do something like this:</p><p>videtestsrc ! <SRC_CAPS> ! queue ! videoconvert ! jpegenc ! avimux ! filesink location=<LOCATION></p><p> </p><p>Once you have that working you can change into feeding your own frames in with an appsrc:</p><p>appsrc ! <SRC_CAPS> ! queue ! avimux ! filesink location=<LOCATION></p><p> </p><p>Look into the appsrc tutorials for how to feed data into it.</p><p> </p><p>I don't really know much about MP4 so I cannot help there.</p><p>But I don't expect you can get around decoding the JPEG and encoding to H264.</p><p> </p><p>Best Regards</p><p>Marianna</p><div class="moz-cite-prefix_mr_css_attr">On 28/08/2023 10.40, <a href="//e.mail.ru/compose/?mailto=mailto%3agstreamer%2ddevel%2drequest@lists.freedesktop.org" class="moz-txt-link-abbreviated_mr_css_attr">gstreamer-devel-request@lists.freedesktop.org</a> wrote:</div><blockquote type="cite"><pre class="moz-quote-pre_mr_css_attr">Hi.
?
I have jpeg files in memory (byte[] in terms of C#), how to transform them into mjpeg file?
Can you help me with pipeline for that? Can it be done in memory, without dumping jpeg files? to disk?
?
Same problem, but now I need mp4 file.?At least I can see way to transcode mjpeg into mp4, but maybe it
?could be done in a more straight way ??from jpegs to mp4?
?
Thanks in advance.</pre></blockquote><pre class="moz-signature_mr_css_attr">-- 
Best regards / Med venlig hilsen
“Marianna Smidth Buschle”</pre></div></div></div></div></div></blockquote><div> <div> </div><div data-signature-widget="container"><div data-signature-widget="content"><div>--<br>С Уважением,<br>Шаров Антон</div></div></div><div><br> </div></div></BODY></HTML>