On 5 April 2016 at 16:09, Stefan Moro <[email protected]> wrote: > 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@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 >
Hi again, This definitely seems to be a bug that has appeared in some of the latest commits to FFmpeg. The command above works fine and generates the expected result in FFmpeg 3.0.1. I have not had time to pinpoint the exact commit which introduced this issue though... Regards Stefan _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
