When I play a libav encoded mpeg2 movie on my DVR, FFWD doesn't work as expected. It tends to jump too far. I've seen this with multiple movies and I'd really like to know how to fix it.

Playing the movie at normal speed, the timer says 00:20:00 (for ex) and the scene currently displayed (at normal speed) is correct for that time in the movie. I then press FFWD and the movie plays forward at high speed (as it should). When the timer reaches 00:50:00, what I SEE displayed is the scene corresponding to 00:40:00 mins. If I press PLAY at that point it goes back to normal speed, but has jumped ahead to the scene corresponding to the 00:50:00 min point, not to the 00:40:00 point that was visible when I went from FFWD -> PLAY.

NOTE. There's nothing special about the 20, 40 or 50 minute points in the movie, those are just examples. I can do this pretty much at any point in the movie and it behaves similar. Sometimes it jumps ahead more, sometimes less and sometimes it works as expected.

If I play the source video on the DVR, it plays just fine and FFWD works as expected everywhere.

The source is also mpeg2, pulled from a DVD via mpv stream-dump.

Any idea why this happens and what I might need to do to fix it?

Here's the command I used to encode the movie:

  $ avconv -fflags +genpts -i movie.vob -codec:v mpeg2video -b:v 4500k -bufsize 
2000k -maxrate 9800k -qscale:v 1 -qmin 1 -mbd 2 -codec:a copy -f vob 
movie-avconv.mpg
  avconv version 11.3, Copyright (c) 2000-2014 the Libav developers
    built on Mar 21 2015 09:44:38 with gcc 4.5.1 (GCC) 20100924 (Red Hat 
4.5.1-4)
  [mpeg @ 0x993a1c0] max_analyze_duration 5000000 reached
  Input #0, mpeg, from 'movie.vob':
    Duration: 02:14:39.00, start: 0.280633, bitrate: 6226 kb/s
      Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [PAR 32:27 
DAR 16:9], 9800 kb/s, 24 fps, 90k tbn, 59.94 tbc
      Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, fltp, 448 kb/s
      Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5.1, fltp, 384 kb/s
      Stream #0.3[0x82]: Audio: ac3, 48000 Hz, 5.1, fltp, 384 kb/s
      Stream #0.4[0x83]: Audio: ac3, 48000 Hz, 5.1, fltp, 384 kb/s
  Output #0, vob, to 'movie-avconv.mpg':
    Metadata:
      encoder         : Lavf56.1.0
      Stream #0.0: Video: mpeg2video (hq), yuv420p, 720x480 [PAR 32:27 DAR 
16:9], q=1-31, 4500 kb/s, 24 fps, 90k tbn, 24 tbc
      Metadata:
        encoder         : Lavc56.1.0 mpeg2video
      Stream #0.1: Audio: ac3, 48000 Hz, 5.1, 448 kb/s
  Stream mapping:
    Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
    Stream #0:1 -> #0:1 (copy)
  Press ctrl-c to stop encoding
  frame=193898 fps= 37 q=1.0 Lsize= 6473058kB time=8079.00 bitrate=6563.6kbits/s
  video:5950105kB audio:441822kB other streams:0kB global headers:0kB muxing 
overhead: 1.269262%

And the resulting file:

  $ avconv -i movie-avconv.mpg
  avconv version 11.3, Copyright (c) 2000-2014 the Libav developers
    built on Mar 21 2015 09:44:38 with gcc 4.5.1 (GCC) 20100924 (Red Hat 
4.5.1-4)
  [mpeg @ 0x93155a0] max_analyze_duration 5000000 reached
  Input #0, mpeg, from 'movie-avconv.mpg':
    Duration: 02:14:39.00, start: 1.041667, bitrate: 6563 kb/s
      Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [PAR 32:27 
DAR 16:9], 9800 kb/s, 24 fps, 90k tbn, 48 tbc
      Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, fltp, 448 kb/s
  At least one output file must be specified
_______________________________________________
libav-tools mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-tools

Reply via email to