#7 closed defect (fixed)
seeking back to beginning of file sometimes fails badly
Reported by: | Francesco Pretto | Owned by: | Michael Niedermayer |
---|---|---|---|
Priority: | normal | Component: | ffplay |
Version: | git-master | Keywords: | seek |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Hello, I have a bunch of DV videos in avi containers. They play fine in Windows Media Player or Quicktime, apparently with no errors/warnings. ffplay (linux or Windows) instead fails in:
- seeking at any position;
- determining video end.
What I'm trying to do for now is just playing them with ffplay <filename>.
The ffplay output is:
Input #0, avi, from 'dvvideo-seek-end-detection-problems.avi':
Duration: 00:00:10.96, start: 0.000000, bitrate: 30336 kb/s
Stream #0.0, 1, 1/25: Video: dvvideo, yuv420p, 720x576, 1/25, 28800 kb/s, PAR 59:54 DAR 295:216, 25 tbr, 25 tbn, 25 tbc
Stream #0.1, 1, 1/30000: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
The error while seeking, even with -loglevel debug, is just "error while seeking" and seems to not work at all. After 10 seconds the video stream is clearly ended but the playback seems to continue indefinitely with no errors. Again, no problems with WMP or Quicktime.
I have uploaded one to a safe area with direct link [1]. It's ~40mb for 10 secs playback.
[1] http://robotics.dei.unipd.it/~fpretto/dvvideo-seek-end-detection-problems.avi
It follows "ffplay" output with no arguments.
FFplay version 0.6-4:0.6-2ubuntu6, Copyright (c) 2003-2010 the FFmpeg developers
built on Oct 5 2010 22:36:53 with gcc 4.4.5
configuration: --extra-version=4:0.6-2ubuntu6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-vaapi --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
Change History (7)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
I tried other videos and they all results in the playback time still incrementing even after the video stream is ended. Unsure if this is supposed to be correct or not in ffplay, anyway there doesn't seems to be any problem in core ffmpeg libraries. Please set this bug as invalid. Sorry to have disturbed you, as told was really confused by problems in other software.
comment:3 by , 14 years ago
Component: | avcodec → FFplay |
---|---|
Keywords: | dvvideo seek end removed |
Reproduced by developer: | set |
Status: | new → open |
Summary: | dvvideo seek/end detection problems → seeking back to beginning of file sometimes fails badly |
Note that there is a problem that was reported before (issue 1730) and is also reproducible with your sample:
If you play with ffplay, and immediately seek back, instead of seeking to the beginning, the "error while seeking" message is shown (and later on, if the sample were longer, playback gets corrupted / starts to loop seemingly randomly).
comment:4 by , 13 years ago
Not directly related to ffplay, but what I find in my own app, is on a file by file basis seeking to start (rewind) does not work consistently and sometimes badly. Audio can be out of sync etc. Some file formats work well and some not. Sometimes a seek by byte just fails to seek on some files. Sometimes seek by frame works and sometimes not. So you get the picture. I have not taken the time to identify all this here yet as I need to get back to the seek issues in general.
The only way I have gotten this to work for all files is to do a parital shutdown of ffmpeg related file handling and restart. Fortunately, my seamless loops still look seamless when doing this on a relatively slow machine.
The easiest possible seek should be a rewind type and even if you had to specialize this it might be helpful. The real answer of course is to revisit seeking all together.
comment:5 by , 13 years ago
Keywords: | seek added |
---|---|
Version: | → git-master |
comment:6 by , 13 years ago
Resolution: | → worksforme |
---|---|
Status: | open → closed |
I cant reproduce any problem with seeking in this dv file with the current ffmpeg git. also to exit on end theres -autoexit
comment:7 by , 13 years ago
Resolution: | worksforme → fixed |
---|
My bad: the time increment for left or right keys was 10 seconds, and for 10 seconds videos this results in the not very helpufl "error while seeking" but seek was ok. I was confused by problems in other project (libvlc) using ffmpeg as backend, sorry. I supposed you can close as Invalid, but in the mean time I'm trying to understand if ending detection is really faulty or not.