Opened 9 months ago
Closed 9 months ago
#10515 closed defect (invalid)
setpts filter does not support sendcmd even though the docs state it does
Reported by: | spacy51 | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avfilter |
Version: | 6.0 | Keywords: | setpts sendcmd |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
Summary of the bug:
After reading in the docs http://ffmpeg.org/ffmpeg-filters.html#Commands-163 "Both filters support all above options as commands." I tried controlling the setpts filter with the sendcmd filter, but it has no effect and the verbose logs explictly state "Function not implemented". Invoking "ffmpeg -h filter=setpts" also confirms, that this filter does NOT support commands.
setpts AVOptions: expr <string> ..FV....... Expression determining the frame timestamp (default "PTS")
From a short look at the source code (setpts.c https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavfilter/setpts.c#l278) I got the impression that it is actually implemented.
My command line:
ffmpeg.exe -hide_banner -v 9 -loglevel 99 -nostats -y -f rawvideo -pix_fmt bgr24 -r:v:0 1000 -s:v:0 256x256 -an -i pipe:0 -frames:v:0 10 -filter:v:0 "settb=1/10000000,sendcmd=filename='C\:/Users/andre/AppData/Local/Temp/tmp5EFC.tmp',setpts" -pix_fmt yuv420p -f matroska -codec:v:0 libx264 -preset ultrafast -tune film -g 5 -crf 23 -threads auto -fps_mode:v:0 passthrough -stats_enc_post:v:0 pipe:1 -stats_enc_post_fmt:v:0 "{n}" "out_GrayscaleGradientFullRangeBGR24.mkv"
My command file:
0.000-0.001 setpts expr 0; 0.001-0.002 setpts expr 720000; 0.002-0.003 setpts expr 1530000; 0.003-0.004 setpts expr 2300000; 0.004-0.005 setpts expr 2860000; 0.005-0.006 setpts expr 3070000; 0.006-0.007 setpts expr 3630000; 0.007-0.008 setpts expr 4530000; 0.008-0.009 setpts expr 4970000; 0.009-0.010 setpts expr 5940000;
ffmpeg log:
Splitting the commandline. Reading option '-hide_banner' ... matched as option 'hide_banner' (do not show program banner) with argument '1'. Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'. Reading option '-nostats' ... matched as option 'stats' (print progress report during encoding) with argument 0. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-f' ... matched as option 'f' (force format) with argument 'rawvideo'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'bgr24'. Reading option '-r:v:0' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '1000'. Reading option '-s:v:0' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '256x256'. Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'. Reading option '-i' ... matched as input url with argument 'pipe:0'. Reading option '-frames:v:0' ... matched as option 'frames' (set the number of frames to output) with argument '10'. Reading option '-filter:v:0' ... matched as option 'filter' (set stream filtergraph) with argument 'settb=1/10000000,sendcmd=filename='C\:/Users/andre/AppData/Local/Temp/tmp6EE4.tmp',setpts'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p'. Reading option '-f' ... matched as option 'f' (force format) with argument 'matroska'. Reading option '-codec:v:0' ... matched as option 'codec' (codec name) with argument 'libx264'. Reading option '-preset' ... matched as AVOption 'preset' with argument 'ultrafast'. Reading option '-tune' ... matched as AVOption 'tune' with argument 'film'. Reading option '-g' ... matched as AVOption 'g' with argument '5'. Reading option '-crf' ... matched as AVOption 'crf' with argument '23'. Reading option '-threads' ... matched as AVOption 'threads' with argument 'auto'. Reading option '-fps_mode:v:0' ... matched as option 'fps_mode' (set framerate mode for matching video streams; overrides vsync) with argument 'passthrough'. Reading option '-stats_enc_post:v:0' ... matched as option 'stats_enc_post' (write encoding stats after encoding) with argument 'pipe:1'. Reading option '-stats_enc_post_fmt:v:0' ... matched as option 'stats_enc_post_fmt' (format of the stats written with -stats_enc_post) with argument '{n}'. Reading option 'out_GrayscaleGradientFullRangeBGR24.mkv' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option hide_banner (do not show program banner) with argument 1. Applying option v (set logging level) with argument 9. Applying option nostats (print progress report during encoding) with argument 0. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url pipe:0. Applying option f (force format) with argument rawvideo. Applying option pix_fmt (set pixel format) with argument bgr24. Applying option r:v:0 (set frame rate (Hz value, fraction or abbreviation)) with argument 1000. Applying option s:v:0 (set frame size (WxH or abbreviation)) with argument 256x256. Applying option an (disable audio) with argument 1. Successfully parsed a group of options. Opening an input file: pipe:0. [rawvideo @ 000001154aa3cf00] Opening 'pipe:0' for reading [pipe @ 000001154aa3db00] Setting default whitelist 'crypto,data' [rawvideo @ 000001154aa3cf00] Before avformat_find_stream_info() pos: 0 bytes read:65536 seeks:0 nb_streams:1 [rawvideo @ 000001154aa3cf00] stream 0: start_time: 0 duration: NOPTS [rawvideo @ 000001154aa3cf00] format: start_time: 0 duration: NOPTS (estimate from bit rate) bitrate=1572864 kb/s [rawvideo @ 000001154aa3cf00] After avformat_find_stream_info() pos: 1966080 bytes read:1966080 seeks:0 frames:10 Input #0, rawvideo, from 'pipe:0': Duration: N/A, start: 0.000000, bitrate: 1572864 kb/s Stream #0:0, 10, 1/1000: Video: rawvideo, 1 reference frame (BGR[24] / 0x18524742), bgr24, 256x256, 0/1, 1572864 kb/s, 1k tbr, 1k tbn Successfully opened the file. Parsing a group of options: output url out_GrayscaleGradientFullRangeBGR24.mkv. Applying option frames:v:0 (set the number of frames to output) with argument 10. Applying option filter:v:0 (set stream filtergraph) with argument settb=1/10000000,sendcmd=filename='C\:/Users/andre/AppData/Local/Temp/tmp6EE4.tmp',setpts. Applying option pix_fmt (set pixel format) with argument yuv420p. Applying option f (force format) with argument matroska. Applying option codec:v:0 (codec name) with argument libx264. Applying option fps_mode:v:0 (set framerate mode for matching video streams; overrides vsync) with argument passthrough. Applying option stats_enc_post:v:0 (write encoding stats after encoding) with argument pipe:1. Applying option stats_enc_post_fmt:v:0 (format of the stats written with -stats_enc_post) with argument {n}. Successfully parsed a group of options. Opening an output file: out_GrayscaleGradientFullRangeBGR24.mkv. [pipe @ 000001154aa3d2c0] Setting default whitelist 'crypto,data' [file @ 000001154aab7700] Setting default whitelist 'file,crypto,data' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264)) [vost#0:0/libx264 @ 000001154aab6100] cur_dts is invalid [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [AVFilterGraph @ 000001154aa3c400] Setting 'expr' to value '1/10000000' [AVFilterGraph @ 000001154aa3c400] Setting 'filename' to value 'C:/Users/andre/AppData/Local/Temp/tmp6EE4.tmp' detected 16 logical cores [Parsed_sendcmd_1 @ 000001154acb0b00] Parsed commands: [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.000000 end_time:0.001000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:0 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.001000 end_time:0.002000 index:1 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:720000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.002000 end_time:0.003000 index:2 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:1530000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.003000 end_time:0.004000 index:3 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:2300000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.004000 end_time:0.005000 index:4 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:2860000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.005000 end_time:0.006000 index:5 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:3070000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.006000 end_time:0.007000 index:6 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:3630000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.007000 end_time:0.008000 index:7 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:4530000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.008000 end_time:0.009000 index:8 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:4970000 index:0 [Parsed_sendcmd_1 @ 000001154acb0b00] start_time:0.009000 end_time:0.010000 index:9 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter] target:setpts command:expr arg:5940000 index:0 [graph 0 input from stream 0:0 @ 000001154acb0fc0] Setting 'video_size' to value '256x256' [graph 0 input from stream 0:0 @ 000001154acb0fc0] Setting 'pix_fmt' to value '3' [graph 0 input from stream 0:0 @ 000001154acb0fc0] Setting 'time_base' to value '1/1000' [graph 0 input from stream 0:0 @ 000001154acb0fc0] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 0:0 @ 000001154acb0fc0] Setting 'frame_rate' to value '1000/1' [graph 0 input from stream 0:0 @ 000001154acb0fc0] w:256 h:256 pixfmt:bgr24 tb:1/1000 fr:1000/1 sar:0/1 [format @ 000001154acb7e40] Setting 'pix_fmts' to value 'yuv420p' [auto_scale_0 @ 000001154acb82c0] w:iw h:ih flags:'' interl:0 [format @ 000001154acb7e40] auto-inserting filter 'auto_scale_0' between the filter 'Parsed_setpts_2' and the filter 'format' [AVFilterGraph @ 000001154aa3c400] query_formats: 6 queried, 5 merged, 1 already done, 0 delayed [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 -> tb:1/10000000 [Parsed_sendcmd_1 @ 000001154acb0b00] TB:0.000000 FRAME_RATE:1000.000000 SAMPLE_RATE:nan [auto_scale_0 @ 000001154acb82c0] w:256 h:256 fmt:bgr24 sar:0/1 -> w:256 h:256 fmt:yuv420p sar:0/1 flags:0x00000004 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:0 -> tb:1/10000000 pts:0 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #0 start_ts:0.000000 end_ts:0.001000 ts:0.000000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:0 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:0 PTS:0 T:0.000000 POS:0 INTERLACED:0 -> PTS:0 T:0.000000 [libx264 @ 000001154aab6400] using mv_range_thread = 24 [libx264 @ 000001154aab6400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 000001154aab6400] profile Constrained Baseline, level 4.2, 4:2:0, 8-bit [libx264 @ 000001154aab6400] 264 - core 164 r3106 eaa68fa - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:-1:-1 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.15 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=8 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=5 keyint_min=1 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0 [matroska @ 000001154aab5380] get_metadata_duration returned: 0 Output #0, matroska, to 'out_GrayscaleGradientFullRangeBGR24.mkv': Metadata: encoder : Lavf60.3.100 Stream #0:0, 0, 1/1000: Video: h264, 1 reference frame (H264 / 0x34363248), yuv420p(tv, progressive), 256x256 (0x0), 0/1, q=2-31, 1k fps, 1k tbn Metadata: encoder : Lavc60.3.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:1 -> tb:1/10000000 pts:10000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #0 start_ts:0.000000 end_ts:0.001000 ts:0.001000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #1 start_ts:0.001000 end_ts:0.002000 ts:0.001000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:720000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:1 PTS:10000 T:0.001000 POS:196608 INTERLACED:0 -> PTS:10000 T:0.001000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:2 -> tb:1/10000000 pts:20000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #1 start_ts:0.001000 end_ts:0.002000 ts:0.002000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #2 start_ts:0.002000 end_ts:0.003000 ts:0.002000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:1530000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:2 PTS:20000 T:0.002000 POS:393216 INTERLACED:0 -> PTS:20000 T:0.002000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:3 -> tb:1/10000000 pts:30000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #2 start_ts:0.002000 end_ts:0.003000 ts:0.003000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #3 start_ts:0.003000 end_ts:0.004000 ts:0.003000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:2300000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:3 PTS:30000 T:0.003000 POS:589824 INTERLACED:0 -> PTS:30000 T:0.003000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:4 -> tb:1/10000000 pts:40000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #3 start_ts:0.003000 end_ts:0.004000 ts:0.004000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #4 start_ts:0.004000 end_ts:0.005000 ts:0.004000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:2860000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:4 PTS:40000 T:0.004000 POS:786432 INTERLACED:0 -> PTS:40000 T:0.004000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:5 -> tb:1/10000000 pts:50000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #4 start_ts:0.004000 end_ts:0.005000 ts:0.005000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #5 start_ts:0.005000 end_ts:0.006000 ts:0.005000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:3070000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:5 PTS:50000 T:0.005000 POS:983040 INTERLACED:0 -> PTS:50000 T:0.005000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:6 -> tb:1/10000000 pts:60000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #5 start_ts:0.005000 end_ts:0.006000 ts:0.006000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #6 start_ts:0.006000 end_ts:0.007000 ts:0.006000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:3630000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:6 PTS:60000 T:0.006000 POS:1179648 INTERLACED:0 -> PTS:60000 T:0.006000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:7 -> tb:1/10000000 pts:70000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #6 start_ts:0.006000 end_ts:0.007000 ts:0.007000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #7 start_ts:0.007000 end_ts:0.008000 ts:0.007000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:4530000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:7 PTS:70000 T:0.007000 POS:1376256 INTERLACED:0 -> PTS:70000 T:0.007000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:8 -> tb:1/10000000 pts:80000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #7 start_ts:0.007000 end_ts:0.008000 ts:0.008000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #8 start_ts:0.008000 end_ts:0.009000 ts:0.008000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:4970000 EOF in input file 0 Terminating demuxer thread 0 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:8 PTS:80000 T:0.008000 POS:1572864 INTERLACED:0 -> PTS:80000 T:0.008000 [rawvideo @ 000001154aab4e80] PACKET SIZE: 196608, STRIDE: 768 [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:9 -> tb:1/10000000 pts:90000 [Parsed_sendcmd_1 @ 000001154acb0b00] [leave] interval #8 start_ts:0.008000 end_ts:0.009000 ts:0.009000 [Parsed_sendcmd_1 @ 000001154acb0b00] [enter+expr] interval #9 start_ts:0.009000 end_ts:0.010000 ts:0.009000 [Parsed_sendcmd_1 @ 000001154acb0b00] Processing command #0 target:setpts command:expr arg:5940000 [Parsed_sendcmd_1 @ 000001154acb0b00] Command reply for command #0: ret:Function not implemented res: [Parsed_setpts_2 @ 000001154acb0c00] N:9 PTS:90000 T:0.009000 POS:1769472 INTERLACED:0 -> PTS:90000 T:0.009000 [libx264 @ 000001154aab6400] frame= 0 QP=20.00 NAL=3 Slice:I Poc:0 I:256 P:0 SKIP:0 size=846 bytes [libx264 @ 000001154aab6400] frame= 1 QP=23.00 NAL=2 Slice:P Poc:2 I:0 P:0 SKIP:256 size=10 bytes [libx264 @ 000001154aab6400] frame= 2 QP=21.00 NAL=2 Slice:P Poc:4 I:0 P:2 SKIP:254 size=16 bytes [matroska @ 000001154aab5380] Starting new cluster with timestamp 0 at offset 557 bytes [matroska @ 000001154aab5380] Writing block of size 1444 with pts 0, dts 0, duration 1 at relative offset 9 in cluster at offset 557. TrackNumber 1, keyframe 1 [libx264 @ 000001154aab6400] frame= 3 QP=19.00 NAL=2 Slice:P Poc:6 I:0 P:9 SKIP:247 size=30 bytes [matroska @ 000001154aab5380] Writing block of size 10 with pts 1, dts 1, duration 1 at relative offset 1461 in cluster at offset 557. TrackNumber 1, keyframe 0 [libx264 @ 000001154aab6400] frame= 4 QP=18.00 NAL=2 Slice:P Poc:8 I:0 P:1 SKIP:255 size=13 bytes [matroska @ 000001154aab5380] Writing block of size 16 with pts 2, dts 2, duration 1 at relative offset 1477 in cluster at offset 557. TrackNumber 1, keyframe 0 [libx264 @ 000001154aab6400] frame= 5 QP=18.00 NAL=3 Slice:I Poc:0 I:256 P:0 SKIP:0 size=1018 bytes [matroska @ 000001154aab5380] Writing block of size 30 with pts 3, dts 3, duration 1 at relative offset 1499 in cluster at offset 557. TrackNumber 1, keyframe 0 [libx264 @ 000001154aab6400] frame= 6 QP=23.00 NAL=2 Slice:P Poc:2 I:0 P:0 SKIP:256 size=10 bytes [matroska @ 000001154aab5380] Writing block of size 13 with pts 4, dts 4, duration 1 at relative offset 1535 in cluster at offset 557. TrackNumber 1, keyframe 0 [matroska @ 000001154aab5380] Writing block of size 1018 with pts 5, dts 5, duration 1 at relative offset 1554 in cluster at offset 557. TrackNumber 1, keyframe 1 [matroska @ 000001154aab5380] Writing block of size 10 with pts 6, dts 6, duration 1 at relative offset 2579 in cluster at offset 557. TrackNumber 1, keyframe 0 [libx264 @ 000001154aab6400] frame= 7 QP=21.00 NAL=2 Slice:P Poc:4 I:0 P:0 SKIP:256 size=10 bytes [libx264 @ 000001154aab6400] frame= 8 QP=19.00 NAL=2 Slice:P Poc:6 I:0 P:3 SKIP:253 size=19 bytes [matroska @ 000001154aab5380] Writing block of size 10 with pts 7, dts 7, duration 1 at relative offset 2595 in cluster at offset 557. TrackNumber 1, keyframe 0 [matroska @ 000001154aab5380] Writing block of size 19 with pts 8, dts 8, duration 1 at relative offset 2611 in cluster at offset 557. TrackNumber 1, keyframe 0 [libx264 @ 000001154aab6400] frame= 9 QP=18.00 NAL=2 Slice:P Poc:8 I:0 P:4 SKIP:252 size=20 bytes No more output streams to write to, finishing. [Parsed_settb_0 @ 0000011549178a00] tb:1/1000 pts:9 -> tb:1/10000000 pts:90000 [matroska @ 000001154aab5380] Writing block of size 20 with pts 9, dts 9, duration 1 at relative offset 2636 in cluster at offset 557. TrackNumber 1, keyframe 0 [Parsed_setpts_2 @ 000001154acb0c00] N:EOF PTS:90000 T:0.009000 POS:nan -> PTS:90000 T:0.009000 [out#0/matroska @ 000001154aa3c4c0] All streams finished [out#0/matroska @ 000001154aa3c4c0] Terminating muxer thread [matroska @ 000001154aab5380] end duration = 10 [matroska @ 000001154aab5380] stream 0 end duration = 10 [AVIOContext @ 000001154aab7880] Statistics: 3271 bytes written, 0 seeks, 1 writeouts frame= 10 fps=0.0 q=-1.0 Lsize= 3kB time=00:00:00.00 bitrate=2907.6kbits/s speed=0.055x video:3kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 26.293436% Input file #0 (pipe:0): Input stream #0:0 (video): 10 packets read (1966080 bytes); 10 frames decoded; Total: 10 packets (1966080 bytes) demuxed Output file #0 (out_GrayscaleGradientFullRangeBGR24.mkv): Output stream #0:0 (video): 10 frames encoded; 10 packets muxed (2590 bytes); Total: 10 packets (2590 bytes) muxed 10 frames successfully decoded, 0 decoding errors [libx264 @ 000001154aab6400] frame I:2 Avg QP:19.00 size: 932 [libx264 @ 000001154aab6400] frame P:8 Avg QP:20.25 size: 16 [libx264 @ 000001154aab6400] mb I I16..4: 100.0% 0.0% 0.0% [libx264 @ 000001154aab6400] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.9% 0.0% 0.0% 0.0% 0.0% skip:99.1% [libx264 @ 000001154aab6400] coded y,uvDC,uvAC intra: 6.2% 28.1% 10.2% inter: 0.0% 0.8% 0.0% [libx264 @ 000001154aab6400] i16 v,h,dc,p: 38% 45% 8% 9% [libx264 @ 000001154aab6400] i8c dc,h,v,p: 35% 44% 17% 4% [libx264 @ 000001154aab6400] kb/s:1593.60 [AVIOContext @ 000001154aa3e500] Statistics: 1966080 bytes read, 0 seeks [AVIOContext @ 000001154aab7140] Statistics: 20 bytes written, 0 seeks, 10 writeouts
Change History (3)
comment:1 by , 9 months ago
comment:2 by , 9 months ago
Description: | modified (diff) |
---|
comment:3 by , 9 months ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Using not latest ffmpeg version. This was added in 14. May of 2023.
My previous attempt for explicitly setting the timestamp for each frame was to use setpts directly with a big if/else expression (one line per frame), but this failed when the video had around 50 frames or more:
Is there really no way to explicitly set the timestamps for each frame? I can not use a simple expression for setpts because I need support for variable frame rate.