<div dir="auto">And so, how can I copy all the input parameters? To get the same parameters in the recorded file? </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 1 janv. 2020 à 21:36, Việt Hùng Nguyễn <<a href="mailto:hungtrodt5@gmail.com">hungtrodt5@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Yes, exactly!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 1, 2020, 17:10 Audric Ackermann <<a href="mailto:audric.ackermann@gmail.com" target="_blank" rel="noreferrer">audric.ackermann@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">But if I want to avoid missing the first few frames  which are not a key frame, I have to reencode the data, so the first frame recorded is a key frame, right?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 1 janv. 2020 à 20:49, Strahinja Radman <<a href="mailto:dr.strashni@gmail.com" rel="noreferrer noreferrer" target="_blank">dr.strashni@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">If you only want to copy the input, there is no need to transcode. You can simply duplicate the input packets, one packet goes to the decoder so it can be shown, the other <div>goes to the muxer for the recorder when someone presses the record button. You can save to whatever format you want but input may not be playable from the start until</div><div>it reaches the key frame. Deep packet copy can be achieved with the following code:</div><div><br></div><div>AVPacket packet;<br></div><div>                      av_init_packet(&packet);<br>                  av_packet_ref(packet, src);<br>                   av_packet_make_writable(&packet);<br></div><div><br></div><div>You can based on the decoded frames, mark a key frame packet and start saving from there.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 1, 2020 at 10:06 AM Audric Ackermann <<a href="mailto:audric.ackermann@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">audric.ackermann@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)">Ok thank you.</div><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)">As I do not control the input parameters I will go for the transcode option. Is there an easy way to duplicate all required decoder parameters to the encoder?</div><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)">Like doing this, but with all important params in one step:</div><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)">Thanks<br></div><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;color:rgb(68,68,68)"><div style="color:rgb(212,212,212);background-color:rgb(30,30,30);font-weight:normal;font-size:14px;line-height:19px;white-space:pre-wrap"><div><span style="color:rgb(212,212,212)">            </span><span style="color:rgb(156,220,254)">outst</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">width</span><span style="color:rgb(212,212,212)"> = </span><span style="color:rgb(86,156,214)">this</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec_ctx</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">width</span><span style="color:rgb(212,212,212)">;</span></div><div><span style="color:rgb(212,212,212)">            </span><span style="color:rgb(156,220,254)">outst</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">height</span><span style="color:rgb(212,212,212)"> = </span><span style="color:rgb(86,156,214)">this</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec_ctx</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">height</span><span style="color:rgb(212,212,212)">;</span></div><div><span style="color:rgb(212,212,212)">            </span><span style="color:rgb(156,220,254)">outst</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">pix_fmt</span><span style="color:rgb(212,212,212)"> = </span><span style="color:rgb(86,156,214)">this</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec_ctx</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">pix_fmt</span><span style="color:rgb(212,212,212)">;</span></div><div><span style="color:rgb(212,212,212)">            </span><span style="color:rgb(156,220,254)">outst</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">time_base</span><span style="color:rgb(212,212,212)"> = </span><span style="color:rgb(86,156,214)">this</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">codec_ctx</span><span style="color:rgb(212,212,212)">-></span><span style="color:rgb(156,220,254)">time_base</span><span style="color:rgb(212,212,212)">;</span></div></div></div></div>
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" rel="noreferrer noreferrer noreferrer" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="https://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br>
To unsubscribe, visit link above, or email<br>
<a href="mailto:libav-user-request@ffmpeg.org" rel="noreferrer noreferrer noreferrer" target="_blank">libav-user-request@ffmpeg.org</a> with subject "unsubscribe".</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><br>Regards<br>Strahinja Radman</div>
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" rel="noreferrer noreferrer noreferrer" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="https://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br>
To unsubscribe, visit link above, or email<br>
<a href="mailto:libav-user-request@ffmpeg.org" rel="noreferrer noreferrer noreferrer" target="_blank">libav-user-request@ffmpeg.org</a> with subject "unsubscribe".</blockquote></div>
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" rel="noreferrer noreferrer" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="https://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer noreferrer noreferrer" target="_blank">https://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br>
To unsubscribe, visit link above, or email<br>
<a href="mailto:libav-user-request@ffmpeg.org" rel="noreferrer noreferrer" target="_blank">libav-user-request@ffmpeg.org</a> with subject "unsubscribe".</blockquote></div>
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank" rel="noreferrer">Libav-user@ffmpeg.org</a><br>
<a href="https://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer noreferrer" target="_blank">https://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br>
To unsubscribe, visit link above, or email<br>
<a href="mailto:libav-user-request@ffmpeg.org" target="_blank" rel="noreferrer">libav-user-request@ffmpeg.org</a> with subject "unsubscribe".</blockquote></div>