Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

relative urls or absolute urls (variant m3u8 url resolving) #3

Closed
josepowera opened this issue Apr 9, 2023 · 12 comments
Closed

relative urls or absolute urls (variant m3u8 url resolving) #3

josepowera opened this issue Apr 9, 2023 · 12 comments

Comments

@josepowera
Copy link

Just started testing v 0.0.1 .. When I tried example below it looks like it is wrong in resolving urls. Master.m3u8 below has full urls (non relative) for variants.
umzz -i https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8 -s sidecar.txt -o /home/uporabnik/umzzoutput

however this in logs looks strange:
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8 ...........Failed

Full repetable example:

umzz -i https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8 -s sidecar.txt -o /home/uporabnik/umzzoutput

Namespace(delete=False, hls_tag='x_cue', input='https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8', output_dir='/home/uporabnik/umzzoutput', program_date_time=False, replay=False, shulga=False, sidecar_file='sidecar.txt', time=2, version=False, window_size=5)
{
   "lines": [
      "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"CC\",LANGUAGE=\"eng\",NAME=\"English\",INSTREAM-ID=\"CC1\"",
      "#EXT-X-STREAM-INF:BANDWIDTH=352000,AVERAGE-BANDWIDTH=290400,CODECS=\"avc1.66.30,mp4a.40.2\",RESOLUTION=320x180,FRAME-RATE=30.000,CLOSED-CAPTIONS=\"CC\"",
      "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_264.m3u8"
   ],
   "media": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_264.m3u8",
   "tags": {
      "#EXT-X-MEDIA": {
         "INSTREAM-ID": "CC1",
         "NAME": "English",
         "LANGUAGE": "eng",
         "GROUP-ID": "CC",
         "TYPE": "CLOSED-CAPTIONS"
      },
      "#EXT-X-STREAM-INF": {
         "CLOSED-CAPTIONS": "CC",
         "FRAME-RATE": 30.0,
         "RESOLUTION": "320x180",
         "CODECS": "avc1.66.30,mp4a.40.2",
         "AVERAGE-BANDWIDTH": 290400,
         "BANDWIDTH": 352000
      },
      "https": "//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_264.m3u8"
   },
   "base_uri": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/"
}
{
   "lines": [
      "#EXT-X-STREAM-INF:BANDWIDTH=774400,AVERAGE-BANDWIDTH=635800,CODECS=\"avc1.4d4015,mp4a.40.2\",RESOLUTION=426x240,FRAME-RATE=30.000,CLOSED-CAPTIONS=\"CC\"",
      "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8"
   ],
   "media": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8",
   "tags": {
      "#EXT-X-STREAM-INF": {
         "CLOSED-CAPTIONS": "CC",
         "FRAME-RATE": 30.0,
         "RESOLUTION": "426x240",
         "CODECS": "avc1.4d4015,mp4a.40.2",
         "AVERAGE-BANDWIDTH": 635800,
         "BANDWIDTH": 774400
      },
      "https": "//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8"
   },
   "base_uri": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/"
}
{
   "lines": [
      "#EXT-X-STREAM-INF:BANDWIDTH=1267200,AVERAGE-BANDWIDTH=1020800,CODECS=\"avc1.77.30,mp4a.40.2\",RESOLUTION=640x360,FRAME-RATE=30.000,CLOSED-CAPTIONS=\"CC\"",
      "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8"
   ],
   "media": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8",
   "tags": {
      "#EXT-X-STREAM-INF": {
         "CLOSED-CAPTIONS": "CC",
         "FRAME-RATE": 30.0,
         "RESOLUTION": "640x360",
         "CODECS": "avc1.77.30,mp4a.40.2",
         "AVERAGE-BANDWIDTH": 1020800,
         "BANDWIDTH": 1267200
      },
      "https": "//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8"
   },
   "base_uri": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/"
}
{
   "lines": [
      "#EXT-X-STREAM-INF:BANDWIDTH=2288000,AVERAGE-BANDWIDTH=1826000,CODECS=\"avc1.4d401f,mp4a.40.2\",RESOLUTION=960x540,FRAME-RATE=30.000,CLOSED-CAPTIONS=\"CC\"",
      "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8"
   ],
   "media": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8",
   "tags": {
      "#EXT-X-STREAM-INF": {
         "CLOSED-CAPTIONS": "CC",
         "FRAME-RATE": 30.0,
         "RESOLUTION": "960x540",
         "CODECS": "avc1.4d401f,mp4a.40.2",
         "AVERAGE-BANDWIDTH": 1826000,
         "BANDWIDTH": 2288000
      },
      "https": "//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8"
   },
   "base_uri": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/"
}
{
   "lines": [
      "#EXT-X-STREAM-INF:BANDWIDTH=4681600,AVERAGE-BANDWIDTH=3696000,CODECS=\"avc1.4d401f,mp4a.40.2\",RESOLUTION=1280x720,FRAME-RATE=30.000,CLOSED-CAPTIONS=\"CC\"",
      "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8"
   ],
   "media": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8",
   "tags": {
      "#EXT-X-STREAM-INF": {
         "CLOSED-CAPTIONS": "CC",
         "FRAME-RATE": 30.0,
         "RESOLUTION": "1280x720",
         "CODECS": "avc1.4d401f,mp4a.40.2",
         "AVERAGE-BANDWIDTH": 3696000,
         "BANDWIDTH": 4681600
      },
      "https": "//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8"
   },
   "base_uri": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/"
}
{
   "lines": [
      "#EXT-X-STREAM-INF:BANDWIDTH=9328000,AVERAGE-BANDWIDTH=7326000,CODECS=\"avc1.4d4028,mp4a.40.2\",RESOLUTION=1920x1080,FRAME-RATE=30.000,CLOSED-CAPTIONS=\"CC\"",
      "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8"
   ],
   "media": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8",
   "tags": {
      "#EXT-X-STREAM-INF": {
         "CLOSED-CAPTIONS": "CC",
         "FRAME-RATE": 30.0,
         "RESOLUTION": "1920x1080",
         "CODECS": "avc1.4d4028,mp4a.40.2",
         "AVERAGE-BANDWIDTH": 7326000,
         "BANDWIDTH": 9328000
      },
      "https": "//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8"
   },
   "base_uri": "https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/"
}
{
  "headers": {
    "#EXTM3U": "",
    "#EXT-X-VERSION": 3,
    "#EXT-X-INDEPENDENT-SEGMENTS": ""
  }
}
{'lines': ['#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="CC",LANGUAGE="eng",NAME="English",INSTREAM-ID="CC1"', '#EXT-X-STREAM-INF:BANDWIDTH=352000,AVERAGE-BANDWIDTH=290400,CODECS="avc1.66.30,mp4a.40.2",RESOLUTION=320x180,FRAME-RATE=30.000,CLOSED-CAPTIONS="CC"', 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_264.m3u8'], 'media': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_264.m3u8', 'pts': None, 'start': None, 'end': None, 'duration': 0, 'cue': False, 'cue_data': None, 'tags': {'#EXT-X-MEDIA': {'INSTREAM-ID': 'CC1', 'NAME': 'English', 'LANGUAGE': 'eng', 'GROUP-ID': 'CC', 'TYPE': 'CLOSED-CAPTIONS'}, '#EXT-X-STREAM-INF': {'CLOSED-CAPTIONS': 'CC', 'FRAME-RATE': 30.0, 'RESOLUTION': '320x180', 'CODECS': 'avc1.66.30,mp4a.40.2', 'AVERAGE-BANDWIDTH': 290400, 'BANDWIDTH': 352000}, 'https': '//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_264.m3u8'}, 'tmp': None, 'base_uri': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/', 'last_iv': None, 'last_key_uri': None, 'debug': False}
Process-1  is up
{'lines': ['#EXT-X-STREAM-INF:BANDWIDTH=774400,AVERAGE-BANDWIDTH=635800,CODECS="avc1.4d4015,mp4a.40.2",RESOLUTION=426x240,FRAME-RATE=30.000,CLOSED-CAPTIONS="CC"', 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8'], 'media': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8', 'pts': None, 'start': 0.0, 'end': None, 'duration': 0, 'cue': False, 'cue_data': None, 'tags': {'#EXT-X-STREAM-INF': {'CLOSED-CAPTIONS': 'CC', 'FRAME-RATE': 30.0, 'RESOLUTION': '426x240', 'CODECS': 'avc1.4d4015,mp4a.40.2', 'AVERAGE-BANDWIDTH': 635800, 'BANDWIDTH': 774400}, 'https': '//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8'}, 'tmp': None, 'base_uri': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/', 'last_iv': None, 'last_key_uri': None, 'debug': False}
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_264.m3u8 ...........Failed
Process-2  is up
{'lines': ['#EXT-X-STREAM-INF:BANDWIDTH=1267200,AVERAGE-BANDWIDTH=1020800,CODECS="avc1.77.30,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=30.000,CLOSED-CAPTIONS="CC"', 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8'], 'media': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8', 'pts': None, 'start': 0.0, 'end': None, 'duration': 0, 'cue': False, 'cue_data': None, 'tags': {'#EXT-X-STREAM-INF': {'CLOSED-CAPTIONS': 'CC', 'FRAME-RATE': 30.0, 'RESOLUTION': '640x360', 'CODECS': 'avc1.77.30,mp4a.40.2', 'AVERAGE-BANDWIDTH': 1020800, 'BANDWIDTH': 1267200}, 'https': '//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8'}, 'tmp': None, 'base_uri': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/', 'last_iv': None, 'last_key_uri': None, 'debug': False}
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8 ...........Failed
Process-3  is up
{'lines': ['#EXT-X-STREAM-INF:BANDWIDTH=2288000,AVERAGE-BANDWIDTH=1826000,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=960x540,FRAME-RATE=30.000,CLOSED-CAPTIONS="CC"', 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8'], 'media': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8', 'pts': None, 'start': 0.0, 'end': None, 'duration': 0, 'cue': False, 'cue_data': None, 'tags': {'#EXT-X-STREAM-INF': {'CLOSED-CAPTIONS': 'CC', 'FRAME-RATE': 30.0, 'RESOLUTION': '960x540', 'CODECS': 'avc1.4d401f,mp4a.40.2', 'AVERAGE-BANDWIDTH': 1826000, 'BANDWIDTH': 2288000}, 'https': '//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8'}, 'tmp': None, 'base_uri': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/', 'last_iv': None, 'last_key_uri': None, 'debug': False}
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8 ...........Failed
Process-4  is up
{'lines': ['#EXT-X-STREAM-INF:BANDWIDTH=4681600,AVERAGE-BANDWIDTH=3696000,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=30.000,CLOSED-CAPTIONS="CC"', 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8'], 'media': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8', 'pts': None, 'start': 0.0, 'end': None, 'duration': 0, 'cue': False, 'cue_data': None, 'tags': {'#EXT-X-STREAM-INF': {'CLOSED-CAPTIONS': 'CC', 'FRAME-RATE': 30.0, 'RESOLUTION': '1280x720', 'CODECS': 'avc1.4d401f,mp4a.40.2', 'AVERAGE-BANDWIDTH': 3696000, 'BANDWIDTH': 4681600}, 'https': '//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8'}, 'tmp': None, 'base_uri': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/', 'last_iv': None, 'last_key_uri': None, 'debug': False}
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8 ...........Failed
Process-5  is up
{'lines': ['#EXT-X-STREAM-INF:BANDWIDTH=9328000,AVERAGE-BANDWIDTH=7326000,CODECS="avc1.4d4028,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=30.000,CLOSED-CAPTIONS="CC"', 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8'], 'media': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8', 'pts': None, 'start': 0.0, 'end': None, 'duration': 0, 'cue': False, 'cue_data': None, 'tags': {'#EXT-X-STREAM-INF': {'CLOSED-CAPTIONS': 'CC', 'FRAME-RATE': 30.0, 'RESOLUTION': '1920x1080', 'CODECS': 'avc1.4d4028,mp4a.40.2', 'AVERAGE-BANDWIDTH': 7326000, 'BANDWIDTH': 9328000}, 'https': '//rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8'}, 'tmp': None, 'base_uri': 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/', 'last_iv': None, 'last_key_uri': None, 'debug': False}
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8 ...........Failed
Process-6  is up
https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8 ...........Failed
Process-1  is down

@futzu
Copy link
Owner

futzu commented Apr 10, 2023

I'm not entirely sure why that's happening. Just to be clear, this is far from stable.

@futzu
Copy link
Owner

futzu commented Apr 10, 2023

Though, if you think about it, you really want to run this on the same machine, or else you're downloading all the variants at the same time, that's a lot of bandwidth, there is no way that can stay in sync.

@futzu
Copy link
Owner

futzu commented Apr 10, 2023

Hey man, I'm thinking what if umzz doesn't redo the segments and instead just rewrites the manifests with SCTE-35. The only problem is that if ad breaks don't start on segments, I'd have to round up to the next segment or something, what do you think?

If I don't resegment, I only need to parse one variant.

@josepowera
Copy link
Author

josepowera commented Apr 10, 2023

I think that resegmenting(rewriting) every segment for every variant is not neccesary...

What do you think :
-if segment can stay as is (no changes, no scte signal), than just link with absolute url to original url. optionaly just download .ts file to local file (only http download, no resegmentation)
-if segment must be changed (because of scte split to insert - than resegment only that .ts file to split where needed.

If we say that ads are limited to for example 12 minutes/hour that it makes sense to do CPU operation only on 12/60 of segments at most. Than for reality you'd only have to resegment -update only first and last file of that adbreak to really resegment. That would than make CPU operation on 2 files per hour * #of variants.

If operation is too cpu intensive you could also add app option --filterstreams=1,2,3 that would only take 3 variants from master file (when you run app and you know that variant with "4K" is too intensive).

In that case above app option -w WINDOW_SIZE could be easily removed.

btw: I really enjoy looking at what you can do with python. Great job!

@futzu
Copy link
Owner

futzu commented Apr 10, 2023

It's not CPU, it's the downloading. If the input is over the network, umzz is downloading all the variants at the same time, it's like playing all the variants at the same time, that's a lot of bandwidth, and a lot of I/O,

I didn't realize all this until you started testing stuff.
I really appreciate that man, I need to make some big changes.

The big problem with NOT re-segmenting is that if there is a SCTE-35 splice point in the middle of a segment, it will have to be rounded up to the next segment, that's why God invented all black frames, to smooth out such things. The big gain is that I can parse one variant and determine where to add the SCTE-35 for all the other variants, So umzz would output just a master.m3u8 and the variant index.m3u8s, no new segments.

@josepowera
Copy link
Author

josepowera commented Apr 10, 2023

Just my 2 cents :)

Bandwidth should not be a problem... An app like this (umzz) is running normally in datacenter with Gigabit connection... If you look at my stream above you see that app will have total dl 352+.......=18691200bps = 18.5Mbps.... That's only 1/50 of total 1Gbps bandwidth available.

And if you optimize - the truth is that you have to dl all segments of only minimal resolution stream to get info where to put scte split in (as we assume that all resolution files are aligned).. And than just wait for that "begin" and "end" .ts file that would have to be rewritten (shorten for first) , remove start for last - in this case for all resolutions. All other files are best just left on original hls segment url. Hope I got my idea right. Anorther problem I see with this cutting is that PTS will jump.. But if you insert HLS discontinuity player should handle that.

@futzu
Copy link
Owner

futzu commented Apr 10, 2023

that's a good point about the data centers.
I'm able to keep 5 variants in sync with splice immediate Splice Inserts on my $200 chromebook, and it has no power at all.
the way I'm able to do it, is the main process reads the sidecar file and then sends the insert time and cue to all the processes parsing variants.
I fixed the urls and window size stuff, I am about to make another pip package. I you would, try it locally and see how it does for you with the new version. I'll have it up in about an hour. I'll let you lknow.

@futzu
Copy link
Owner

futzu commented Apr 10, 2023

a@debian:~/build/clean/umzz$ umzz -v
umzz 0.0.3

New Version is up.

@josepowera
Copy link
Author

I'm checking.. regarding my idea of getting iframe position only in 1st variant... I might be wrong... I'm looking at stream (rbmn-live) from above and PTSs were NOT aligned.

umzz -i https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master.m3u8 -t 3 -p -s sidecar.txt -o /home/uporabnik/umzzoutput

...
/home/uporabnik/umzzoutput/0/seg313.ts:   start: 939.000000   end: 942.000000   duration: 3.000000
throttling 2.85
/home/uporabnik/umzzoutput/1/seg295.ts:   start: 41961.727200   end: 41964.727200   duration: 3.000000
throttling 2.85
/home/uporabnik/umzzoutput/2/seg294.ts:   start: 41958.727200   end: 41961.727200   duration: 3.000000
throttling 2.85
/home/uporabnik/umzzoutput/0/seg314.ts:   start: 942.000000   end: 945.000000   duration: 3.000000
throttling 2.85
/home/uporabnik/umzzoutput/1/seg296.ts:   start: 41964.727200   end: 41967.727200   duration: 3.000000
throttling 2.85
/home/uporabnik/umzzoutput/2/seg295.ts:   start: 41961.727200   end: 41964.727200   duration: 3.000000
throttling 2.84
....

@josepowera
Copy link
Author

Fix for resolving url @0.0.3 looks ok.. Above stream is playing.

@futzu
Copy link
Owner

futzu commented Apr 12, 2023

some progress.....

@futzu
Copy link
Owner

futzu commented Apr 14, 2023

ffrprobe https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8

.....

[hls @ 0x55b73b3fda00] Opening 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/20230404T122017/master_578/00095/master_578_01329.ts' for reading
Input #0, hls, from 'https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_578.m3u8':
  Duration: N/A, start: -10.425867, bitrate: N/A
  Program 0 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants