awslabs / awslabs/amazon-kinesis-client-nodejs

listFragments return different FragmentLengthInMilliseconds then EXTINF

Open
#117 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
304
Forks
198
Avg merge
36m
Merged PRs (30d)
2

Description

I'm trying to calculate my stream duration by using the `list fragments` API and then sum the `FragmentLengthInMilliseconds` for all the return fragments, however, the `FragmentLengthInMilliseconds` in the returned result is not the same as the time duration I get in the `M3U` file of the video, for example, the list of fragment I get for the following time range (Using `PRODUCER_TIMESTAMP` in both cases):
```
TimestampRange: {
"StartTimestamp": "2022-01-28T07:00:35.000Z",
"EndTimestamp": "2022-01-28T07:01:34.000Z"
}
```

List of sorted fragments by ProducerTimestamp:

```
[
{
FragmentNumber: '91343852333185057105875891022195998207386831087',
FragmentSizeInBytes: 788604,
ProducerTimestamp: 2022-01-28T07:00:35.931Z,
ServerTimestamp: 2022-01-28T07:00:47.067Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057110827651179337519666762451998',
FragmentSizeInBytes: 868779,
ProducerTimestamp: 2022-01-28T07:00:37.787Z,
ServerTimestamp: 2022-01-28T07:00:48.407Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057115779411336479041184133649199',
FragmentSizeInBytes: 820392,
ProducerTimestamp: 2022-01-28T07:00:39.643Z,
ServerTimestamp: 2022-01-28T07:00:49.963Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057120731171493620562686992995215',
FragmentSizeInBytes: 847071,
ProducerTimestamp: 2022-01-28T07:00:41.499Z,
ServerTimestamp: 2022-01-28T07:00:51.466Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057125682931650762084177611210926',
FragmentSizeInBytes: 763593,
ProducerTimestamp: 2022-01-28T07:00:43.355Z,
ServerTimestamp: 2022-01-28T07:00:52.922Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057130634691807903605621447927987',
FragmentSizeInBytes: 835200,
ProducerTimestamp: 2022-01-28T07:00:45.211Z,
ServerTimestamp: 2022-01-28T07:00:54.205Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057135586451965045127000030563099',
FragmentSizeInBytes: 906677,
ProducerTimestamp: 2022-01-28T07:00:47.071Z,
ServerTimestamp: 2022-01-28T07:00:55.244Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057140538212122186648471533739708',
FragmentSizeInBytes: 685842,
ProducerTimestamp: 2022-01-28T07:00:48.927Z,
ServerTimestamp: 2022-01-28T07:00:56.629Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057145489972279328169811940549220',
FragmentSizeInBytes: 751127,
ProducerTimestamp: 2022-01-28T07:00:50.783Z,
ServerTimestamp: 2022-01-28T07:00:57.527Z,
FragmentLengthInMilliseconds: 1791
},
{
FragmentNumber: '91343852333185057150441732436469691175863905321',
FragmentSizeInBytes: 733375,
ProducerTimestamp: 2022-01-28T07:00:52.638Z,
ServerTimestamp: 2022-01-28T07:00:58.511Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057155393492593611212512597876737',
FragmentSizeInBytes: 719137,
ProducerTimestamp: 2022-01-28T07:00:54.494Z,
ServerTimestamp: 2022-01-28T07:00:59.395Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057160345252750752733848109724600',
FragmentSizeInBytes: 704671,
ProducerTimestamp: 2022-01-28T07:00:56.350Z,
ServerTimestamp: 2022-01-28T07:01:00.274Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057165297012907894255185015258598',
FragmentSizeInBytes: 726122,
ProducerTimestamp: 2022-01-28T07:00:58.206Z,
ServerTimestamp: 2022-01-28T07:01:01.158Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057170248773065035776518554640603',
FragmentSizeInBytes: 781660,
ProducerTimestamp: 2022-01-28T07:01:00.062Z,
ServerTimestamp: 2022-01-28T07:01:02.029Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057175200533222177297851537695855',
FragmentSizeInBytes: 670833,
ProducerTimestamp: 2022-01-28T07:01:01.918Z,
ServerTimestamp: 2022-01-28T07:01:02.899Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057180152293379318819121358297568',
FragmentSizeInBytes: 756430,
ProducerTimestamp: 2022-01-28T07:01:03.774Z,
ServerTimestamp: 2022-01-28T07:01:03.533Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057185104053536460340391192576793',
FragmentSizeInBytes: 901088,
ProducerTimestamp: 2022-01-28T07:01:05.630Z,
ServerTimestamp: 2022-01-28T07:01:04.167Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057190055813693601862044276052305',
FragmentSizeInBytes: 773312,
ProducerTimestamp: 2022-01-28T07:01:07.486Z,
ServerTimestamp: 2022-01-28T07:01:06.229Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057195007573850743383632007202899',
FragmentSizeInBytes: 768660,
ProducerTimestamp: 2022-01-28T07:01:09.346Z,
ServerTimestamp: 2022-01-28T07:01:08.047Z,
FragmentLengthInMilliseconds: 1791
},
{
FragmentNumber: '91343852333185057199959334007884905218529030717',
FragmentSizeInBytes: 748856,
ProducerTimestamp: 2022-01-28T07:01:11.201Z,
ServerTimestamp: 2022-01-28T07:01:09.861Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057204911094165026426933483564105',
FragmentSizeInBytes: 763292,
ProducerTimestamp: 2022-01-28T07:01:13.057Z,
ServerTimestamp: 2022-01-28T07:01:12.153Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057209862854322167948478491151138',
FragmentSizeInBytes: 831664,
ProducerTimestamp: 2022-01-28T07:01:14.913Z,
ServerTimestamp: 2022-01-28T07:01:13.813Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057214814614479309470058753450625',
FragmentSizeInBytes: 751255,
ProducerTimestamp: 2022-01-28T07:01:16.769Z,
ServerTimestamp: 2022-01-28T07:01:15.603Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057219766374636450991675003849379',
FragmentSizeInBytes: 769545,
ProducerTimestamp: 2022-01-28T07:01:18.625Z,
ServerTimestamp: 2022-01-28T07:01:17.528Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057224718134793592513326318973487',
FragmentSizeInBytes: 757835,
ProducerTimestamp: 2022-01-28T07:01:20.481Z,
ServerTimestamp: 2022-01-28T07:01:19.583Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057229669894950734034908059013802',
FragmentSizeInBytes: 790785,
ProducerTimestamp: 2022-01-28T07:01:22.337Z,
ServerTimestamp: 2022-01-28T07:01:21.380Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057234621655107875556490501268794',
FragmentSizeInBytes: 800209,
ProducerTimestamp: 2022-01-28T07:01:24.193Z,
ServerTimestamp: 2022-01-28T07:01:23.178Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057239573415265017078113082715299',
FragmentSizeInBytes: 784770,
ProducerTimestamp: 2022-01-28T07:01:26.049Z,
ServerTimestamp: 2022-01-28T07:01:25.127Z,
FragmentLengthInMilliseconds: 1795
},
{
FragmentNumber: '91343852333185057244525175422158599662409003435',
FragmentSizeInBytes: 733595,
ProducerTimestamp: 2022-01-28T07:01:27.904Z,
ServerTimestamp: 2022-01-28T07:01:26.802Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057249476935579300121271711940811',
FragmentSizeInBytes: 863091,
ProducerTimestamp: 2022-01-28T07:01:29.760Z,
ServerTimestamp: 2022-01-28T07:01:28.701Z,
FragmentLengthInMilliseconds: 1796
},
{
FragmentNumber: '91343852333185057254428695736441642978804126889',
FragmentSizeInBytes: 794767,
ProducerTimestamp: 2022-01-28T07:01:31.620Z,
ServerTimestamp: 2022-01-28T07:01:30.964Z,
FragmentLengthInMilliseconds: 1792
},
{
FragmentNumber: '91343852333185057259380455893583164563849312914',
FragmentSizeInBytes: 815843,
ProducerTimestamp: 2022-01-28T07:01:33.476Z,
ServerTimestamp: 2022-01-28T07:01:32.772Z,
FragmentLengthInMilliseconds: 1792
}
]
```

**the total duration of all fragments: 57421 MS**

The M3U file:
```

#EXTM3U
#EXT-X-VERSION:7
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MAP:URI="getMP4InitFragment.mp4?SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1"
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:35.931Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057105875891022195998207386831087&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:37.787Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057110827651179337519666762451998&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:39.643Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057115779411336479041184133649199&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:41.499Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057120731171493620562686992995215&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:43.355Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057125682931650762084177611210926&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:45.211Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057130634691807903605621447927987&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:47.071Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057135586451965045127000030563099&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:48.927Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057140538212122186648471533739708&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:50.783Z
#EXTINF:1.852,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057145489972279328169811940549220&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:52.638Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057150441732436469691175863905321&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:54.494Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057155393492593611212512597876737&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:56.350Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057160345252750752733848109724600&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:00:58.206Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057165297012907894255185015258598&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:00.062Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057170248773065035776518554640603&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:01.918Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057175200533222177297851537695855&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:03.774Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057180152293379318819121358297568&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:05.630Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057185104053536460340391192576793&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:07.486Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057190055813693601862044276052305&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:09.346Z
#EXTINF:1.852,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057195007573850743383632007202899&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:11.201Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057199959334007884905218529030717&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:13.057Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057204911094165026426933483564105&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:14.913Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057209862854322167948478491151138&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:16.769Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057214814614479309470058753450625&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:18.625Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057219766374636450991675003849379&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:20.481Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057224718134793592513326318973487&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:22.337Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057229669894950734034908059013802&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:24.193Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057234621655107875556490501268794&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:26.049Z
#EXTINF:1.856,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057239573415265017078113082715299&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:27.904Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057244525175422158599662409003435&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:29.760Z
#EXTINF:1.857,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057249476935579300121271711940811&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:31.620Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057254428695736441642978804126889&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-PROGRAM-DATE-TIME:2022-01-28T07:01:33.476Z
#EXTINF:1.853,
getMP4MediaFragment.mp4?FragmentNumber=91343852333185057259380455893583164563849312914&SessionToken=CiBFQ5hwk0gJ4y0yZel0pfEM048uaoiqfynqb3Or3PnbBRIQCNXzXfY3UUFHJCBRHnqwUhoZHHw48q4PWtF3iPhcl1vK0ilc18UrzzrePiIgSBupoTd0SDcBQUc4wGmBkVGaMshh0QRhSG3Y8Ku8I2Q~&TrackNumber=1
#EXT-X-ENDLIST
```

**The total duration of all fragments: 5900 MS**

As you can see the return fragments' numbers are identical but their length is different.
My question is how can it be?

Which other why do I have to get the duration of the fragments for some time range without retrieving the entire stream for that time range?

Thank you.

Contributor guide

Open the contributing guide

Research direction

The report names no repository file, test, or entry point to edit. Start by reproducing the List Fragments result and comparing FragmentLengthInMilliseconds with the M3U EXTINF values for the shown timestamp range. Done requires identifying whether the discrepancy is an API or playlist issue and locating a concrete repository change or documentation update.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, javascript, node.js
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.