GStreamer / exteplayer HLS streams
GStreamer / exteplayer HLS streams
Hello, does GStreamer or exteplayer play HLS streams ? I notice in the Service App that there is a HLS setting but for some reason I cannot get any player to play a HLS stream. I also noticed that some people seem to use the following convention in the .tv file:
SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//127.0.0.1%3a88/hlsvariant%3a//http%3a//xx.xx.xx/0402.m3u8 headers={"X-Forwarded-For"%3a"81.17.18.50"}:TV ONE HD
Is this the correct convention when creating a .tv file with HLS streams or should I be using a more traditional convention such as:
#SERVICE 4097:0:1:158:0:0:0:0:0:0:http%3a//xx.xx.xx/0402.m3u8 headers={"X-Forwarded-For"%3a"81.17.18.50"}:TV ONE HD
I have openatv 6.3 running on a DM800SE
Thank you
SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//127.0.0.1%3a88/hlsvariant%3a//http%3a//xx.xx.xx/0402.m3u8 headers={"X-Forwarded-For"%3a"81.17.18.50"}:TV ONE HD
Is this the correct convention when creating a .tv file with HLS streams or should I be using a more traditional convention such as:
#SERVICE 4097:0:1:158:0:0:0:0:0:0:http%3a//xx.xx.xx/0402.m3u8 headers={"X-Forwarded-For"%3a"81.17.18.50"}:TV ONE HD
I have openatv 6.3 running on a DM800SE
Thank you
- s3n0
- Senior member
- Beiträge: 1580
- Registriert: 02 Jan 2017 14:38
- Receiver 1: Vu+ Zero 4K
- Receiver 2: Vu+ Solo SE V2
- Hat gedankt: 108 Mal
- Hat Dank erhalten: 416 Mal
- Kontaktdaten:
Hello. That's wrong. The 4097 service is used to play over the classic Gstreamer. For other services, you have installed the ServiceApp plugin to set different values for different players. By default, it is configured in the plugin (if I am not mistaken about it) the 5001 for ExtEplayer player. So instead of 4097 service number, you should use 5001 service number in your userbuquet file (and don't forget to refresh services or quickly reboot Enigma). You can also switch the default player in Enigma from standard Gstreamer to ExtEplayer in the ServiceApp plugin configuration (you can find it somewhere in the MENU settings, I don't know if it is also in the Plugin-MENU).
- Papi2000
- Super Moderator
- Beiträge: 25923
- Registriert: 20 Apr 2013 20:09
- Receiver 1: Viele GigaBlues
- Receiver 2: DM und ZGemma
- Receiver 3: bissl VU
- Hat gedankt: 4496 Mal
- Hat Dank erhalten: 8313 Mal
Sorry, we only have two HowTos for that...
https://www.opena.tv/viewtopic.php?t=45346
and
https://www.opena.tv/viewtopic.php?p=33949#p33949
https://www.opena.tv/viewtopic.php?t=45346
and
https://www.opena.tv/viewtopic.php?p=33949#p33949
I think I enabled debug mode now, in the log file I see this information (note that I am running the stream as service 5002):
Could it be because of this error:
Code: Alles auswählen
playing 5002:0:1:158:0:0:0:0:0:0http%3a//xx.xx.xx/xxxx/index.m3u8?hdnts=st=12334~exp=12334~acl=/*~hmac=aabbccddeeffgghhiijjkkllmmnnoopp:ABCDEFG
23:39:55.5779 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:131 ExtEplayer3 ExtEplayer3::ExtEplayer3 initializing with options:
23:39:55.5782 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print aac_swdec = 0
23:39:55.5784 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print ac3_swdec = 0
23:39:55.5786 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print audio_id = not set
23:39:55.5787 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print audio_uri = not set
23:39:55.5789 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print dash_audio_id = not set
23:39:55.5791 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print dash_video_id = not set
23:39:55.5793 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print downmix = 0
23:39:55.5795 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print dts_swdec = 0
23:39:55.5797 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print eac3_swdec = 0
23:39:55.5799 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print ffmpeg_option = not set
23:39:55.5801 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print flv2mpeg4 = not set
23:39:55.5803 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print live_ts = not set
23:39:55.5804 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print loop = not set
23:39:55.5806 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print lpcm_injection = 0
23:39:55.5808 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print mp3_swdec = 0
23:39:55.5810 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print mpegts_program_id = not set
23:39:55.5812 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print nice = not set
23:39:55.5814 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print no_pcm_resampling = not set
23:39:55.5815 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print progressive = not set
23:39:55.5817 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print rtmpproto = 0
23:39:55.5819 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print subtitle_id = not set
23:39:55.5821 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:124 print wma_swdec = 0
[getVariantsFromMasterUrl] - Request:
GET /xxxx/index.m3u8?hdnts=st=12334~exp=12334~acl=/*~hmac=aabbccddeeffgghhiijjkkllmmnnoopp HTTP/1.1
Host: xxx.xxx.xxx
User-Agent: Enigma2 HbbTV/1.1.1 (+PVR+RTSP+DL;OpenPLi;; ;)
Accept: */*
Connection: close
23:39:55.6831 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:55.6845 [ ] ../../../git/src/serviceapp/serviceapp.cpp:782 unpause eServiceApp::unpause
23:39:55.6895 { E } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:55+0100 [-] setPixmapNum(0) failed! defined pixmaps: []
23:39:55.6919 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:55.6962 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:55.6979 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:55.6992 [ ] ../../../git/src/serviceapp/serviceapp.cpp:782 unpause eServiceApp::unpause
23:39:55.7042 { E } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:55+0100 [-] setPixmapNum(0) failed! defined pixmaps: []
23:39:55.7062 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:55.7150 { E } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:55+0100 [-] RemovePopup, id = ZapError
[getVariantsFromMasterUrl] Response[0](size=15): HTTP/1.1 200 OK
[getVariantsFromMasterUrl] Response[1](size=17): Server: Flussonic
[getVariantsFromMasterUrl] Response[2](size=20): Content-Length: 1115
[getVariantsFromMasterUrl] Response[3](size=101): Set-Cookie: legacy=expired; Domain=xxx.xxx.xxx; Path=/; Expires=Mon, 01-Jan-2018 00:01:01 GMT
[getVariantsFromMasterUrl] Response[4](size=16): X-Route-Time: 81
[getVariantsFromMasterUrl] Response[5](size=30): Access-Control-Allow-Origin: *
[getVariantsFromMasterUrl] Response[6](size=46): Access-Control-Allow-Methods: GET,POST,OPTIONS
[getVariantsFromMasterUrl] Response[7](size=54): Access-Control-Allow-Headers: origin,range,hdntl,hdnts
[getVariantsFromMasterUrl] Response[8](size=115): Access-Control-Expose-Headers: Server,range,hdntl,hdnts,Akamai-Mon-Iucid-Ing,Akamai-Mon-Iucid-Del,Akamai-Request-BC
[getVariantsFromMasterUrl] Response[9](size=38): Access-Control-Allow-Credentials: true
[getVariantsFromMasterUrl] Response[10](size=29): Access-Control-Max-Age: 86400
[getVariantsFromMasterUrl] Response[11](size=28): Akamai-Mon-Iucid-Del: 860810
[getVariantsFromMasterUrl] Response[12](size=15): X-Run-Time: 310
[getVariantsFromMasterUrl] Response[13](size=38): Expires: Sat, 11 Apr 2020 22:39:55 GMT
[getVariantsFromMasterUrl] Response[14](size=44): Cache-Control: max-age=0, no-cache, no-store
[getVariantsFromMasterUrl] Response[15](size=16): Pragma: no-cache
[getVariantsFromMasterUrl] Response[16](size=35): Date: Sat, 11 Apr 2020 22:39:55 GMT
[getVariantsFromMasterUrl] Response[17](size=17): Connection: close
[getVariantsFromMasterUrl] Response[18](size=0):
[getVariantsFromMasterUrl] - content part started
[getVariantsFromMasterUrl] Response[19](size=7): #EXTM3U
[getVariantsFromMasterUrl] Response[20](size=148): #EXT-X-STREAM-INF:CLOSED-CAPTIONS=NONE,RESOLUTION=320x242,FRAME-RATE=25.000,CODECS="avc1.42001e,mp4a.40.2",AVERAGE-BANDWIDTH=380000,BANDWIDTH=480000
[getVariantsFromMasterUrl] Response[21](size=126): tracks-v4a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8
[getVariantsFromMasterUrl] - continue parsing m3u8 stream info
[getVariantsFromMasterUrl] Response[22](size=148): #EXT-X-STREAM-INF:CLOSED-CAPTIONS=NONE,RESOLUTION=480x362,FRAME-RATE=25.000,CODECS="avc1.42001e,mp4a.40.2",AVERAGE-BANDWIDTH=520000,BANDWIDTH=650000
[getVariantsFromMasterUrl] Response[23](size=126): tracks-v3a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8
[getVariantsFromMasterUrl] - continue parsing m3u8 stream info
[getVariantsFromMasterUrl] Response[24](size=149): #EXT-X-STREAM-INF:CLOSED-CAPTIONS=NONE,RESOLUTION=640x482,FRAME-RATE=25.000,CODECS="avc1.4d001e,mp4a.40.2",AVERAGE-BANDWIDTH=870000,BANDWIDTH=1080000
[getVariantsFromMasterUrl] Response[25](size=126): tracks-v2a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8
[getVariantsFromMasterUrl] - continue parsing m3u8 stream info
[getVariantsFromMasterUrl] Response[26](size=150): #EXT-X-STREAM-INF:CLOSED-CAPTIONS=NONE,RESOLUTION=768x578,FRAME-RATE=25.000,CODECS="avc1.4d001e,mp4a.40.2",AVERAGE-BANDWIDTH=1320000,BANDWIDTH=1650000
[getVariantsFromMasterUrl] Response[27](size=126): tracks-v1a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8
[getVariantsFromMasterUrl] - continue parsing m3u8 stream info
[getVariantsFromMasterUrl] - end of read, Content-Length reached
23:39:56.0727 [ ] ../../../git/src/serviceapp/serviceapp.cpp:336 fillSubservices eServiceApp::fillSubservices - found 4 subservices
23:39:56.1118 [ ] ../../../git/src/serviceapp/serviceapp.cpp:737 start eServiceApp::start - subservice(1650000b/s) selected according to connection speed (1410064408)
23:39:56.1129 [ ] ../../../git/src/serviceapp/extplayer.cpp:420 gotMessage PlayerBackend::gotMessage - tStart
PlayerApp: :p rocessStart: exteplayer3 "http://xxx.xxx.xxx/xxx/index.m3u8?hdnts=st=1586642882~exp=1586645882~acl=/tracks-v1a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8" -u "Enigma2 HbbTV/1.1.1 (+PVR+RTSP+DL;OpenPLi;; ;) " -h "Cookie:legacy=expired; Domain=xxx.xxx.xxxt; Path=/; Expires=Mon, 01-Jan-2018 00:01:01 GMT
" -a 0 -n 0
23:39:56.1482 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:56+0100 [-] [SCREENNAME] InfoBarSummary
23:39:56.1859 [ ] driver/rcinput.cpp:38 handleCode [eRCDeviceInputDev] 0 160 1
23:39:56.2055 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:56+0100 [-] KEY: 352 1 KEY_OK OK
23:39:56.2157 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:56.2338 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:56+0100 [-] [SCREENNAME] HideVBILine
23:39:56.2770 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:56+0100 [-] [SCREENNAME] InfoBar
23:39:56.2830 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:56.3623 [ ] ../../../git/src/serviceapp/serviceapp.cpp:882 getNumberOfTracks eServiceApp::getNumberOfTracks
23:39:56.3635 [ ] ../../../git/src/serviceapp/extplayer.cpp:462 gotMessage PlayerBackend::gotMessage - tAudioList
23:39:56.3637 [ ] ../../../git/src/serviceapp/extplayer.cpp:169 thread WaitThread - waiting for 500ms
23:39:56.3638 [ ] ../../../git/src/serviceapp/extplayer.cpp:131 processSend sending command "al
"
23:39:56.4080 [ ] ../../../git/src/serviceapp/extplayer.cpp:72 stderrAvail PlayerApp::stderrAvail: {"EPLAYER3_EXTENDED":{"version":68}}
23:39:56.4083 [ ] ../../../git/src/serviceapp/extplayer.cpp:8 handleJsonStr PlayerApp::handleJsonStr: {"EPLAYER3_EXTENDED":{"version":68}}
23:39:56.4085 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:410 handleJsonOutput ExtEPlayer3::handleJsonOutput - unhandled key "EPLAYER3_EXTENDED"
23:39:56.7092 [ E ] ../../../git/src/serviceapp/extplayer.cpp:72 stderrAvail PlayerApp::stderrAvail: {"FF_ERROR":{"msg":"Server returned 403 Forbidden (access denied)","code":-858797304}}
23:39:56.7094 [ E ] ../../../git/src/serviceapp/extplayer.cpp:8 handleJsonStr PlayerApp::handleJsonStr: {"FF_ERROR":{"msg":"Server returned 403 Forbidden (access denied)","code":-858797304}}
23:39:56.7096 [ E ] ../../../git/src/serviceapp/exteplayer3.cpp:410 handleJsonOutput ExtEPlayer3::handleJsonOutput - unhandled key "FF_ERROR"
23:39:56.7098 [ ] ../../../git/src/serviceapp/extplayer.cpp:72 stderrAvail PlayerApp::stderrAvail: {"PLAYBACK_OPEN":{"OutputName":"Output", "file":"http://xxx.xxx.xxx/xxxx/index.m3u8?hdnts=st=1586642882~exp=1586645882~acl=/tracks-v1a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8", "sts":-1}}
23:39:56.7107 [ ] ../../../git/src/serviceapp/extplayer.cpp:8 handleJsonStr PlayerApp::handleJsonStr: {"PLAYBACK_OPEN":{"OutputName":"Output", "file":"http://xxx.xxx.xxx/xxxx/index.m3u8?hdnts=st=1586642882~exp=1586645882~acl=/tracks-v1a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8", "sts":-1}}
23:39:56.7122 [ ] ../../../git/src/serviceapp/exteplayer3.cpp:410 handleJsonOutput ExtEPlayer3::handleJsonOutput - unhandled key "PLAYBACK_OPEN"
23:39:56.7125 [ ] ../../../git/src/serviceapp/extplayer.cpp:82 stdoutAvail PlayerApp::stdoutAvail: Software decoder will be used for AAC codec
Force rtmp protocol implementation
file: [http://xxx.xxx.xxx/xxxx/index.m3u8?hdnts=st=1586642882~exp=1586645882~acl=/tracks-v1a1/exp=1586731195~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkllmmnnoopp/mono.m3u8]
23:39:56.7133 [ ] ../../../git/src/serviceapp/extplayer.cpp:557 recvStopped PlayerBackend::recvStopped - retval = 0
23:39:56.7135 [ ] base/ebase.cpp:279 processOneEvent [eMainloop: :p rocessOneEvent] unhandled POLLERR/HUP/NVAL for fd 45(16)
23:39:56.7149 [ ] ../../../git/src/serviceapp/extplayer.cpp:534 thread_finished PlayerBackend::thread_finished
23:39:56.8637 [ ] ../../../git/src/serviceapp/extplayer.cpp:172 thread WaitThread - timed out
23:39:56.9327 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:56+0100 [-] [SCREENNAME] HideVBILine
23:39:56.9369 < > driver/hdmi_cec.cpp:376 hdmiEvent [eHdmiCEC] received message 00
23:39:56.9387 [ ] ../../../git/src/serviceapp/extplayer.cpp:482 gotMessage PlayerBackend::gotMessage - stop
23:39:56.9389 [ ] ../../../git/src/serviceapp/serviceapp.cpp:605 gotExtPlayerMessage eServiceApp::gotExtPlayerMessage - stop
23:39:56.9404 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:56.9421 [ ] ../../../git/src/serviceapp/serviceapp.cpp:782 unpause eServiceApp::unpause
23:39:56.9472 { E } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:56+0100 [-] setPixmapNum(0) failed! defined pixmaps: []
23:39:56.9494 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:57.1426 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
23:39:57.6864 { E } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:57+0100 [-] [TIMESHIFT] - tune lock failed, so could not start.
23:39:59.3340 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:59+0100 [-] [Console] finished: /usr/bin/ntpdate-sync
23:39:59.3395 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:59+0100 [-] [NTP]: setting E2 unixtime: 1586644799.34
23:39:59.3447 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-11 23:39:59+0100 [-] [NTP]: setting E2 realtime: Sat Apr 11 23:39:59 2020
Could it be because of this error:
Code: Alles auswählen
"Enigma2 HbbTV/1.1.1 (+PVR+RTSP+DL;OpenPLi;; ;) " -h "Cookie:legacy=expired; Domain=xxxx.xxxx.xxxx; Path=/; Expires=Mon, 01-Jan-2018 00:01:01 GMT"
- s3n0
- Senior member
- Beiträge: 1580
- Registriert: 02 Jan 2017 14:38
- Receiver 1: Vu+ Zero 4K
- Receiver 2: Vu+ Solo SE V2
- Hat gedankt: 108 Mal
- Hat Dank erhalten: 416 Mal
- Kontaktdaten:
Yes, you are right.
The percent character is a special character, used just for inserting special reserved characters such as space, question mark, equals and other characters that are used in the URL for a different purpose (for example, a question mark is used to pass parameters), so if you want to put a true special reserved special format, starting with a percent sign. For example:
https://www.opena.tv/viewtopic.php?p=376271#p376271
%3D means "="
%3A means ":"
%20 means "SPACE"
In some cases (programming languages or scripts), double or single quotes can be used to correctly format and insert special characters without the need for a percent sign. Then you need to use the "%xx" sequence only for those special characters that are reserved in Linux shell-scripts or Python programming language.
More info, for example, here:
HTML URL Encoding Reference
Using URL encoding to handle special characters in a document URI | MarkLogic Support
Or search the Google:
URL special characters format - Google-Suche
The percent character is a special character, used just for inserting special reserved characters such as space, question mark, equals and other characters that are used in the URL for a different purpose (for example, a question mark is used to pass parameters), so if you want to put a true special reserved special format, starting with a percent sign. For example:
https://www.opena.tv/viewtopic.php?p=376271#p376271
%3D means "="
%3A means ":"
%20 means "SPACE"
In some cases (programming languages or scripts), double or single quotes can be used to correctly format and insert special characters without the need for a percent sign. Then you need to use the "%xx" sequence only for those special characters that are reserved in Linux shell-scripts or Python programming language.
More info, for example, here:
HTML URL Encoding Reference
Using URL encoding to handle special characters in a document URI | MarkLogic Support
Or search the Google:
URL special characters format - Google-Suche
Excellent thank you, so if I really want to use a percent symbol in the URL then do I need to replace % with %25 ? but if I change this in the URL, will it not fundamentally change the URL itself and the authentication string used to authenticate the stream by inserting these special characters ?
Anyway, I did so and now I get this error:
Anyway, I did so and now I get this error:
Code: Alles auswählen
Force rtmp protocol implementation
file: [http://xxx.xxx.xxx/xxxxx/tracks-v1a1/exp=1586733558~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkll/mono.m3u8]
01:18:08.4213 [ ] ../../../git/src/serviceapp/extplayer.cpp:557 recvStopped PlayerBackend::recvStopped - retval = 0
01:18:08.4216 [ ] base/ebase.cpp:279 processOneEvent [eMainloop: :p rocessOneEvent] unhandled POLLERR/HUP/NVAL for fd 45(16)
01:18:08.4392 [ ] ../../../git/src/serviceapp/extplayer.cpp:534 thread_finished PlayerBackend::thread_finished
01:18:08.5991 [ ] ../../../git/src/serviceapp/extplayer.cpp:172 thread WaitThread - timed out
01:18:08.6695 { } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-12 01:18:08+0100 [-] [SCREENNAME] HideVBILine
01:18:08.6818 [ ] ../../../git/src/serviceapp/extplayer.cpp:482 gotMessage PlayerBackend::gotMessage - stop
01:18:08.6820 [ ] ../../../git/src/serviceapp/serviceapp.cpp:605 gotExtPlayerMessage eServiceApp::gotExtPlayerMessage - stop
01:18:08.6832 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
01:18:08.6846 [ ] ../../../git/src/serviceapp/serviceapp.cpp:782 unpause eServiceApp::unpause
01:18:08.6897 { E } /usr/lib/python2.7/site-packages/twisted/python/util.py:815 untilConcludes 2020-04-12 01:18:08+0100 [-] setPixmapNum(0) failed! defined pixmaps: []
01:18:08.6923 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
01:18:08.8850 [ ] ../../../git/src/serviceapp/serviceapp.cpp:873 isCurrentlySeekable eServiceApp::isCurrentlySeekable
my URL looks like this as it is in raw format:
http://abc.com/channel/tracks-v1a1/exp=1586733558~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkll/mono.m3u8
previously, %2f was being replaced by / but I changed this now so the string is like this:
[url]http://abc.com/channel/tracks-v1a1/exp=1586733558~acl=%252f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkll/mono.m3u8][/url]
http://abc.com/channel/tracks-v1a1/exp=1586733558~acl=%2f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkll/mono.m3u8
previously, %2f was being replaced by / but I changed this now so the string is like this:
[url]http://abc.com/channel/tracks-v1a1/exp=1586733558~acl=%252f*~data=hdntl~hmac=aabbccddeeffgghhiijjkkll/mono.m3u8][/url]
- s3n0
- Senior member
- Beiträge: 1580
- Registriert: 02 Jan 2017 14:38
- Receiver 1: Vu+ Zero 4K
- Receiver 2: Vu+ Solo SE V2
- Hat gedankt: 108 Mal
- Hat Dank erhalten: 416 Mal
- Kontaktdaten:
Special characters what must to be replaced are:
$ & + , / : ; = ? @
If their true meaning is not used of course and if you need to send it to the web server! Which is sometimes hard to figure out, uhm.
The real link you sent me looks like crap. Please try to send a screenshot and check passwords, ID codes, etc. . Or send it to a private message. Or put it at least as CODE TAG, because it will automatically reformat your URL as soon as you put it here in the discussion forum. Then if you right-click on the generated link and copy the link (Firefox browser), the URL is automatically reformatted as needed. However, this may not be correct. Your embedded URL is really strange.
Please read this:
Query string - Wikipedia
You can also use an online converter for URLs, but before you forget your passwords, logins, IDs, for example, overwrite the letters "X". For example, this URL converter: URL Encode Decode - URL Percent Encoding and Decoding.
$ & + , / : ; = ? @
If their true meaning is not used of course and if you need to send it to the web server! Which is sometimes hard to figure out, uhm.
The real link you sent me looks like crap. Please try to send a screenshot and check passwords, ID codes, etc. . Or send it to a private message. Or put it at least as CODE TAG, because it will automatically reformat your URL as soon as you put it here in the discussion forum. Then if you right-click on the generated link and copy the link (Firefox browser), the URL is automatically reformatted as needed. However, this may not be correct. Your embedded URL is really strange.
Please read this:
Query string - Wikipedia
You can also use an online converter for URLs, but before you forget your passwords, logins, IDs, for example, overwrite the letters "X". For example, this URL converter: URL Encode Decode - URL Percent Encoding and Decoding.
Hello. An update on this:
I can now stream the chopped ts files only if the #extm3u file containing the .ts streams is presented as a plain text file. This works well but in my case the token for this type of file is only valid for 20 minutes and then it expires so not really usable for longer streams. The longer token has a different URL but the chopped .ts streams are contained in an m3u8 file for this token which means that the receiver returns a 403 error when I try to play this stream and cannot play this.
Exteplayer3:
{"FF_ERROR":{"msg":"Server returned 403 Forbidden (access denied)","code":-858797304}}
GSTplayer:
{"GST_ERROR":{"msg":"Forbidden","code":15}}
Question for this forum: how do I get the receiver to recognise an m3u8 file (x-mpegURL) and regularly download this file which contains the latest .ts chopped streams?
I can now stream the chopped ts files only if the #extm3u file containing the .ts streams is presented as a plain text file. This works well but in my case the token for this type of file is only valid for 20 minutes and then it expires so not really usable for longer streams. The longer token has a different URL but the chopped .ts streams are contained in an m3u8 file for this token which means that the receiver returns a 403 error when I try to play this stream and cannot play this.
Exteplayer3:
{"FF_ERROR":{"msg":"Server returned 403 Forbidden (access denied)","code":-858797304}}
GSTplayer:
{"GST_ERROR":{"msg":"Forbidden","code":15}}
Question for this forum: how do I get the receiver to recognise an m3u8 file (x-mpegURL) and regularly download this file which contains the latest .ts chopped streams?
-
- Member
- Beiträge: 34
- Registriert: 12 Dez 2020 23:25
- Hat gedankt: 7 Mal
- Hat Dank erhalten: 1 Mal
Edit:
Redirect to newest topic
Hello
I need a referer for a HLS, but I couldn't find a solution. I need a solution to adding a domain as referer.
A solution for the user-agent would be nice too
Thank you
Redirect to newest topic
Hello
I need a referer for a HLS, but I couldn't find a solution. I need a solution to adding a domain as referer.
A solution for the user-agent would be nice too
Thank you