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

Bo Berglund bo.berglund at gmail.com
Tue Apr 12 15:35:39 EEST 2022


On Sat, 9 Apr 2022 13:14:18 +0200, Reino Wijnsma <rwijnsma at xs4all.nl> wrote:

>> $ xidel --version
>> Xidel 0.9.8
>> (20180421.6162.1f357eaaf5f3)
>
>A couple of months ago I already stated to use the latest binary from the development branch:
>

So I have now installed the latest xidel binary on my Ubuntu Server 20.04.4
where all downloads happen:

$ xidel --version
Xidel 0.9.9
(20220131.8335.4e6fcea4d02e)


>> Another example page on the same site going through the same procedure:
>> http://www.freeintertv.com/view/id-2565
>
>By looking at the network-traffic you can see (or at least I can) this POST request:
>
>$ curl --data-raw "chname=bXNuYmNfbGl2ZQ%3D%3D&ch=http%3A%2F%2Fwww.freeintertv.com%2Fexternals%2Ftv-russia%2Fsmotret-tv3-online&html5=11" \
>    "http://www.freeintertv.com/myAjax/get_item_m3u8/"
>

This URL is used in your examples, which all work fine now that I understand
what is going on.
But this might not be the correct such URL for the 2308 video?
See below


>
>> http://www.freeintertv.com/view/id-2308
>
>This one doesn't work in my browser, but appears to work the same way:
>
>$ xidel -s "http://www.freeintertv.com/view/id-2308" -e 'x:request({"post":request-combine((),{"chname":string-to-base64Binary(extract(//meta[@property="og:image"]/@content,"([a-z_]+)\.jpg",1)),"ch":"http://www.freeintertv.com/externals/tv-russia/smotret-tv3-online","html5":"11"})/substring(url,2),"url":"http://www.freeintertv.com/myAjax/get_item_m3u8/"})/extract(raw,"http.+m3u8")'
>http://livedoc.cgtn.com/500d/prog_index.m3u8
>

I have also gone ove each of your descriptive commands one by one and verified
how they work on the 2308 URL.
It seems like I get responses similar to but different from the 2565 URL for
early parts.

But when I run this command I get a response, which when used for download gets
a completely different channel:

$ xidel -s "http://www.freeintertv.com/view/id-2308" -e
'x:request({"post":request-combine((),{"chname":string-to-base64Binary(extract(//meta[@property="og:image"]/@content,"([a-z_]+)\.jpg",1)),"ch":"http://www.freeintertv.com/externals/tv-russia/smotret-tv3-online","html5":"11"})/substring(url,2),"url":"http://www.freeintertv.com/myAjax/get_item_m3u8/"})/extract(raw,"http.+m3u8")'

output is this m3u8:
http://livedoc.cgtn.com/500d/prog_index.m3u8

It can be used with my downloader but when I record and then view the content it
shows a completely different channel...


I don't know from where this URL in the command came from (you say you can see
it...):
http://www.freeintertv.com/externals/tv-russia/smotret-tv3-online

But it is for the 2565 video...
Maybe another is needed for 2308?


-- 
Bo Berglund
Developer in Sweden



More information about the ffmpeg-user mailing list