#1425 closed defect (fixed)
Clips generated by ffmpeg using segment muxer are not correctly played on some videoplayers
Reported by: | Hector | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | segment mov |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | yes |
Description
What I am trying to do:
I am trying to record a video stream from an IP camera (Axis 210). I am using segment to split the output in 5 second chunks and generate a playing list.
I would like to be able to play the videos on the playlist one after the other seamlessly.
And/or be able to reproduce each one of the segment clips as an standalone movie.
What happens:
During the recording there appears to be no problem, and the clips are generated without a problem.
If I open the playlist on VLC the first clip plays smoothly. Then I have 5 seconds where VLC counter is working, but no video is played, then the second clip is played (while the time counter goes up to something like 10/5). Then 10 seconds pause, and increasing for every clip.
It also happens when playing each of the clips separatedly.
On VLC each one will have a "no video" time equal to the added length of all preceding files (equal to the "start" time), first plays ok, 5 seconds before the start of video for the second, 10 for the third...
MPlayer OSX Extended plays the videos correctly, but the time line below the image is not correct. It indicates playing time starting on "start" (5 to 10 seconds on de second clip, ...) but if I try to move the video using the handle it tries to play the first 5 seconds (therefore restarting the clip).
Gnome MPlayer plays everything as I would like it (as if those were standalone movies of 5 second length).
Totem on Ubuntu plays it ok as well.
Quicktime opens and plays the first clip smoothly.
The rest of the clips, Quicktime opens them without any problem nor error message, but presenting a black screen. If I click play it plays a black screen as if everything was normal, for the duration of the clip (more or less 5 seconds in my test). Then it stops.
On the second clip a few frames may appear at the end (the length of the clip is 5 seconds, the start time of the stream is a little before than the end).
Ticket #910 (closed as invalid) might be related.
The command:
% ffmpeg -v 9 -loglevel 99 -report \ -i "rtsp://192.168.1.222/mpeg4/1/media.amp" \ -map 0 \ -vcodec mpeg4 \ -t 60 -f segment \ -segment_time 5 -segment_format mp4 \ -segment_list testsegmentedmp4.m3u8 -segment_list_size 30 \ testsegmentstartdelay%03d.mp4
Tested with current git head N-41352-gc8a1101:
ffmpeg version N-41352-gc8a1101 Copyright (c) 2000-2012 the FFmpeg developers built on Jun 6 2012 09:34:33 with gcc 4.6.1 configuration: --enable-gpl --enable-libx264 --enable-x11grab libavutil 51. 56.100 / 51. 56.100 libavcodec 54. 25.100 / 54. 25.100 libavformat 54. 6.101 / 54. 6.101 libavdevice 54. 0.100 / 54. 0.100 libavfilter 2. 78.100 / 2. 78.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100
The output: please see attached ffmpeg log (ffmpeg-20120606-100145.log generated by -report).
Attachments (3)
Change History (14)
by , 13 years ago
Attachment: | ffmpeg-20120606-100145.log added |
---|
follow-up: 2 comment:1 by , 13 years ago
Analyzed by developer: | set |
---|---|
Resolution: | → invalid |
Status: | new → closed |
Please note that the generated playlist file is not an M3U8 file, so you can't expect players to play it like it was.
In order to generate an M3U8 playlist file you can use a script, or check ticket #1642 for which a patchset has been already posted.
follow-up: 6 comment:2 by , 13 years ago
Replying to saste:
Please note that the generated playlist file is not an M3U8 file, so you can't expect players to play it like it was.
In order to generate an M3U8 playlist file you can use a script, or check ticket #1642 for which a patchset has been already posted.
First of all, thanks for your time.
I'd like to note that if I try to open a segment directly, not using the malformed playlist file, it also plays incorrectly.
Lets suppose you are only interested on reviewing the fifth segment and you open it with any of the players I stated above, you will have 20 seconds of nothing before the clip starts to play, best case scenario, and in Quicktime case 5 seconds of black screen and then nothing. (assuming the clips were of five seconds each).
I would ask, please, that you reopen the ticket, for the list format is only affecting this issue obliquely.
follow-up: 4 comment:3 by , 12 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
I'm experiencing the same problem, note that the playback of all but the first segments is blank when trying to open the file directly, not through the 'playlist'.
comment:4 by , 12 years ago
Replying to fesago90:
I'm experiencing the same problem, note that the playback of all but the first segments is blank when trying to open the file directly, not through the 'playlist'.
This is expected (depending on the player), since the files won't start at 0. Anwyay I'll see if a "reset-timestamps" option can be easily added.
comment:5 by , 12 years ago
Keywords: | mov added; mp4 removed |
---|
follow-up: 7 comment:6 by , 12 years ago
Replying to knovz:
Replying to saste:
[...]
I'd like to note that if I try to open a segment directly, not using the malformed playlist file, it also plays incorrectly.
Lets suppose you are only interested on reviewing the fifth segment and you open it with any of the players I stated above, you will have 20 seconds of nothing before the clip starts to play, best case scenario, and in Quicktime case 5 seconds of black screen and then nothing. (assuming the clips were of five seconds each).
I would ask, please, that you reopen the ticket, for the list format is only affecting this issue obliquely.
Please check the attached patch, and specify the option -reset_timestamps 1.
by , 12 years ago
Attachment: | 0001-lavf-segment-add-reset_timestamps-option.patch added |
---|
Patch which adds the reset_timestamps segment option
follow-up: 8 comment:7 by , 12 years ago
Replying to saste:
Replying to knovz:
Replying to saste:
[...]
I'd like to note that if I try to open a segment directly, not using the malformed playlist file, it also plays incorrectly.
Lets suppose you are only interested on reviewing the fifth segment and you open it with any of the players I stated above, you will have 20 seconds of nothing before the clip starts to play, best case scenario, and in Quicktime case 5 seconds of black screen and then nothing. (assuming the clips were of five seconds each).
I would ask, please, that you reopen the ticket, for the list format is only affecting this issue obliquely.
Please check the attached patch, and specify the option -reset_timestamps 1.
Works perfect for me (I did the same original tests, with the current git head applying the patch).
Thank you.
follow-up: 11 comment:8 by , 12 years ago
Replying to knovz:
[...]
Please check the attached patch, and specify the option -reset_timestamps 1.
Works perfect for me (I did the same original tests, with the current git head applying the patch).
Thank you.
I updated the patch, now it's simpler and should avoid potential desynch problems, will push in a few days. Please confirm that this one is working as expected, thank you.
by , 12 years ago
Attachment: | 0002-lavf-segment-add-reset_timestamps-option.patch added |
---|
comment:9 by , 12 years ago
I'm having the same issue and it is very annoying, I will try the attached patch, thank you!
EDIT: Patch is working beautifully, thank you!
comment:10 by , 12 years ago
Component: | FFmpeg → avformat |
---|---|
Resolution: | → fixed |
Status: | reopened → closed |
Should be fixed in:
commit 8e9056559e11cd708c68bf8a50ab1c13395ae9b0 Author: Stefano Sabatini <stefasab@gmail.com> Date: Thu Nov 29 13:45:50 2012 +0100 lavf/segment: add reset_timestamps option The new options reset the timestamps at each new segment, so that the generated segments will have timestamps starting close to 0. It is meant to address trac ticket #1425.
comment:11 by , 12 years ago
Replying to saste:
Replying to knovz:
[...]
Please check the attached patch, and specify the option -reset_timestamps 1.
Works perfect for me (I did the same original tests, with the current git head applying the patch).
Thank you.
I updated the patch, now it's simpler and should avoid potential desynch problems, will push in a few days. Please confirm that this one is working as expected, thank you.
Sorry for the delay. It works like a charm. Thank you!
ffmpeg log generated by -report