[FFmpeg-user] Frame rate reduction issues

Stefan Moro stefan.moro at gmail.com
Tue Apr 5 16:09:26 CEST 2016


Hi guys,

After upgrading to (more or less latest) master of ffmpeg I got this error
when trying to perform frame rate reduction of a video:

root at 9462c135d114:/# ffmpeg -v debug -y -i file.mov -map 0:v:0 -filter:v
"framestep=step=2" -codec:v libx264 -f mp4 -movflags +faststart /tmp/ncdsncj
ffmpeg version N-79160-gb73c271 Copyright (c) 2000-2016 the FFmpeg
developers
  built with gcc 5.2.1 (Ubuntu 5.2.1-22ubuntu2) 20151010
  configuration: --prefix=/tmp/tmp_build_dir --pkg-config-flags=--static
--extra-cflags=-I/tmp/tmp_build_dir/include
--extra-ldflags=-L/tmp/tmp_build_dir/lib --bindir=/root/bin --enable-gpl
--enable-nonfree --enable-libx264 --enable-libsoxr --enable-libfdk-aac
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 32.100 / 57. 32.100
  libavformat    57. 29.101 / 57. 29.101
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 40.102 /  6. 40.102
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with
argument 'debug'.
Reading option '-y' ... matched as option 'y' (overwrite output files) with
argument '1'.
Reading option '-i' ... matched as input file with argument 'file.mov'.
Reading option '-map' ... matched as option 'map' (set input stream
mapping) with argument '0:v:0'.
Reading option '-filter:v' ... matched as option 'filter' (set stream
filtergraph) with argument 'framestep=step=2'.
Reading option '-codec:v' ... matched as option 'codec' (codec name) with
argument 'libx264'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'mp4'.
Reading option '-movflags' ... matched as AVOption 'movflags' with argument
'+faststart'.
Reading option '/tmp/ncdsncj' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input file file.mov.
Successfully parsed a group of options.
Opening an input file: file.mov.
[file @ 0x4065c00] Setting default whitelist 'file,crypto'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x4065500] Format mov,mp4,m4a,3gp,3g2,mj2 probed
with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x4065500] ISO: File Type Major Brand: qt
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x4065500] Unknown dref type 0x08206c7275 size 12
    Last message repeated 2 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x4065500] Before avformat_find_stream_info()
pos: 11392998 bytes read:76094 seeks:3
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x4065500] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x4065500] After avformat_find_stream_info()
pos: 6401 bytes read:108862 seeks:4 frames:3
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf56.36.100
  Duration: 00:00:10.01, start: 0.000000, bitrate: 9105 kb/s
    Stream #0:0(eng), 1, 1/30000: Video: h264 (Main), 2 reference frames
(avc1 / 0x31637661), yuv420p(tv, bt709, left), 1920x1080 (1920x1088),
1/60000, 8973 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc (default)
    Metadata:
      handler_name    : DataHandler
      encoder         : H.264
      timecode        : 00:21:42;27
    Stream #0:1(eng), 1, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D),
48000 Hz, stereo, fltp, 123 kb/s (default)
    Metadata:
      handler_name    : DataHandler
    Stream #0:2(eng), 1, 1/30000: Data: none (tmcd / 0x64636D74), 1/30, 0
kb/s
    Metadata:
      handler_name    : DataHandler
      timecode        : 00:21:42;27
Successfully opened the file.
Parsing a group of options: output file /tmp/ncdsncj.
Applying option map (set input stream mapping) with argument 0:v:0.
Applying option filter:v (set stream filtergraph) with argument
framestep=step=2.
Applying option codec:v (codec name) with argument libx264.
Applying option f (force format) with argument mp4.
Successfully parsed a group of options.
Opening an output file: /tmp/ncdsncj.
[file @ 0x406abc0] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 4 logical cores
[Parsed_framestep_0 @ 0x406a700] Setting 'step' to value '2'
[graph 0 input from stream 0:0 @ 0x406a3a0] Setting 'video_size' to value
'1920x1080'
[graph 0 input from stream 0:0 @ 0x406a3a0] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x406a3a0] Setting 'time_base' to value
'1/30000'
[graph 0 input from stream 0:0 @ 0x406a3a0] Setting 'pixel_aspect' to value
'0/1'
[graph 0 input from stream 0:0 @ 0x406a3a0] Setting 'sws_param' to value
'flags=2'
[graph 0 input from stream 0:0 @ 0x406a3a0] Setting 'frame_rate' to value
'30000/1001'
[graph 0 input from stream 0:0 @ 0x406a3a0] w:1920 h:1080 pixfmt:yuv420p
tb:1/30000 fr:30000/1001 sar:0/1 sws_param:flags=2
[format @ 0x40a6b40] compat: called with
args=[yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21]
[format @ 0x40a6b40] Setting 'pix_fmts' to value
'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21'
[AVFilterGraph @ 0x40774a0] query_formats: 4 queried, 3 merged, 0 already
done, 0 delayed
[Parsed_framestep_0 @ 0x406a700] step:2 frame_rate:30000/1001(29.970030) ->
frame_rate:15000/1001(14.985015)
[libx264 @ 0x4094960] using mv_range_thread = 88
[libx264 @ 0x4094960] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x4094960] profile High, level 4.0
[libx264 @ 0x4094960] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft
2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3
deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00
mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11
fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1
sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1
weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=14 scenecut=40
intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0
qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[mp4 @ 0x4097880] timecode: tbc=15000/1001 invalid, fallback on 15000/1001
[mp4 @ 0x4097880] Drop frame is only allowed with 30000/1001 or 60000/1001
FPS
Output #0, mp4, to '/tmp/ncdsncj':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf57.29.101
    Stream #0:0(eng), 0, 1/15000: Video: h264 (libx264), -1 reference frame
([33][0][0][0] / 0x0021), yuv420p(left), 1920x1080, 1001/15000, q=-1--1,
14.99 fps, 15k tbn, 14.99 tbc (default)
    Metadata:
      handler_name    : DataHandler
      timecode        : 00:21:42;27
      encoder         : Lavc57.32.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Could not write header for output file #0 (incorrect codec parameters ?):
Invalid argument
[AVIOContext @ 0x40a6d00] Statistics: 0 seeks, 1 writeouts
[AVIOContext @ 0x406df60] Statistics: 108862 bytes read, 4 seeks


It worked with previous versions of ffmpeg, and the error message doesn't
make much sense to me. It works on many other files with same, and
different, frame rates.

The source file can be downloaded here:
https://www.dropbox.com/s/txho2a2u62rw5uf/file.mov?dl=0

Any ideas of why this doesn't work anymore?

Regards
Stefan


More information about the ffmpeg-user mailing list