Arnd Bergmann <[email protected]> added the comment:

I have the same problem here and tried many different command line 
option for hours, but I then noticed the unusual tbn value 
(ffplay -stats):

Stream #0.0[0xfd55]: Video: vc1, yuv420p, 1920x1080 [PAR 1:1 DAR 
16:9], 23.98 tbr, 90k tbn, 29.97 tbc

Without really knowing what this means (haven't hacked on ffmpeg since 
2001), I experimented with changes to how the frame rate is 
calculated.

Finally, this change did the trick:

diff --git a/libavformat/utils.c b/libavformat/utils.c
index d3b9c09..43c1703 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2343,7 +2343,7 @@ AVStream *av_new_stream(AVFormatContext *s, int 
id)
     st->first_dts = AV_NOPTS_VALUE;

     /* default pts setting is MPEG-like */
-    av_set_pts_info(st, 33, 1, 90000);
+    av_set_pts_info(st, 33, 1001, 24000);
     st->last_IP_pts = AV_NOPTS_VALUE;
     for(i=0; i<MAX_REORDER_DELAY+1; i++)
         st->pts_buffer[i]= AV_NOPTS_VALUE;

It does break a lot of other functionality (e.g. playing anything with 
mplayer), but now I can play the file just fine using ffplay.

Setting the rate to 30000/1001 here (same as tbr and tbc) also solves 
the skipping, but lets the file lose a/v sync.

I hope this helps track down the real cause for the annoying bug.

____________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/roundup/ffmpeg/issue465>
____________________________________________________

Reply via email to