[FFmpeg-user] How can I extract m3u8 URL for use with ffmpeg on this site?

Micael Silva micaelsilva at gmail.com
Mon Apr 18 03:35:23 EEST 2022


Em sáb., 16 de abr. de 2022 às 19:45, Bo Berglund <bo.berglund at gmail.com>
escreveu:

> On Sat, 16 Apr 2022 15:04:02 +0200, Reino Wijnsma <rwijnsma at xs4all.nl>
> wrote:
>
> >...you can see that the m3u8-url for the HLS manifest is only valid for 2
> minutes (1650113048 - 1650112928 = 120).
> >The m3u8-url for the individual videostreams on the other hand is valid
> for 24 hours (1650113048 - 1650199328 = 86400 / 60 / 60 = 24).
>
> I just found this out with the help of my cron job trying to deduce the
> lifetime
> of the m3u8 retrieved via Firefox interaction. Turns out I had to wait
> almost 24
> hours since I created the URL in Firefox before the alarm triggered.
>
> As you say it seems to live for 24 hours.
> In this URL:
>
> https://nbcnews3.akamaized.net/hls/live/723429/NBCNewsNowa418c506/clear/hdntl=exp=1650232874~acl=%2f*~data=hdntl~hmac=2f327aa18ebec99f42654f1f6018ef74e98f12ba085743535ca3d6fb6677c7aa/VIDEO_1_4596000.m3u8
>
> One can see an item 'exp=1650232874', where the number seems to be seconds
> since
> 1970. That is the base of timekeeping on Linux, right?
>
> date +%s   gives the seconds since the 1970.
>
> And when I extract an M3U8 URL in Firefox at a certain time and subtract
> the
> value given by the cmd 'date +%s' it returns 86400 +/- change, so the URL
> lifetime is in fact 24 hours.
>
> I tried to manually enter a new bigger value for the exp= item to see if it
> could be extended to 48 hours but it did not work...
> It returned an error when used with ffmpeg.


I don’t know how much you know about tokenized URLs but you couldn’t create
a valid token just increasing the expire time because it need to match the
HMAC hash param. That hash is calculated using all parameters plus a secret
only known by the broadcaster.

> --

—
Micael Silva
@micaelsilva <http://twitter.com/micaelsilva>
(19) 99738-9172


More information about the ffmpeg-user mailing list