<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Many frames are keyframes. such as SPS/PPS and I frames, If you generate the hls_list file yourself,  and mux as ts file.  It has to start with SPS and PPS, and then I frame;
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Another way, you can mux as hls, that would be easier():<br class="">
<div class="">
<div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""><span class="Apple-tab-span" style="white-space:pre"></span>avformat_alloc_output_context2(&</span>format_ctx, xxx, “hls”, xxx);</div>
</div>
<div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""><br class="">
</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""><span style="font-family: Helvetica; font-size: 12px;" class=""><span class="Apple-tab-span" style="white-space:pre"></span>and set the  hls_list_size to 0:</span></span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class="">
</div>
<div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span class="Apple-tab-span" style="white-space:pre"></span>av_opt_set_int(format_ctx, “hls_list_size”, 0, 0);</div>
<div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><br class="">
</div>
<div style="margin: 0px; font-stretch: normal; line-height: normal;" class="">If you want to format the list,also use av_opt_set.  </div>
<div style="margin: 0px; font-stretch: normal; line-height: normal;" class="">This command tells you something you can set:
<span class="Apple-tab-span" style="white-space:pre"></span>“ffmpeg -h muxer=hls”</div>
<div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><br class="">
</div>
<div class=""><br class="">
<div class="">
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">
LeiHe</div>
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;">
<a href="mailto:helei0908@hotmail.com" class="">helei0908@hotmail.com</a></div>
<div style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<br class="">
</div>
<br class="Apple-interchange-newline">
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">在 2018年10月9日,上午8:38,Evan Odabashian <<a href="mailto:eodabash@gmail.com" class="">eodabash@gmail.com</a>> 写道:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
I'm trying to use libavformat to write a stream of H.264 data (coming from the NvCodec API) directly (without re-encoding) to an HLS playlist. I'm sending the packets returned by the encoder through av_parser_parse2 until I get a complete frame, and then writing
 the resulting frame with av_interleaved_write_frames. This is mostly working in that I get an m3u8 playlist + .ts segments that plays back successfully if it starts from the first .ts segment (and can play through any number of subsequent segments). </div>
<div dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<br class="">
</div>
<div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
I'm not able to start playback directly from any segment after the first one however. Viewing the file details in Windows explorer for the first .ts segment shows correct values for the frame dimensions, bitrate, and frame rate. For all other segments however
 these values are wrong (and not consistent from one file to the next). I'm pretty sure each new segment is beginning on a keyframe (in that I see the new .ts file appear right after the parser detects a keyframe and I write the output frame with the AV_PKT_FLAG_KEY
 flag). I can change the segment duration to any value I want (1 second, 10 seconds, etc) and see the same behavior I don't think this is an issue with the incoming sample themselves. </div>
<div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<br class="">
</div>
<div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
Can anyone guess what might be the problem here, or have some ideas to try and diagnose the problem further?</div>
<br class="Apple-interchange-newline">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</body>
</html>