[FFmpeg-user] missing a selected frame

Ulf Zibis Ulf.Zibis at gmx.de
Fri Jul 19 01:21:53 EEST 2019


Hi,

my command is:
./ffmpeg -y -v warning -i debug/CYD_1.5m_x264.mp4 -vf
select='eq(t\,10.16)+eq(t\,10.2)+eq(t\,10.24)+eq(t\,10.28)+eq(t\,10.32)+eq(t\,10.36)+eq(t\,10.4)+eq(t\,10.44)+eq(t\,17.52)+eq(t\,47.96)+eq(t\,49.08)+eq(t\,49.2)+eq(t\,55.72)+eq(t\,83.0)'
-q 5 -c:a copy -vsync vfr debug/outsides/CYD_1.5m_x264_%02d.png
It should select 14 frames and output them to individual PNG pictures,
but the 2nd frame is missing, so I get only 13 PNG.

If I use eq(pts\,130560) instead eq(t\,10.2) for the 2nd frame it works
and I get 14 PNG as expected.

Because of that irregularity I'm not sure, if I get the correct frames
at all.

The numbers I get from my filter which outputs:
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    254, pts: 
130048, time:   0:10.16  - optimal shift in line 571 against 570 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    254, pts: 
130048, time:   0:10.16  - optimal shift in line 573 against 572 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    255, pts: 
130560, time:   0:10.2   - optimal shift in line 570 against 569 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    255, pts: 
130560, time:   0:10.2   - optimal shift in line 572 against 571 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    256, pts: 
131072, time:   0:10.24  - optimal shift in line 573 against 572 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    257, pts: 
131584, time:   0:10.28  - optimal shift in line 570 against 569 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    257, pts: 
131584, time:   0:10.28  - optimal shift in line 572 against 571 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    258, pts: 
132096, time:   0:10.32  - optimal shift in line 570 against 569 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    258, pts: 
132096, time:   0:10.32  - optimal shift in line 572 against 571 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    259, pts: 
132608, time:   0:10.36  - optimal shift in line 568 against 567 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    259, pts: 
132608, time:   0:10.36  - optimal shift in line 570 against 569 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    259, pts: 
132608, time:   0:10.36  - optimal shift in line 572 against 571 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    260, pts: 
133120, time:   0:10.4   - optimal shift in line 570 against 569 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    260, pts: 
133120, time:   0:10.4   - optimal shift in line 572 against 571 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    261, pts: 
133632, time:   0:10.44  - optimal shift in line 570 against 569 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    438, pts: 
224256, time:   0:17.52  - optimal shift in line 572 against 571 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:    438, pts: 
224256, time:   0:17.52  - optimal shift in line 573 against 572 seems
outside of span (-60 - 60), was:   60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:   1199, pts: 
613888, time:   0:47.96  - optimal shift in line 569 against 568 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:   1227, pts: 
628224, time:   0:49.08  - optimal shift in line 569 against 568 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:   1230, pts: 
629760, time:   0:49.2   - optimal shift in line 570 against 569 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:   1393, pts: 
713216, time:   0:55.72  - optimal shift in line 569 against 568 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] frame:   2075, pts:
1062400, time:   1:23     - optimal shift in line 568 against 567 seems
outside of span (-60 - 60), was:  -60
[Parsed_lineshiftrecover_0 @ 0x55798cbf8f80] statistic of done shifts ...

Omitting the duplicates, these are 14 frames.

The code snippet (in a loop) is:
    char *ptsstr = av_ts2str(frame->pts);
    char *minutestr = av_ts2minutestr(frame->pts, &inlink->time_base);
                av_log(ctx, AV_LOG_WARNING,
                        "frame: %6ld, pts: %7s, time: %-10s - optimal
shift in line %d against %d seems outside of span (%d - %d), was: %4d\n",
                        inlink->frame_count_out, ptsstr, minutestr, y, y
- inc, s->span_l, s->span_r, shifts[l]);

-Ulf

--
Von meinem Seibert gesendet



More information about the ffmpeg-user mailing list