[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