Opened 5 years ago

Closed 5 years ago

#3362 closed defect (fixed)

ffplay: video freeze after seek

Reported by: kirilldanilenko Owned by:
Priority: important Component: avformat
Version: git-master Keywords: mov h264 seek regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

How to reproduce:

ffplay media.mp4

ffmpeg version:

./ffmpeg -version
ffmpeg version N-60217-g644c32e
built on Jan 29 2014 12:54:09 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration: 
libavutil      52. 63.100 / 52. 63.100
libavcodec     55. 49.100 / 55. 49.100
libavformat    55. 28.100 / 55. 28.100
libavdevice    55.  7.100 / 55.  7.100
libavfilter     4.  1.101 /  4.  1.101
libswscale      2.  5.101 /  2.  5.101
libswresample   0. 17.104 /  0. 17.104

built on :

Ubuntu 12.04.4 LTS, gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

Brief: I faced the problem with ffplay during playback of media.mp4 (I have files to attach to this ticket). After seek video freezes, showing video frame which was before seek. Audio after seek continues to play correctly, no freeze.
ffprobe output:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
  Duration: 06:08:50.52, start: 0.000000, bitrate: 257 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 800x600 [SAR 1:1 DAR 4:3], 155 kb/s, -9.41 fps, 10 tbr, 10k tbn, 20 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 100 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

Also I tried with 2.1.3 release and 1.2, the same situation.

1) avformat_seek_file()
2) av_read_frame() << returns video frame (only 1 after seek)
3) next av_read_frame() calls returns only audio data.

ffplay on Ubuntu (with libav engine) plays that file well.

Attachments (1)

patchmovseek.diff (650 bytes) - added by cehoyos 5 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 5 years ago by kirilldanilenko

Problem file size is more than 2.5 mbyte limit. Its size is 711 mbytes.

comment:2 Changed 5 years ago by cehoyos

  • Keywords Constrained Baseline removed

To make this a valid ticket, please provide the complete, uncut console output (not random excerpts).

See http://ffmpeg.org/bugreports.html for instructions on how to upload, there is no filesize limit.

comment:3 Changed 5 years ago by kirilldanilenko

ffplay mov_h264_video_freeze_after_seek.mp4

ffplay version N-60217-g644c32e Copyright (c) 2003-2014 the FFmpeg developers
  built on Jan 29 2014 12:54:09 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: 
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.100 / 55. 49.100
  libavformat    55. 28.100 / 55. 28.100
  libavdevice    55.  7.100 / 55.  7.100
  libavfilter     4.  1.101 /  4.  1.101
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mov_h264_video_freeze_after_seek.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
  Duration: 06:08:50.52, start: 0.000000, bitrate: 257 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 800x600 [SAR 1:1 DAR 4:3], 155 kb/s, -9.41 fps, 10 tbr, 10k tbn, 20 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 100 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Seek to 39% ( 2:23:50) of total duration ( 6:08:50)       B f=0/0   
Seek to 39% ( 2:23:23) of total duration ( 6:08:50)       B f=0/0   
Seek to 63% ( 3:51:54) of total duration ( 6:08:50)       B f=0/0   
Seek to 32% ( 1:58:01) of total duration ( 6:08:50)       B f=0/0   
Seek to 19% ( 1:09:09) of total duration ( 6:08:50)       B f=0/0   
Seek to 19% ( 1:09:09) of total duration ( 6:08:50)       B f=0/0   
Seek to 62% ( 3:49:08) of total duration ( 6:08:50)       B f=0/0   
Seek to 62% ( 3:49:35) of total duration ( 6:08:50)       B f=0/0   
Seek to 62% ( 3:49:35) of total duration ( 6:08:50)       B f=0/0   
Seek to 79% ( 4:51:22) of total duration ( 6:08:50)       B f=0/0   
6007.85 A-V:    nan fd=   0 aq=15360KB vq=    0KB sq=    0B f=0/0   
Last edited 5 years ago by kirilldanilenko (previous) (diff)

comment:4 Changed 5 years ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords regression added
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open

"freeze" is imo a bad description but seeking works badly for the sample since 7432bcfe / accea4d9
I will attach a poc that allows to test the difference.

Changed 5 years ago by cehoyos

comment:5 Changed 5 years ago by cehoyos

May or may not be related to ticket #2991.

comment:6 Changed 5 years ago by kirilldanilenko

patchmovseek.diff helped. Waiting for commit.

comment:7 Changed 5 years ago by cehoyos

Eight minutes that allow to reproduce the problem uploaded to http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket3362/

comment:8 Changed 5 years ago by kirilldanilenko

hello, ffmpeg team, is any work planned on this ticket?

comment:9 Changed 5 years ago by michael

I dont seem to be able to reproduce this, is this still affecting git master ?

comment:10 Changed 5 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

Fixed by Michael in a0911b05

Note: See TracTickets for help on using tickets.