I know I can work round with -vsync 0, but it seems odd that 50/60 fps
elemental streams have this issue, even with no sound.

It doesn't seem to happen with containers or 25/30 fps so I guess it's
just some accuracy thing.

Initially noticed testing with 50fps y4m -> hevc -> y4m = extra frame.

+ lots of Past duration 0.999992 too large

Reducing below example to 1 frame still results in 2 frame output
(but no errors so I paste 10 frame version).

same result with -f rawvideo rather than y4m

ffmpeg -i /mnt/ramdisk/raw-422.y4m -vframes 10 -c:v libx264 /mnt/ramdisk/out.264 ffmpeg version N-78859-g5afe918 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
configuration: --prefix=/usr --disable-doc --enable-gpl --enable-libzimg --enable-libvpx --enable-libx265 --enable-libmp3lame --enable-libx264
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 27.101 / 57. 27.101
  libavformat    57. 27.101 / 57. 27.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 38.100 /  6. 38.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, yuv4mpegpipe, from '/mnt/ramdisk/raw-422.y4m':
  Duration: 00:00:10.00, start: 0.000000, bitrate: 1658882 kb/s
Stream #0:0: Video: rawvideo (Y42B / 0x42323459), yuv422p, 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc
File '/mnt/ramdisk/out.264' already exists. Overwrite ? [y/N] y
No pixel format specified, yuv422p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x3d4be40] using cpu capabilities: MMX2 SSE2Fast LZCNT
[libx264 @ 0x3d4be40] profile High 4:2:2, level 4.2, 4:2:2 8-bit
Output #0, h264, to '/mnt/ramdisk/out.264':
  Metadata:
    encoder         : Lavf57.27.101
Stream #0:0: Video: h264 (libx264), yuv422p, 1920x1080, q=-1--1, 50 fps, 50 tbn, 50 tbc
    Metadata:
      encoder         : Lavc57.27.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 10 fps=0.0 q=-1.0 Lsize= 281kB time=00:00:00.16 bitrate=14374.9kbits/s speed=0.174x video:281kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
[libx264 @ 0x3d4be40] frame I:1     Avg QP:28.06  size:155900
[libx264 @ 0x3d4be40] frame P:5     Avg QP:29.02  size: 20471
[libx264 @ 0x3d4be40] frame B:4     Avg QP:30.42  size:  7310
[libx264 @ 0x3d4be40] consecutive B-frames: 20.0% 80.0%  0.0%  0.0%
[libx264 @ 0x3d4be40] mb I  I16..4:  7.1% 76.5% 16.4%
[libx264 @ 0x3d4be40] mb P I16..4: 0.0% 1.4% 0.0% P16..4: 49.5% 6.4% 9.8% 0.0% 0.0% skip:32.8% [libx264 @ 0x3d4be40] mb B I16..4: 0.0% 0.2% 0.0% B16..8: 47.9% 0.5% 0.0% direct: 0.4% skip:50.9% L0:42.7% L1:56.8% BI: 0.4%
[libx264 @ 0x3d4be40] 8x8 transform intra:78.0% inter:88.4%
[libx264 @ 0x3d4be40] coded y,uvDC,uvAC intra: 73.7% 94.2% 77.7% inter: 9.3% 26.8% 4.8%
[libx264 @ 0x3d4be40] i16 v,h,dc,p: 12% 39% 22% 26%
[libx264 @ 0x3d4be40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 9% 20% 32% 5% 8% 5% 9% 4% 8% [libx264 @ 0x3d4be40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 22% 15% 6% 9% 6% 11% 4% 6%
[libx264 @ 0x3d4be40] i8c dc,h,v,p: 58% 14% 18% 10%
[libx264 @ 0x3d4be40] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x3d4be40] ref P L0: 64.0% 20.7% 12.3%  3.0%
[libx264 @ 0x3d4be40] ref B L0: 92.2%  7.8%
[libx264 @ 0x3d4be40] kb/s:11499.88


ffmpeg -i /mnt/ramdisk/out.264 out.y4m
ffmpeg version N-78859-g5afe918 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
configuration: --prefix=/usr --disable-doc --enable-gpl --enable-libzimg --enable-libvpx --enable-libx265 --enable-libmp3lame --enable-libx264
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 27.101 / 57. 27.101
  libavformat    57. 27.101 / 57. 27.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 38.100 /  6. 38.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, h264, from '/mnt/ramdisk/out.264':
  Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (High 4:2:2), yuv422p, 1920x1080, 50 fps, 50 tbr, 1200k tbn, 100 tbc
File 'out.y4m' already exists. Overwrite ? [y/N] y
Output #0, yuv4mpegpipe, to 'out.y4m':
  Metadata:
    encoder         : Lavf57.27.101
Stream #0:0: Video: wrapped_avframe, yuv422p, 1920x1080, q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc
    Metadata:
      encoder         : Lavc57.27.101 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Past duration 0.999992 too large
    Last message repeated 8 times
frame= 11 fps=0.0 q=-0.0 Lsize= 44550kB time=00:00:00.24 bitrate=1520643.9kbits/s dup=1 drop=0 speed=2.16x video:5kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 849738.250000%
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to