diff options
author | Peter Große <pegro@friiks.de> | 2017-01-29 15:26:25 +0100 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2017-01-31 00:08:21 +0200 |
commit | e519dcd937c7c98815ba9884867590e302272016 (patch) | |
tree | 866d62ec88b0a8f3412ab716ab8bbd682a61eae0 /libavutil | |
parent | 1920382aa9f21d7ed1a3c2214990da8d2b067a92 (diff) | |
download | ffmpeg-e519dcd937c7c98815ba9884867590e302272016.tar.gz |
dashenc: separate segments based on current segment duration
The current implementation creates new segments comparing
pkt->pts - first_pts > nb_segs * min_seg_duration
This works fine, but if the keyframe interval is smaller than "min_seg_duration"
segments shorter than the minimum segment duration are created.
Example: keyint=50, min_seg_duration=3000000
segment 1 contains keyframe 1 (duration=2s < total_duration=3s)
and keyframe 2 (duration=4s >= total_duration=3s)
segment 2 contains keyframe 3 (duration=6s >= total_duration=6s)
segment 3 contains keyframe 4 (duration=8s < total_duration=9s)
and keyframe 5 (duration=10s >= total_duration=9s)
...
Segment 2 is only 2s long, shorter than min_seg_duration = 3s.
To fix this, new segments are created based on the actual written duration.
Otherwise the option name "min_seg_duration" is misleading.
Signed-off-by: Peter Große <pegro@friiks.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavutil')
0 files changed, 0 insertions, 0 deletions