<div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif">Hi, I'm using ffmpeg to mux to ASF format, but the generated file has a little problem.<a href="https://dl.dropboxusercontent.com/u/89678527/big_buck_bunny.wmv"> </a></div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif"><a href="https://dl.dropboxusercontent.com/u/89678527/big_buck_bunny.wmv">https://dl.dropboxusercontent.com/u/89678527/big_buck_bunny.wmv</a> This video when used with ffprobe -show_frames -select_streams v, it can show correct number of frames(about 23.97 * 60 = 1440 frames), but when I use ffmpeg -i name %06d.jpg it can dump out about 40,000 frames. So when played by ffplay, video playback is very slow.</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">I guess it's somewhat related to timebase. Run ffprobe on this file I can see</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:georgia,serif"><div class="gmail_default"><font color="#6aa84f">  <i>Duration: 00:01:00.02, start: 0.000000, bitrate: 2278 kb/s</i></font></div></div><div class="gmail_default" style="font-family:georgia,serif"><div class="gmail_default"><i><font color="#6aa84f">    Stream #0:0: Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 640x360, 1k tbr, 1k tbn, 1k tbc</font></i></div></div></blockquote><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">As I said I use ffmpeg to mux (video/audio are encoded with 3rd party encoders). To mux, basically what I do is:</div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">1. pOutputFormat = </font><font color="#ff0000">guess_format</font><font color="#6aa84f">("asf", NULL, NULL);</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">2. pFormatCtx = </font><font color="#ff0000">av_alloc_format_context</font><font color="#6aa84f">(); pFormatCtx->format = pOutputFormat;</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">3. set video encoder</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">4. Create video stream: </font><font color="#ff0000">pVideoStream = av_new_stream</font><font color="#6aa84f">(pFormatCtx, 0);</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">5. set code_id, code_type, timebase on pVideoCodecCtx =</font><font color="#ff0000"> pVideoStream->codec</font><font color="#6aa84f">;</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">6. set audio encoder, create audio stream, set settings on </font><font color="#ff0000">pSoundStream->codec</font><font color="#6aa84f">;</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">7. call </font><font color="#ff0000">av_write_header</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">8. call </font><font color="#ff0000">av_interleaved_write_frame</font><font color="#6aa84f"> to write data</font></div><div class="gmail_default" style="font-family:georgia,serif"><font color="#6aa84f">9. call </font><font color="#ff0000">av_write_trailer</font></div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">The only place I set timebase is set pVideoCodecCtx->time_base, do I need to set time base on videostream or formactx?</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">Thanks for help.</div></div>