On Fri, Sep 8, 2017 at 3:40 PM, Nicolas George <[email protected]> wrote:
> No, it does not work that way without copyts: without copyts, the
> timestamps always start at 0.
>
There are two issues: a) how to interpret input frame seek point, and b)
what happens to timestamps of selected frames.
Illustration
---------------
Generate source
ffmpeg -f lavfi -i testsrc2 -t 2 -output_ts_offset 1 src.mp4
As per ffprobe, this gives a file with
Duration: 00:00:02.00, start: 1.000000, bitrate: 277 kb/s
Running
ffmpeg -seek_timestamp 1 -ss 2 -i src.mp4 ss-seekts2.mp4
produces, as per ffprobe,
Duration: 00:00:01.00, start: 0.000000, bitrate: 276 kb/s
The frames in output were taken from TS 2 to 3 of src.mp4, testsrc2 frame
counter in first frame says '25'. TS in output is reset to 0 start. As
expected.
Running
ffmpeg -seek_timestamp 1 -copyts -ss 2 -i src.mp4
copyts-seekts-ss2.mp4
produces an empty file. It's the same command as above, but with copyts
added.
Running
ffmpeg -seek_timestamp 1 -copyts -ss 1 -i src.mp4
copyts-seekts-ss1.mp4
produces a file, reported as,
Duration: 00:00:01.00, start: 2.000000, bitrate: 276 kb/s
whose video contents correspond to TS 2 to 3 of src.mp4, (frame counter
25). 'ss' acts as relative offset, and is apparently immune to
seek_timestamp. Source timestamps are copied over to output.
_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".