AngellusMortis / sxm-client

Python library designed to help write applications for the popular XM Radio service.
MIT License
25 stars 8 forks source link

Received status code 404 on segment: 503 #5

Open UiharuKazari2008 opened 2 years ago

UiharuKazari2008 commented 2 years ago

I have an automated recorder that i have made that i use to do analog recordings and I'm adding digital recordings with sxm-client. I request the M3U files for specific channels and store the URLs and when a event ends I slice the exact start and stop time of the recordings and generate new M3Us like bellow:

#EXTM3U
#EXT-X-VERSION:1
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:161296
#EXT-X-ALLOW-CACHE:NO
#EXT-X-KEY:METHOD=AES-128,URI="http://127.0.0.1:9999/key/1"
#EXT-X-PROGRAM-DATE-TIME:2022-02-28T01:47:53.234Z
#EXTINF:10,
http://127.0.0.1:9999/AAC_Data/thebeat/HLS_thebeat_256k_v3/thebeat_256k_1_022774873234_00161296_v3.aac
#EXT-X-PROGRAM-DATE-TIME:2022-02-28T01:48:02.985Z
#EXTINF:10,
http://127.0.0.1:9999/AAC_Data/thebeat/HLS_thebeat_256k_v3/thebeat_256k_1_022774882985_00161297_v3.aac
#EXT-X-PROGRAM-DATE-TIME:2022-02-28T01:48:12.736Z
#EXTINF:10,
http://127.0.0.1:9999/AAC_Data/thebeat/HLS_thebeat_256k_v3/thebeat_256k_1_022774892736_00161298_v3.aac
#EXT-X-PROGRAM-DATE-TIME:2022-02-28T01:48:22.488Z
#EXTINF:10,
http://127.0.0.1:9999/AAC_Data/thebeat/HLS_thebeat_256k_v3/thebeat_256k_1_022774902488_00161299_v3.aac
...

I then get this error when trying to record with ffmpeg

ffmpeg -protocol_whitelist concat,file,http,https,tcp,tls,crypto -i AACSTREAM_thebeat_1646012735533.m3u8 Extracted_Digital_Test_.mp3
1|sxm    | INFO:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/sxm/http.py:127.0.0.1 [28/Feb/2022:01:58:09 +0000] "GET /key/1 HTTP/1.1" 200 153 "-" "Lavf/58.76.100"
1|sxm    | WARNING:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/sxm/client.py:Received status code 404 on segment
1|sxm    | INFO:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/sxm/http.py:127.0.0.1 [28/Feb/2022:01:58:09 +0000] "GET /AAC_Data/thebeat/HLS_thebeat_256k_v3/thebeat_256k_1_022775146305_00161324_v3.aac HTTP/1.1" 503 167 "-" "Lavf/58.76.100"
1|sxm    | WARNING:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/sxm/client.py:Received status code 404 on segment
1|sxm    | INFO:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/sxm/http.py:127.0.0.1 [28/Feb/2022:01:58:09 +0000] "GET /AAC_Data/thebeat/HLS_thebeat_256k_v3/thebeat_256k_1_022775156056_00161325_v3.aac HTTP/1.1" 503 167 "-" "Lavf/58.76.100"
1|sxm    | WARNING:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/sxm/client.py:Received status code 404 on segment
1|sxm    | INFO:/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/sxm/http.py:127.0.0.1 [28/Feb/2022:01:58:09 +0000] "GET /AAC_Data/thebeat/HLS_thebeat_256k_v3/thebeat_256k_1_022775165808_00161326_v3.aac HTTP/1.1" 503 167 "-" "Lavf/58.76.100"

I know SXM will give up audio thats < 3 hours old

When i directly try to run the M3Us from SXM Client its fine but for some reason when i request a range it does not like it. Am i doing something wrong?

UiharuKazari2008 commented 2 years ago

If you have the sanity to read my code is JS if that matters: https://github.com/UiharuKazari2008/lizumi-sxm-rest-hander/blob/main/server.js