I also tried directly to use gst-launch-1.0 with added decoded http-headers, but still the same problem, so it looks like there is no issue in gstplayer.
It's tested on mentioned 1.6.3 version so maybe there is no problem with higher version.
Posted 10 October 2016 - 23:38
@samsamsam, I'm trying to apply your patch to ffmpeg-3.1.4 but it fails to build.
| /media/data2/openpli-oe-core/build/tmp/sysroots/x86_64-linux/usr/libexec/mipsel-oe-linux/gcc/mipsel-oe-linux/4.9.1/ld: Removing unused section '.reginfo' in file '/media/data2/openpli-oe-core/build/tmp/sysroots/vusolo2/usr/lib/crtn.o' | libavformat/libavformat.so: undefined reference to `ff_rtmpte_protocol' | libavformat/libavformat.so: undefined reference to `ff_rtmps_protocol' | libavformat/libavformat.so: undefined reference to `ff_rtmp_protocol' | libavformat/libavformat.so: undefined reference to `ff_rtmpts_protocol' | libavformat/libavformat.so: undefined reference to `ff_rtmpe_protocol' | libavformat/libavformat.so: undefined reference to `ff_rtmpt_protocol' | collect2: error: ld returned 1 exit status
I've attached the diff between before and after applying your patch and also re-add the --enable-librtmp option.
Maybe my rtmpdump (which also provides librtmp in my case) release is not the correct one (according to iptv-player it's deprecated), which version are you using?
I'm using this one: https://github.com/o.../commits/master (also for providing librtmp).
Posted 11 October 2016 - 00:56
Hello,
For test I use ffmpeg v3.0.
In you patch there the part from libavformat/allformats.c is missing.
diff -Naur ffmpeg-3.0/libavformat/allformats.c rtmp_ffmpeg-3.0/libavformat/allformats.c --- ffmpeg-3.0/libavformat/allformats.c 2016-02-15 03:29:41.000000000 +0100 +++ rtmp_ffmpeg-3.0/libavformat/allformats.c 2016-10-11 01:43:05.152745177 +0200 @@ -387,12 +387,12 @@ REGISTER_PROTOCOL(MMST, mmst); REGISTER_PROTOCOL(MD5, md5); REGISTER_PROTOCOL(PIPE, pipe); - REGISTER_PROTOCOL(RTMP, rtmp); - REGISTER_PROTOCOL(RTMPE, rtmpe); - REGISTER_PROTOCOL(RTMPS, rtmps); - REGISTER_PROTOCOL(RTMPT, rtmpt); - REGISTER_PROTOCOL(RTMPTE, rtmpte); - REGISTER_PROTOCOL(RTMPTS, rtmpts); +REGISTER_PROTOCOL(FFRTMP, ffrtmp); +REGISTER_PROTOCOL(FFRTMPE, ffrtmpe); +REGISTER_PROTOCOL(FFRTMPS, ffrtmps); +REGISTER_PROTOCOL(FFRTMPT, ffrtmpt); +REGISTER_PROTOCOL(FFRTMPTE, ffrtmpte); +REGISTER_PROTOCOL(FFRTMPTS, ffrtmpts); REGISTER_PROTOCOL(RTP, rtp); REGISTER_PROTOCOL(SCTP, sctp); REGISTER_PROTOCOL(SRTP, srtp);
Posted 11 October 2016 - 03:51
It seems the ffmpeg sources for librtmp support have been changed a lot between 3.0 and 3.1.4.
The changes to libavformat/allformats.c are not possible anymore as there is no REGISTER_PROTOCOL anymore.
Also I don't really understand your sed statements:
This one changes: sed -i 's/CONFIG_RTMP_PROTOCOL/CONFIG_FFRTMP_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile But for these you're replacing the string with the same string? sed -i 's/CONFIG_RTMPE_PROTOCOL/CONFIG_RTMPE_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile sed -i 's/CONFIG_RTMPS_PROTOCOL/CONFIG_RTMPS_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile sed -i 's/CONFIG_RTMPT_PROTOCOL/CONFIG_RTMPT_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile sed -i 's/CONFIG_RTMPTE_PROTOCOL/CONFIG_RTMPTE_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile sed -i 's/CONFIG_RTMPTS_PROTOCOL/CONFIG_RTMPTS_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile
Edited by MastaG, 11 October 2016 - 03:51.
Posted 11 October 2016 - 13:42
This should be:
sed -i 's/CONFIG_RTMPE_PROTOCOL/CONFIG_FFRTMPE_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile ...
But this does not matter because it is enough:
sed -i 's/CONFIG_RTMP_PROTOCOL/CONFIG_FFRTMP_PROTOCOL/g' $FFMPEG_PATH/libavformat/Makefile
Regards,
SSS
Edited by samsamsam, 11 October 2016 - 13:42.
Posted 11 October 2016 - 14:01
In version 3.1 you must simply modify:
libavformat/protocols.c
-extern const URLProtocol ff_rtmp_protocol; +extern const URLProtocol ff_ffrtmp_protocol; -extern const URLProtocol ff_rtmpe_protocol; +extern const URLProtocol ff_ffrtmpe_protocol; -extern const URLProtocol ff_rtmps_protocol; +extern const URLProtocol ff_ffrtmps_protocol; -extern const URLProtocol ff_rtmpt_protocol; +extern const URLProtocol ff_ffrtmpt_protocol; -extern const URLProtocol ff_rtmpte_protocol; +extern const URLProtocol ff_ffrtmpte_protocol; -extern const URLProtocol ff_rtmpts_protocol; +extern const URLProtocol ff_ffrtmpts_protocol;
and this part accordingly
#if CONFIG_RTMP_PROTOCOL &ff_rtmp_protocol, #endif #if CONFIG_RTMPE_PROTOCOL &ff_rtmpe_protocol, #endif #if CONFIG_RTMPS_PROTOCOL &ff_rtmps_protocol, #endif #if CONFIG_RTMPT_PROTOCOL &ff_rtmpt_protocol, #endif #if CONFIG_RTMPTE_PROTOCOL &ff_rtmpte_protocol, #endif #if CONFIG_RTMPTS_PROTOCOL &ff_rtmpts_protocol, #endif
Regards,
SSS
Edited by samsamsam, 11 October 2016 - 14:03.
Posted 11 October 2016 - 14:03
@mx3L
Ive just tested your latest Serviceapp fixes and I'm very pleased to inform you theyve cured all the issues we mentioned earlier.
Excellent job.
I will test further over the coming days,to see if anything else is failing through Serviceapp,but I do believe that these latest fixes will have a massive positive effect upon many addons which previously would not stream.
Many Thanks.
Ian.
Posted 13 October 2016 - 12:32
Hi samsamsam'
I do not have this part in ffmpeg 3.1.4:
#if CONFIG_RTMP_PROTOCOL &ff_rtmp_protocol, #endif #if CONFIG_RTMPE_PROTOCOL &ff_rtmpe_protocol, #endif #if CONFIG_RTMPS_PROTOCOL &ff_rtmps_protocol, #endif #if CONFIG_RTMPT_PROTOCOL &ff_rtmpt_protocol, #endif #if CONFIG_RTMPTE_PROTOCOL &ff_rtmpte_protocol, #endif #if CONFIG_RTMPTS_PROTOCOL &ff_rtmpts_protocol, #endif
However all other modifications have been made and it builds successful with --enable-librtmp.
This is the patch:
--- ffmpeg-3.1.4.orig/configure 2016-10-01 03:12:41.000000000 +0200 +++ ffmpeg-3.1.4/configure 2016-10-13 10:55:16.843636047 +0200 @@ -2934,10 +2934,8 @@ # protocols async_protocol_deps="threads" bluray_protocol_deps="libbluray" -ffrtmpcrypt_protocol_deps="!librtmp_protocol" ffrtmpcrypt_protocol_deps_any="gcrypt gmp openssl" ffrtmpcrypt_protocol_select="tcp_protocol" -ffrtmphttp_protocol_deps="!librtmp_protocol" ffrtmphttp_protocol_select="http_protocol" ftp_protocol_select="tcp_protocol" gopher_protocol_select="network" @@ -2954,14 +2952,12 @@ libssh_protocol_deps="libssh" mmsh_protocol_select="http_protocol" mmst_protocol_select="network" -rtmp_protocol_deps="!librtmp_protocol" -rtmp_protocol_select="tcp_protocol" -rtmpe_protocol_select="ffrtmpcrypt_protocol" -rtmps_protocol_deps="!librtmp_protocol" -rtmps_protocol_select="tls_protocol" -rtmpt_protocol_select="ffrtmphttp_protocol" -rtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" -rtmpts_protocol_select="ffrtmphttp_protocol https_protocol" +ffrtmp_protocol_select="tcp_protocol" +ffrtmpe_protocol_select="ffrtmpcrypt_protocol" +ffrtmps_protocol_select="tls_protocol" +ffrtmpt_protocol_select="ffrtmphttp_protocol" +ffrtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" +ffrtmpts_protocol_select="ffrtmphttp_protocol https_protocol" rtp_protocol_select="udp_protocol" sctp_protocol_deps="struct_sctp_event_subscribe struct_msghdr_msg_flags" sctp_protocol_select="network" diff -Naur ffmpeg-3.1.4.orig/libavformat/hls.c ffmpeg-3.1.4/libavformat/hls.c --- ffmpeg-3.1.4.orig/libavformat/hls.c 2016-10-11 00:22:57.379647391 +0200 +++ ffmpeg-3.1.4/libavformat/hls.c 2016-10-13 10:55:16.634641807 +0200 @@ -1756,7 +1756,7 @@ for (i = 0; i < c->n_playlists; i++) c->playlists[i]->cur_needed = 0; - for (i = 0; i < s->nb_streams; i++) { + for (i = 0; i < s->nb_streams && s->streams[i]->id < c->n_playlists; i++) { AVStream *st = s->streams[i]; struct playlist *pls = c->playlists[s->streams[i]->id]; if (st->discard < AVDISCARD_ALL) diff -Naur ffmpeg-3.1.4.orig/libavformat/Makefile ffmpeg-3.1.4/libavformat/Makefile --- ffmpeg-3.1.4.orig/libavformat/Makefile 2016-10-01 03:12:42.000000000 +0200 +++ ffmpeg-3.1.4/libavformat/Makefile 2016-10-13 10:59:38.558442671 +0200 @@ -553,12 +553,12 @@ OBJS-$(CONFIG_MMSH_PROTOCOL) += mmsh.o mms.o asf.o OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf.o OBJS-$(CONFIG_PIPE_PROTOCOL) += file.o -OBJS-$(CONFIG_RTMP_PROTOCOL) += rtmpproto.o rtmppkt.o -OBJS-$(CONFIG_RTMPE_PROTOCOL) += rtmpproto.o rtmppkt.o -OBJS-$(CONFIG_RTMPS_PROTOCOL) += rtmpproto.o rtmppkt.o -OBJS-$(CONFIG_RTMPT_PROTOCOL) += rtmpproto.o rtmppkt.o -OBJS-$(CONFIG_RTMPTE_PROTOCOL) += rtmpproto.o rtmppkt.o -OBJS-$(CONFIG_RTMPTS_PROTOCOL) += rtmpproto.o rtmppkt.o +OBJS-$(CONFIG_FFRTMP_PROTOCOL) += rtmpproto.o rtmppkt.o +OBJS-$(CONFIG_FFRTMPE_PROTOCOL) += rtmpproto.o rtmppkt.o +OBJS-$(CONFIG_FFRTMPS_PROTOCOL) += rtmpproto.o rtmppkt.o +OBJS-$(CONFIG_FFRTMPT_PROTOCOL) += rtmpproto.o rtmppkt.o +OBJS-$(CONFIG_FFRTMPTE_PROTOCOL) += rtmpproto.o rtmppkt.o +OBJS-$(CONFIG_FFRTMPTS_PROTOCOL) += rtmpproto.o rtmppkt.o OBJS-$(CONFIG_RTP_PROTOCOL) += rtpproto.o OBJS-$(CONFIG_SCTP_PROTOCOL) += sctp.o OBJS-$(CONFIG_SRTP_PROTOCOL) += srtpproto.o srtp.o diff -Naur ffmpeg-3.1.4.orig/libavformat/protocols.c ffmpeg-3.1.4/libavformat/protocols.c --- ffmpeg-3.1.4.orig/libavformat/protocols.c 2016-10-01 03:12:42.000000000 +0200 +++ ffmpeg-3.1.4/libavformat/protocols.c 2016-10-13 10:57:56.663243319 +0200 @@ -43,12 +43,12 @@ extern const URLProtocol ff_mmst_protocol; extern const URLProtocol ff_md5_protocol; extern const URLProtocol ff_pipe_protocol; -extern const URLProtocol ff_rtmp_protocol; -extern const URLProtocol ff_rtmpe_protocol; -extern const URLProtocol ff_rtmps_protocol; -extern const URLProtocol ff_rtmpt_protocol; -extern const URLProtocol ff_rtmpte_protocol; -extern const URLProtocol ff_rtmpts_protocol; +extern const URLProtocol ff_ffrtmp_protocol; +extern const URLProtocol ff_ffrtmpe_protocol; +extern const URLProtocol ff_ffrtmps_protocol; +extern const URLProtocol ff_ffrtmpt_protocol; +extern const URLProtocol ff_ffrtmpte_protocol; +extern const URLProtocol ff_ffrtmpts_protocol; extern const URLProtocol ff_rtp_protocol; extern const URLProtocol ff_sctp_protocol; extern const URLProtocol ff_srtp_protocol; diff -Naur ffmpeg-3.1.4.orig/libavformat/rtmpproto.c ffmpeg-3.1.4/libavformat/rtmpproto.c --- ffmpeg-3.1.4.orig/libavformat/rtmpproto.c 2016-10-01 03:12:42.000000000 +0200 +++ ffmpeg-3.1.4/libavformat/rtmpproto.c 2016-10-13 10:55:16.862635525 +0200 @@ -2578,7 +2578,7 @@ static int rtmp_open(URLContext *s, const char *uri, int flags) { RTMPContext *rt = s->priv_data; - char proto[8], hostname[256], path[1024], auth[100], *fname; + char *proto, tmpProto[10], hostname[256], path[1024], auth[100], *fname; char *old_app, *qmark, *n, fname_buffer[1024]; uint8_t buf[2048]; int port; @@ -2590,7 +2590,7 @@ rt->is_input = !(flags & AVIO_FLAG_WRITE); - av_url_split(proto, sizeof(proto), auth, sizeof(auth), + memset(tmpProto, 0, sizeof(tmpProto)); proto = &tmpProto[2]; av_url_split(tmpProto, sizeof(tmpProto), auth, sizeof(auth), hostname, sizeof(hostname), &port, path, sizeof(path), s->filename); @@ -3124,9 +3124,9 @@ }; -RTMP_PROTOCOL(rtmp) -RTMP_PROTOCOL(rtmpe) -RTMP_PROTOCOL(rtmps) -RTMP_PROTOCOL(rtmpt) -RTMP_PROTOCOL(rtmpte) -RTMP_PROTOCOL(rtmpts) +RTMP_PROTOCOL(ffrtmp) +RTMP_PROTOCOL(ffrtmpe) +RTMP_PROTOCOL(ffrtmps) +RTMP_PROTOCOL(ffrtmpt) +RTMP_PROTOCOL(ffrtmpte) +RTMP_PROTOCOL(ffrtmpts)
I've yet to try some rtmp streams but HLS streams are working fine.
Another question (unrelated to serviceapp).
Does exteplayer3 call the /usr/bin/ffmpeg library in any way?
Posted 13 October 2016 - 14:06
Thank you SSS
@Fairbird, the patch is unrelated to PLi4 or 5, it's a modification by SSS to allow ffmpeg use both internal and external librtmp implementations.
It's to be used with his exteplayer3 player.
See: https://github.com/s...7cb963e501ed16b
Posted 15 October 2016 - 11:28
hello best friends i have this error when i try to build image out oe-alliance
enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/build/src'
make[1]: Entering directory '/home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/build'make[2]: Entering directory '/home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/build'make[2]: Nothing to be done for 'install-exec-am'.make[2]: Nothing to be done for 'install-data-am'.make[2]: Leaving directory '/home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/build'make[1]: Leaving directory '/home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/build'rm: cannot remove '/home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/image/usr/lib/enigma2/python/Plugins/Extensions/ServiceApp/*.pyc': No such file or directoryWARNING: /home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/temp/run.do_install.22709:1 exit 1 from 'rm /home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/image/usr/lib/enigma2/python/Plugins/Extensions/ServiceApp/*.pyc'ERROR: Function failed: do_install (log file is located at /home/openatvbuilder/openatv/build-enviroment/builds/openbh/release/vusolo2/tmp/work/mips32el-oe-linux/enigma2-plugin-extensions-serviceapp/0.5-r0/temp/log.do_install.22709)
so i delet it from the bb file but i don' t know if it will be ok of sss need to change something on the bb file
Posted 15 October 2016 - 11:32
Rename Extensions to Systemplugins.
DESCRIPTION = "serviceapp service for enigma2" AUTHOR = "Maroš Ondrášek <mx3ldev@gmail.com>" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "enigma2 uchardet" RDEPENDS_${PN} = "uchardet" SRCREV = "e28958c6e41db3d276adc649b4a8af4169bcfcae" SRC_URI = "git://github.com/mx3L/serviceapp.git;branch=master" S = "${WORKDIR}/git" inherit autotools pythonnative EXTRA_OECONF = "\ BUILD_SYS=${BUILD_SYS} \ HOST_SYS=${HOST_SYS} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_LIBDIR=${STAGING_LIBDIR} \ " do_install_append() { rm ${D}${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/*.pyc } FILES_${PN} = "\ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/*.pyo \ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/serviceapp.so" FILES_${PN}-dev = "\ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/*.py \ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/serviceapp.la"
Dreambox dm920, Uclan Ustym4Kpro, Gigablue UHD TRIO 4K and Dreambox dm8000. Wavefrontier T55 13.0|19.2|23.5|28.2 + Ziggo.
Posted 15 October 2016 - 11:44
Rename Extensions to Systemplugins.
DESCRIPTION = "serviceapp service for enigma2" AUTHOR = "Maroš Ondrášek <mx3ldev@gmail.com>" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "enigma2 uchardet" RDEPENDS_${PN} = "uchardet" SRCREV = "e28958c6e41db3d276adc649b4a8af4169bcfcae" SRC_URI = "git://github.com/mx3L/serviceapp.git;branch=master" S = "${WORKDIR}/git" inherit autotools pythonnative EXTRA_OECONF = "\ BUILD_SYS=${BUILD_SYS} \ HOST_SYS=${HOST_SYS} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_LIBDIR=${STAGING_LIBDIR} \ " do_install_append() { rm ${D}${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/*.pyc } FILES_${PN} = "\ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/*.pyo \ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/serviceapp.so" FILES_${PN}-dev = "\ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/*.py \ ${libdir}/enigma2/python/Plugins/SystemPlugins/ServiceApp/serviceapp.la"
yes beeker i do it
i just let sss known what is wrong i think beter that he changed in bb files to pyo in place pyc
bedankt beekertje
DVB subtitles support in eServiceMP3/GStreamerStarted by DimitarCC, 17 Oct 2024 DVB, Subtitles, GStreamer |
|
|||
Is het denkbaar om GStreamer te vervangen door VLC in toekomstige release?Started by Niceguy, 13 Jan 2022 GStreamer, VLC |
|
|||
Openpli 8.0 ffmpeg problemStarted by tigrousad, 2 Mar 2021 serviceapp, ffmpeg, exteplayer3 and 2 more... |
|
|||
DTS geluid probleem op Pli 6.0 Mutant, Werkt op Pli 4.0 VuDuoStarted by Niceguy, 9 Jan 2018 Gstreamer, Audio DTS |
|
|||
ISo en VOB afspelen in OpenPli 6.1Started by dutcharnie, 8 Jan 2018 ISO, DVD, Gstreamer |
|
0 members, 8 guests, 0 anonymous users