@babsy98
It is possible for you to try this with OpenPli image?
Posted 23 November 2015 - 17:37
As for the GStreamer/IPTV, we found that it works well if there’s only one stream source in .m3u8 file. It looks like that E2 gets blocked during GStreamer try to change to stream source to higher resolution. During that process, there’s no meaningful interaction between the userspace and driver.
Posted 23 November 2015 - 21:15
I have a TV CHannel with hang up on a display spinner RPC (Panama) http://live.rpctv.co...l/playlist.m3u8
Pic and Sound coming but after x seconds come the display spinner
21:09:06.861 { } Components/ActionMap.py:46 action action -> InfobarChannelSelection switchChannelUp 21:09:06.867 { } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//live.rpctv.com/rpctv/tm.smil/playlist.m3u8:RPC (Panama) 21:09:06.869 [ ] service/servicemp3.cpp:782 stop eServiceMP3::stop http://m.iblups.com:1935/lives/ptv1/playlist.m3u8 21:09:06.958 { } Screens/Screen.py:150 show [SCREENNAME] InfoBar 21:09:06.999 < E > service/servicemp3.cpp:965 trickSeek [eServiceMP3] trickSeek - invalid state, state:READY pending:PAUSED ret:ASYNC, doing seeking unpause 21:09:07.001 { E } Components/Pixmap.py:133 setPixmapNum setPixmapNum(0) failed! defined pixmaps: [] 21:09:07.011 < E > service/servicemp3.cpp:965 trickSeek [eServiceMP3] trickSeek - invalid state, state:READY pending:PLAYING ret:ASYNC, doing seeking unpause 21:09:07.013 { E } Components/Pixmap.py:133 setPixmapNum setPixmapNum(0) failed! defined pixmaps: [] 21:09:07.022 { E } Tools/Notifications.py:36 RemovePopup RemovePopup, id = ZapError 21:09:07.027 [ ] driver/rcinput.cpp:23 handleCode 0 67 1 21:09:07.030 { } Screens/InfoBarGenerics.py:204 actionA KEY: 103 1 KEY_UP UP 21:09:07.043 [ ] service/servicemp3.cpp:1645 gstBusCall eServiceMP3::state transition NULL -> READY 21:09:07.817 { } Screens/Screen.py:150 show [SCREENNAME] BufferIndicator
Posted 24 November 2015 - 18:05
Posted 24 November 2015 - 20:27
- HLS sources (.m3u8 file with multiple stream source) work well when HLS player is enabled in media portal. If you change HLS cache directory to /tmp or so, you don’t need to attach any external storage to the box.
- Otherwise, e2 blocks when stream source is changed from one to another. At that moment, e2 contains 2 or more threads.
- One of them stops at PyThread_acquire_lock(), which in turn calls pthread sem_wait(). It’s assumed to be the thread that blocks the main thread and draws spinner and waits for a certain signal to quit.
- Few of other remaining threads are blocked on g_cond_wait() of glib, which in turn calls pthread_cond_wait(). It seems that these threads are made by GStreamer. These threads mostly exit if servicemp3 receives the state change message from PAUSED->READY.
- So, I’m wondering which GST message makes e2 display spinner and wait event in this case. I think it should not invoke spinner thread when the stream source in HLS is changing.
i have add the channel with dreamedit and see this channel in my channel list
in mediaportl are the hls cache on
the channel ist here http://live.rpctv.com/rpctv/tm.smil/playlist.m3u8:RPC (Panama)
Posted 25 November 2015 - 00:39
Hello,Maybe you know that I am under porting player based on ffmpeg - exteplayer3.Now I am working on support for PCM but unfortunately I have a problem,I dump PES inserted by gstreamer where audio play and those inserted via exteplayer3 and the data are exacly the same but with exteplayer3 audio is not playied.Also bypass mode seems the same 0x30.I have no Idea what could be wrong.Maybe someone have an idea on what I should pay attention?Regards,SSS
Edited by samsamsam, 25 November 2015 - 00:40.
Posted 25 November 2015 - 11:53
Posted 25 November 2015 - 15:58
Hello,Maybe you know that I am under porting player based on ffmpeg - exteplayer3.Now I am working on support for PCM but unfortunately I have a problem,I dump PES inserted by gstreamer where audio play and those inserted via exteplayer3 and the data are exacly the same but with exteplayer3 audio is not playied.Also bypass mode seems the same 0x30.I have no Idea what could be wrong.Maybe someone have an idea on what I should pay attention?Regards,SSS
I finally found what is the reason why PCM are not played.The header of the data must be written to the audio decoder separately from payload data.They can not be stored at one buffer (header + playload) and written at one write call.This is very strange requirement and there is no documentation about this.Regards,SSS
Why I don't , but with the base gstdvbaudiosink it was always done like that.
First send header(with the data settings required for the actif mediadata)-payloadsize-codec-data. if ok
send the media-data self.
Gues the reason You cant send all in a single buffer could be find in to dvb manual.
Posted 26 November 2015 - 19:48
GST_DEBUG="adaptive*:5" enigma2 2>&1 | grep http ... < 7424.109264> [eServiceMP3] playbin uri=http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 < 7424.212999> [eServiceMP3] GST_STREAM_STATUS_TYPE_CREATE -> setting timeout on souphttpsrc to 30s 0:00:43.123498807 3820 0x1d5ef50 DEBUG adaptivedemux gstadaptivedemux.c:558:gst_adaptive_demux_sink_event:<hlsdemux1> Fetched manifest at URI: http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 (base: (NULL)) 0:00:44.004515807 3820 0x1d37000 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux1:src_0> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear1/fileSequence0.ts' for stream 0x74b3a238 0:00:44.005031807 3820 0x1d37000 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_0> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear1/fileSequence0.ts, range:0 - -1 0:00:44.014716881 3820 0x1d37000 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_0> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear1/fileSequence0.ts 0:00:46.055683029 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux1:src_1> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts' for stream 0x1a066d0 0:00:46.055863695 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts, range:0 - -1 0:00:46.075556399 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts 0:00:47.775499954 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2314:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Fragment download finished: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts 0 ok 0:00:47.781922768 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux1:src_1> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence2.ts' for stream 0x1a066d0 0:00:47.782160361 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence2.ts, range:0 - -1 0:00:47.789753731 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence2.ts 0:00:49.317214880 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2314:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Fragment download finished: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence2.ts 0 ok 0:00:49.323488583 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux1:src_1> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence3.ts' for stream 0x1a066d0 0:00:49.323660583 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence3.ts, range:0 - -1 0:00:49.335948953 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence3.ts 0:00:50.830764027 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2314:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Fragment download finished: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence3.ts 0 ok 0:00:50.835361249 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux1:src_1> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence4.ts' for stream 0x1a066d0 0:00:50.835522842 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence4.ts, range:0 - -1 0:00:50.839917175 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence4.ts 0:00:56.558573804 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2314:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Fragment download finished: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence4.ts 0 ok 0:00:56.563591878 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux1:src_1> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence5.ts' for stream 0x1a066d0 0:00:56.563731581 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence5.ts, range:0 - -1 0:00:56.569021211 3820 0x1d5edb0 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux1:src_1> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence5.ts ... ...We can control this from connection-speed.
# gst-inspect-1.0 hlsdemux ... connection-speed : Network connection speed in kbps (0 = calculate from downloaded fragments) flags: readable, writable Unsigned Integer. Range: 0 - 4294967 Default: 0 ...When using connection-speed=4294967 on gst-launch it starts from high quality.
GST_DEBUG="adaptive*:5" gst-launch-1.0 playbin uri=http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 connection-speed=4294967 2>&1 | grep http 0:00:02.154975000 3870 0xc667b0 DEBUG adaptivedemux gstadaptivedemux.c:558:gst_adaptive_demux_sink_event:<hlsdemux0> Fetched manifest at URI: http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 (base: (NULL)) 0:00:02.280618962 3870 0xba9600 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux0:src_0> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence0.ts' for stream 0x757498d0 0:00:02.280795221 3870 0xba9600 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux0:src_0> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence0.ts, range:0 - -1 0:00:02.294240036 3870 0xba9600 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux0:src_0> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence0.ts 0:00:04.255113443 3870 0x74e294f0 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux0:src_1> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts' for stream 0x74e36b68 0:00:04.255295813 3870 0x74e294f0 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux0:src_1> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts, range:0 - -1 ...Tried the following in enigma2 but it didn't work.
diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index 7be0ca7..6dd196f 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -2248,6 +2283,10 @@ void eServiceMP3::playbinNotifySource(GObject *object, GParamSpec *unused, gpoin g_object_get(object, "source", &source, NULL); if (source) { + if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "connection-speed") != 0) + { + g_object_set(G_OBJECT(source), "connection-speed", 4294967, NULL); + } if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "ssl-strict") != 0) { g_object_set(G_OBJECT(source), "ssl-strict", FALSE, NULL);So I patched the adaptivedemux to use the max value instead of 0.
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c index 87bebf1..c4d8230 100644 --- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c +++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c @@ -132,7 +132,7 @@ GST_DEBUG_CATEGORY (adaptivedemux_debug); #define MAX_DOWNLOAD_ERROR_COUNT 3 #define DEFAULT_FAILED_COUNT 3 -#define DEFAULT_CONNECTION_SPEED 0 +#define DEFAULT_CONNECTION_SPEED G_MAXUINT #define DEFAULT_BITRATE_LIMIT 0.8 #define SRC_QUEUE_MAX_BYTES 20 * 1024 * 1024 /* For safety. Large enough to hold a segment. */Now it selects the maximum quality first (gear4).
root@dm800se:~# GST_DEBUG="adaptive*:5" enigma2 2>&1 | grep http playing 4097:0:1:0:0:0:0:0:0:0:http%3a//devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8:Bip Bop All < 11167.423291> [eServiceMP3] playbin uri=http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 < 11169.092559> [eServiceMP3] GST_STREAM_STATUS_TYPE_CREATE -> setting timeout on souphttpsrc to 30s 0:00:24.118605033 5609 0x1ceb3b0 DEBUG adaptivedemux gstadaptivedemux.c:558:gst_adaptive_demux_sink_event:<hlsdemux0> Fetched manifest at URI: http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 (base: (NULL)) 0:00:24.974235477 5609 0x1c2e200 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux0:src_0> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence0.ts' for stream 0x7374ac08 0:00:24.974773551 5609 0x1c2e200 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux0:src_0> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence0.ts, range:0 - -1 0:00:24.986980958 5609 0x1c2e200 DEBUG adaptivedemux gstadaptivedemux.c:2287:gst_adaptive_demux_stream_download_uri:<hlsdemux0:src_0> Waiting for fragment download to finish: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence0.ts 0:00:27.938667550 5609 0x1b47120 DEBUG adaptivedemux gstadaptivedemux.c:2424:gst_adaptive_demux_stream_download_fragment:<hlsdemux0:src_1> Got url 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts' for stream 0x73774fb0 0:00:27.938831217 5609 0x1b47120 DEBUG adaptivedemux gstadaptivedemux.c:2236:gst_adaptive_demux_stream_download_uri:<hlsdemux0:src_1> Downloading uri: http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts, range:0 - -1But again I see a gap in frames, it starts from 1 and after a while it goes directly to 300 something.
Posted 26 November 2015 - 23:45
Posted 27 November 2015 - 02:16
Why I don't , but with the base gstdvbaudiosink it was always done like that.
First send header(with the data settings required for the actif mediadata)-payloadsize-codec-data. if ok
send the media-data self.
Gues the reason You cant send all in a single buffer could be find in to dvb manual.
OK but for AAC there it is not required, also seems that for video decoder this is also not required.
In terms of performance this does not have sens because write as you know it is system call. So, one system call is better then two.
Also I do not see in mediasink logic that will check if header was accepted or not. So, even if the header is wrong you still write payload data.
Edited by samsamsam, 27 November 2015 - 02:19.
Posted 27 November 2015 - 06:07
Athoik, the loss of frames can also be caused by difference in key-allignment and gop-size between the different streams.
Posted 27 November 2015 - 17:30
@athoik
try to set connection-speed directly for playbin, as you did here:gst-launch-1.0 playbin uri=http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 connection-speed=4294967 2>&1 | grep http
diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index f65ca96..efe3f8e 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -595,6 +595,9 @@ eServiceMP3::eServiceMP3(eServiceReference ref): /* increase the default 2 second / 2 MB buffer limitations to 5s / 5MB */ g_object_set(G_OBJECT(m_gst_playbin), "buffer-duration", 5LL * GST_SECOND, NULL); g_object_set(G_OBJECT(m_gst_playbin), "buffer-size", m_buffer_size, NULL); + + /* use max connection-speed to start always from high quality */ + g_object_set(G_OBJECT(m_gst_playbin), "connection-speed", 4294967, NULL); } g_object_set (G_OBJECT (m_gst_playbin), "flags", flags, NULL); g_object_set (G_OBJECT (m_gst_playbin), "uri", uri, NULL);But again there is frame loss (count starts almost with 300 something) although it starts with high quality (gear4).
Posted 27 November 2015 - 21:46
<104643.427760> [eServiceMP3] playbin uri=http://94.23.218.186:1935/kanali5/kanali5/playlist.m3u8 <104643.430481> [eServiceMP3] starting pipeline <104643.493486> [eServiceMP3] state transition NULL -> READY resolved to PLAY <104643.555682> [eServiceMP3] trickSeek no need to unpause! resolved to PLAY <104643.560472> [eServiceMP3] trickSeek no need to unpause! resolved to PLAY <104643.565201> [eServiceMP3] trickSeek no need to unpause! new service started! trying to download cuts! RemovePopup, id = ZapError <104643.570435> [eServiceMP3] GST_STREAM_STATUS_TYPE_CREATE -> setting timeout on souphttpsrc to 30s <104673.570315> [eServiceMP3] http source timeout! issuing eof... <104673.570665> [eServiceMP3] stop http://94.23.218.186:1935/kanali5/kanali5/playlist.m3u8 <104676.577402> [gRC] main thread is non-idle! display spinner!Might be interesting to find what causes the deadlock.
DVB subtitles support in eServiceMP3/GStreamerStarted by DimitarCC, 17 Oct 2024 DVB, Subtitles, GStreamer |
|
|||
Change from openvix to openpli - lose existing hdd recordings?Started by xdoktor, 30 Dec 2023 openpli, openvix, hdd, recordings |
|
|||
Having Trouble While Installing This SoftwareStarted by CharleyDavis, 27 Jun 2023 OpenPLi |
|
|||
Faild to flash or update OPENPLIStarted by dede_one, 8 Oct 2022 openpli |
|
|||
hd+ funktioneret nichtStarted by JeppeG, 29 Sep 2022 Vu+, hd+, oscam, openpli |
|
0 members, 7 guests, 0 anonymous users