Opened 6 years ago

#1177 new defect

movie source: seek_point does not allow for accurate seeking (keyframe only)

Reported by: ls Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

The movie source does not seem to allow for accurate seeking since it locks to keyframes:

Generate sample with:

$ ffmpeg -f lavfi -i "color=white,drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSans.ttf:x=20:y=50:fontsize=50:rate=25/1:timecode='00\\:00\\:00\\:00'" -t 30 out.mp4

Test with movie source:

$ ffplay -f lavfi 'movie=out.mp4:sp=15.0'
ffplay version git-2012-04-08-069cf86 Copyright (c) 2003-2012 the FFmpeg developers
  built on Apr  8 2012 14:30:11 with gcc 4.6.1
  configuration: --prefix=/home/ls/ffmpeg --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-sram --cpu=core2 --enable-hwaccel=h264_vaapi --enable-hwaccel=mpeg2_vaapi --enable-hwaccel=mpeg4_vaapi --enable-libfaac --disable-ffserver --enable-libass --enable-libfreetype --enable-libvpx --enable-libvorbis --enable-x11grab
  libavutil      51. 45.100 / 51. 45.100
  libavcodec     54. 14.100 / 54. 14.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 67.101 /  2. 67.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 10.100 /  0. 10.100
  libpostproc    52.  0.100 / 52.  0.100
[movie @ 0xed2100] seek_point:15000000 format_name:(null) file_name:out.mp4 stream_index:0
[lavfi @ 0xe8a3a0] Estimating duration from bitrate, this may be inaccurate
Input #0, lavfi, from 'movie=out.mp4:sp=15.0':
  Duration: N/A, start: 10.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
1333893780.90 A-V:  0.000 fd=   0 aq=    0KB vq=  675KB sq=    0B f=0/0   
  10.04 A-V:  0.000 fd=   0 aq=    0KB vq=  562KB sq=    0B f=0/0   
  10.09 A-V:  0.000 fd=   0 aq=    0KB vq=  675KB sq=    0B f=0/0   
  10.13 A-V:  0.000 fd=   0 aq=    0KB vq=  675KB sq=    0B f=0/0
[...]

In this case the result is 5s off the desired seek point.

Change History (0)

Note: See TracTickets for help on using tickets.