diff options
author | Juergen Lock <nox@FreeBSD.org> | 2011-03-26 19:18:39 +0000 |
---|---|---|
committer | Juergen Lock <nox@FreeBSD.org> | 2011-03-26 19:18:39 +0000 |
commit | 871aa3a299feb81d5cc275d611421a4572a216ac (patch) | |
tree | 56633ac71e94d86eecd6b6a38760e3801e9bb56b /multimedia/vdr-plugin-iptv | |
parent | 64f3861442f393e33ffeae8143047216adf36ccf (diff) | |
download | ports-871aa3a299feb81d5cc275d611421a4572a216ac.tar.gz ports-871aa3a299feb81d5cc275d611421a4572a216ac.zip |
This is an IPTV plugin for the Video Disk Recorder (VDR).
This plugin integrates multicast IPTV transport streams seamlessly into
VDR. You can use any IPTV channel like any other normal DVB channel for
live viewing, recording, etc. The plugin also features full section
filtering capabilities which allow for example EIT information to be
extracted from the incoming stream.
Currently the IPTV plugin has direct support for both multicast UDP/RTP
and unicast HTTP MPEG1/2 transport streams. Also a file input method is
supported, but a file delay must be selected individually to prevent
VDR's transfer buffer over/underflow. Therefore the file input should be
considered as a testing feature only.
IPTV plugin also features a support for external streaming applications.
With proper helper applications and configuration IPTV plugin is able to
display not only MPEG1/2 transport streams but also other formats like
MP3 radio streams, mms video streams and so on.
WWW: http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
Notes
Notes:
svn path=/head/; revision=271802
Diffstat (limited to 'multimedia/vdr-plugin-iptv')
30 files changed, 364 insertions, 0 deletions
diff --git a/multimedia/vdr-plugin-iptv/Makefile b/multimedia/vdr-plugin-iptv/Makefile new file mode 100644 index 000000000000..7b05b686b037 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/Makefile @@ -0,0 +1,74 @@ +# New ports collection makefile for: vdr-plugin-remote +# Date created: Sun Aug 29 18:11:42 CEST 2010 +# Whom: Juergen Lock <nox@freebsd.org> +# +# $FreeBSD$ +# + +PORTNAME= vdr-plugin-iptv +PORTVERSION= 0.4.2 +PORTREVISION= 6 +CATEGORIES= multimedia +MASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/ +DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} +EXTRACT_SUFX= .tgz + +MAINTAINER= nox@FreeBSD.org +COMMENT= Video Disk Recorder - IP television plugin + +PATCH_STRIP= -p1 +HAVE_CONFIGURE= yes +PORTDOCS= COPYING README +PORTEXAMPLES= channels.conf.iptv +MAKE_JOBS_SAFE= yes +WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION} + +.include "${.CURDIR}/../vdr/Makefile.plugins" + +post-patch: post-patch-plugin + @${REINPLACE_CMD} 's|^\(CHANNELS_CONF[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${PREFIX}/etc/vdr/channels.conf|;'\\ + 's|^\(CHANNEL_SETTINGS_DIR[[:space:]]*\)[?]*\(=[[:space:]]*\)/etc|\1\2${PREFIX}/etc|;'\ + ${WRKSRC}/iptv/vlc2iptv + +post-install: post-install-pluginlocales + @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN} + @${MKDIR} ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput + @${INSTALL_DATA} ${FILESDIR}/vlcinput/*.conf ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput + @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/image.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/image.sh.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/image.sh ]; then \ + ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/image.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi + @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/internetradio.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/internetradio.sh.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/internetradio.sh ]; then \ + ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/internetradio.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi + @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream-notrap.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream-notrap.sh.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream-notrap.sh ]; then \ + ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream-notrap.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi + @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream.sh.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream.sh ]; then \ + ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi + @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/linein.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/linein.sh.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/linein.sh ]; then \ + ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/linein.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi + @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/vlc2iptv ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlc2iptv.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlc2iptv ]; then \ + ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/vlc2iptv ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi + @${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/webcam.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}/webcam.sh.sample + @if [ ! -f ${PREFIX}/etc/vdr/plugins/${PLUGIN}/webcam.sh ]; then \ + ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/webcam.sh ${PREFIX}/etc/vdr/plugins/${PLUGIN}; \ + fi +.if !defined(NOPORTEXAMPLES) + ${MKDIR} ${EXAMPLESDIR} + ${INSTALL_DATA} ${FILESDIR}/channels.conf.iptv ${EXAMPLESDIR} +.endif +.if !defined(NOPORTDOCS) + ${MKDIR} ${DOCSDIR} + (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) +.endif + +.include <bsd.port.mk> diff --git a/multimedia/vdr-plugin-iptv/distinfo b/multimedia/vdr-plugin-iptv/distinfo new file mode 100644 index 000000000000..efd1c9c89b51 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/distinfo @@ -0,0 +1,2 @@ +SHA256 (vdr/vdr-iptv-0.4.2.tgz) = 3f86533d12414a7fa725eeedc75b64383e0de52b741cf418d9b60af5a76a9739 +SIZE (vdr/vdr-iptv-0.4.2.tgz) = 47565 diff --git a/multimedia/vdr-plugin-iptv/files/channels.conf.iptv b/multimedia/vdr-plugin-iptv/files/channels.conf.iptv new file mode 100644 index 000000000000..3c4fe6f5d22f --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/channels.conf.iptv @@ -0,0 +1,17 @@ +:@950 iptv-plugin +BBC-radio1;IPTV:2010:S=0|P=0|F=EXT|U=vlc2iptv|A=2010:I:0:0:6=eng@3:0:0:1:0:0:0 +BBC-radio1xtra;IPTV:2020:S=0|P=0|F=EXT|U=vlc2iptv|A=2020:I:0:0:6=eng@3:0:0:1:0:0:0 +BBC-radio2;IPTV:2030:S=0|P=0|F=EXT|U=vlc2iptv|A=2030:I:0:0:6=eng@3:0:0:1:0:0:0 +BBC-radio3;IPTV:2040:S=0|P=0|F=EXT|U=vlc2iptv|A=2040:I:0:0:6=eng@3:0:0:1:0:0:0 +BBC-radio4;IPTV:2050:S=0|P=0|F=EXT|U=vlc2iptv|A=2050:I:0:5=2:6=eng@3:0:0:1:0:0:0 +BBC-radio4lw;IPTV:2060:S=0|P=0|F=EXT|U=vlc2iptv|A=2060:I:0:0:6=eng@3:0:0:1:0:0:0 +BBC-radio5liveint;IPTV:2070:S=0|P=0|F=EXT|U=vlc2iptv|A=2070:I:0:0:6=eng@3:0:0:1:0:0:0 +BBC-radio5livesport;IPTV:2080:S=0|P=0|F=EXT|U=vlc2iptv|A=2080:I:0:5=2:6=eng@3:0:0:1:0:0:0 +BBC-radio6music;IPTV:2090:S=0|P=0|F=EXT|U=vlc2iptv|A=2090:I:0:0:6=eng@3:0:0:1:0:0:0 +BBC-radio7;IPTV:2100:S=0|P=0|F=EXT|U=vlc2iptv|A=2100:I:0:5=2:6=eng@3:0:0:1:0:0:0 +THE_VOICE;IPTV:3010:S=0|P=0|F=EXT|U=vlc2iptv|A=3010:I:0:0:6=eng@3:0:0:1:0:0:0 +3Sat;IPTV:3020:S=0|P=0|F=EXT|U=vlc2iptv|A=3020:I:0:2=2:3=@4:0:0:7:0:0:0 +Sky-News;IPTV:3030:S=0|P=0|F=EXT|U=vlc2iptv|A=3030:I:0:5=2:6=eng@3:0:0:1:0:0:0 +NASA;IPTV:4010:S=0|P=0|F=EXT|U=vlc2iptv|A=4010:I:0:5=2:6=eng@3:0:0:1:0:0:0 +NASA-500-Kbit;IPTV:4020:S=0|P=0|F=EXT|U=vlc2iptv|A=4020:I:0:5=2:6=eng@3:0:0:1:0:0:0 +NASA-1200-Kbit;IPTV:4030:S=0|P=0|F=EXT|U=vlc2iptv|A=4030:I:0:5=2:6=eng@3:0:0:1:0:0:0 diff --git a/multimedia/vdr-plugin-iptv/files/patch-Makefile b/multimedia/vdr-plugin-iptv/files/patch-Makefile new file mode 100644 index 000000000000..14bc0deb01f0 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/patch-Makefile @@ -0,0 +1,31 @@ +--- a/Makefile ++++ b/Makefile +@@ -50,7 +50,8 @@ PACKAGE = vdr-$(ARCHIVE) + + ### Includes and Defines (add further entries here): + +-INCLUDES += -I$(VDRDIR)/include ++#INCLUDES += -I$(VDRDIR)/include ++INCLUDES += -I$(VDRDIR) + + DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' + +@@ -117,7 +118,11 @@ libvdr-$(PLUGIN).so: $(OBJS) + ifndef IPTV_DEBUG + @$(STRIP) $@ + endif ++ifdef FREEBSD ++ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION) ++else + @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) ++endif + + dist: clean + @-rm -rf $(TMPDIR)/$(ARCHIVE) +@@ -129,3 +134,6 @@ dist: clean + + clean: + @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot ++ ++install: ++ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) $(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION) diff --git a/multimedia/vdr-plugin-iptv/files/patch-common.h b/multimedia/vdr-plugin-iptv/files/patch-common.h new file mode 100644 index 000000000000..4e2a3ccb5c7c --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/patch-common.h @@ -0,0 +1,29 @@ +--- a/common.h ++++ b/common.h +@@ -36,6 +36,7 @@ + + #define SECTION_FILTER_TABLE_SIZE 7 + ++#ifndef __FreeBSD__ + #define ERROR_IF_FUNC(exp, errstr, func, ret) \ + do { \ + if (exp) { \ +@@ -45,6 +46,18 @@ + ret; \ + } \ + } while (0) ++#else ++#define ERROR_IF_FUNC(exp, errstr, func, ret) \ ++ do { \ ++ if (exp) { \ ++ char tmp[64]; \ ++ strerror_r(errno, tmp, sizeof(tmp)); \ ++ error(errstr": %s", tmp); \ ++ func; \ ++ ret; \ ++ } \ ++ } while (0) ++#endif + + + #define ERROR_IF_RET(exp, errstr, ret) ERROR_IF_FUNC(exp, errstr, ,ret); diff --git a/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv b/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv new file mode 100644 index 000000000000..0db083d35828 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv @@ -0,0 +1,28 @@ +--- a/iptv/vlc2iptv ++++ b/iptv/vlc2iptv +@@ -29,6 +29,8 @@ CHANNELS_CONF=/usr/local/etc/vdr/channel + CHANNEL_SETTINGS_DIR=/usr/local/etc/vdr/plugins/iptv/vlcinput/ + VIDEO_BITRATE=2400 + AUDIO_BITRATE=320 ++AUDIO_CODEC=mpga ++VIDEO_CODEC=mp2v + + # + # </Global Settings> +@@ -88,13 +90,6 @@ else + RESIZE_OPTIONS="" + fi + +-vlc "${URL}" \ +- --sout "#transcode{vcodec=mp2v$RESIZE_OPTIONS,acodec=mpga,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \ +- --intf dummy & +- +-PID=${!} +- +-trap 'kill -INT ${PID} 2> /dev/null' INT EXIT QUIT TERM +- +-# Waiting for the given PID to terminate +-wait ${PID} ++exec vlc "${URL}" \ ++ --sout "#transcode{vcodec=$VIDEO_CODEC$RESIZE_OPTIONS,acodec=$AUDIO_CODEC,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \ ++ --intf dummy diff --git a/multimedia/vdr-plugin-iptv/files/patch-protocolext.c b/multimedia/vdr-plugin-iptv/files/patch-protocolext.c new file mode 100644 index 000000000000..65a30dae98ac --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/patch-protocolext.c @@ -0,0 +1,28 @@ +--- a/protocolext.c ++++ b/protocolext.c +@@ -82,6 +82,7 @@ void cIptvProtocolExt::TerminateScript(v + error("Script '%s' won't terminate - killing it!", *scriptFile); + kill(pid, SIGKILL); + } ++#ifdef linux + // Clear wait status to make sure child exit status is accessible + memset(&waitStatus, '\0', sizeof(waitStatus)); + // Wait for child termination +@@ -94,6 +95,17 @@ void cIptvProtocolExt::TerminateScript(v + debug("Child (%d) exited as expected\n", pid); + waitOver = true; + } ++#else ++ int status = 0; ++ retval = waitpid(pid, &status, (WNOHANG)); ++ ERROR_IF_RET(retval < 0, "waitid()", waitOver = true); ++ // These are the acceptable conditions under which child exit is ++ // regarded as successful ++ if (!retval && (WIFEXITED(status) || WIFSIGNALED(status))) { ++ debug("Child (%d) exited as expected\n", pid); ++ waitOver = true; ++ } ++#endif + // Unsuccessful wait, avoid busy looping + if (!waitOver) + cCondWait::SleepMs(timeoutms); diff --git a/multimedia/vdr-plugin-iptv/files/patch-sectionfilter.h b/multimedia/vdr-plugin-iptv/files/patch-sectionfilter.h new file mode 100644 index 000000000000..cd9ed3a9011c --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/patch-sectionfilter.h @@ -0,0 +1,10 @@ +--- a/sectionfilter.h ++++ b/sectionfilter.h +@@ -9,6 +9,7 @@ + #define __IPTV_SECTIONFILTER_H + + #include <vdr/device.h> ++#include <sys/socket.h> + + #include "common.h" + #include "statistics.h" diff --git a/multimedia/vdr-plugin-iptv/files/patch-socket.h b/multimedia/vdr-plugin-iptv/files/patch-socket.h new file mode 100644 index 000000000000..c11eca14a521 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/patch-socket.h @@ -0,0 +1,10 @@ +--- a/socket.h ++++ b/socket.h +@@ -9,6 +9,7 @@ + #define __IPTV_SOCKET_H + + #include <arpa/inet.h> ++#include <netinet/in.h> + + class cIptvSocket { + protected: diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf new file mode 100644 index 000000000000..1c26db3a5d25 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf @@ -0,0 +1 @@ +URL="http://wstreaming.zdf.de/encoder/3sat_h.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf new file mode 100644 index 000000000000..3dc4291e3bef --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r1.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf new file mode 100644 index 000000000000..50438deeef78 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r1x.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf new file mode 100644 index 000000000000..7a5e314564e1 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r2.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf new file mode 100644 index 000000000000..e6d09c2e0f24 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r3.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf new file mode 100644 index 000000000000..eb918da91160 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r4.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf new file mode 100644 index 000000000000..d223215d43e7 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r4lw.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf new file mode 100644 index 000000000000..62c8fcc4cc20 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/fivelive/live/live_int.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf new file mode 100644 index 000000000000..1024a0006956 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r5lsp.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf new file mode 100644 index 000000000000..582196ac084e --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r6.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf new file mode 100644 index 000000000000..9d7961eb68cc --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf @@ -0,0 +1,3 @@ +# see: +# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto +URL="http://www.bbc.co.uk/radio/listen/live/r7.asx" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf new file mode 100644 index 000000000000..a72ebfa097bf --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf @@ -0,0 +1 @@ +URL="http://www.bundesligen-tv.com/act_stream.aspx?sender_id=31" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf new file mode 100644 index 000000000000..e242e1cf8245 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf @@ -0,0 +1 @@ +URL="rtsp://real.prohosting.com/encoder/daytona.rm" diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf new file mode 100644 index 000000000000..0d712d8c59f8 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf @@ -0,0 +1,3 @@ +URL="http://playlist.yahoo.com/makeplaylist.dll?id=1368163" +VIDEO_CODEC=mp2v,fps=30 +AUDIO_BITRATE=128 diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf new file mode 100644 index 000000000000..860fcf49eb08 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf @@ -0,0 +1,3 @@ +URL="http://playlist.yahoo.com/makeplaylist.dll?id=1368570" +VIDEO_CODEC=mp2v,fps=30 +AUDIO_BITRATE=128 diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf new file mode 100644 index 000000000000..dea4eb95ad7e --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf @@ -0,0 +1,3 @@ +URL="http://www.nasa.gov/55644main_NASATV_Windows.asx" +VIDEO_CODEC=mp2v,fps=25 +AUDIO_BITRATE=128 diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf new file mode 100644 index 000000000000..045037b93788 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf @@ -0,0 +1,2 @@ +URL="mms://live1.wm.skynews.servecast.net/skynews_wmlz_live300k" +VIDEO_CODEC=mp2v,fps=30 diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf new file mode 100644 index 000000000000..82324adf6915 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf @@ -0,0 +1 @@ +URL="mms://62.41.56.32/PUBLIC_votv_fi" diff --git a/multimedia/vdr-plugin-iptv/pkg-descr b/multimedia/vdr-plugin-iptv/pkg-descr new file mode 100644 index 000000000000..5e0433ac1675 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/pkg-descr @@ -0,0 +1,20 @@ +This is an IPTV plugin for the Video Disk Recorder (VDR). + +This plugin integrates multicast IPTV transport streams seamlessly into +VDR. You can use any IPTV channel like any other normal DVB channel for +live viewing, recording, etc. The plugin also features full section +filtering capabilities which allow for example EIT information to be +extracted from the incoming stream. + +Currently the IPTV plugin has direct support for both multicast UDP/RTP +and unicast HTTP MPEG1/2 transport streams. Also a file input method is +supported, but a file delay must be selected individually to prevent +VDR's transfer buffer over/underflow. Therefore the file input should be +considered as a testing feature only. + +IPTV plugin also features a support for external streaming applications. +With proper helper applications and configuration IPTV plugin is able to +display not only MPEG1/2 transport streams but also other formats like +MP3 radio streams, mms video streams and so on. + +WWW: http://www.saunalahti.fi/~rahrenbe/vdr/iptv/ diff --git a/multimedia/vdr-plugin-iptv/pkg-plist b/multimedia/vdr-plugin-iptv/pkg-plist new file mode 100644 index 000000000000..087da002d667 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/pkg-plist @@ -0,0 +1,48 @@ +lib/vdr/libvdr-iptv.so.1.7.17 +@unexec if cmp -s %D/etc/vdr/plugins/iptv/image.sh.sample %D/etc/vdr/plugins/iptv/image.sh; then rm -f %D/etc/vdr/plugins/iptv/image.sh; fi +etc/vdr/plugins/iptv/image.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/iptv/image.sh ] ; then cp -p %D/%F %B/image.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/iptv/internetradio.sh.sample %D/etc/vdr/plugins/iptv/internetradio.sh; then rm -f %D/etc/vdr/plugins/iptv/internetradio.sh; fi +etc/vdr/plugins/iptv/internetradio.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/iptv/internetradio.sh ] ; then cp -p %D/%F %B/internetradio.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh.sample %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh; then rm -f %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh; fi +etc/vdr/plugins/iptv/iptvstream-notrap.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/iptv/iptvstream-notrap.sh ] ; then cp -p %D/%F %B/iptvstream-notrap.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/iptv/iptvstream.sh.sample %D/etc/vdr/plugins/iptv/iptvstream.sh; then rm -f %D/etc/vdr/plugins/iptv/iptvstream.sh; fi +etc/vdr/plugins/iptv/iptvstream.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/iptv/iptvstream.sh ] ; then cp -p %D/%F %B/iptvstream.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/iptv/linein.sh.sample %D/etc/vdr/plugins/iptv/linein.sh; then rm -f %D/etc/vdr/plugins/iptv/linein.sh; fi +etc/vdr/plugins/iptv/linein.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/iptv/linein.sh ] ; then cp -p %D/%F %B/linein.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/iptv/vlc2iptv.sample %D/etc/vdr/plugins/iptv/vlc2iptv; then rm -f %D/etc/vdr/plugins/iptv/vlc2iptv; fi +etc/vdr/plugins/iptv/vlc2iptv.sample +@exec if [ ! -f %D/etc/vdr/plugins/iptv/vlc2iptv ] ; then cp -p %D/%F %B/vlc2iptv; fi +@unexec if cmp -s %D/etc/vdr/plugins/iptv/webcam.sh.sample %D/etc/vdr/plugins/iptv/webcam.sh; then rm -f %D/etc/vdr/plugins/iptv/webcam.sh; fi +etc/vdr/plugins/iptv/webcam.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/iptv/webcam.sh ] ; then cp -p %D/%F %B/webcam.sh; fi +etc/vdr/plugins/iptv/vlcinput/3Sat.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio1.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio1xtra.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio2.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio3.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio4.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio4lw.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio5liveint.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio5livesport.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio6music.conf +etc/vdr/plugins/iptv/vlcinput/BBC-radio7.conf +etc/vdr/plugins/iptv/vlcinput/Bundesligen-TV.conf +etc/vdr/plugins/iptv/vlcinput/Daytona-Beach.conf +etc/vdr/plugins/iptv/vlcinput/NASA-1200-Kbit.conf +etc/vdr/plugins/iptv/vlcinput/NASA-500-Kbit.conf +etc/vdr/plugins/iptv/vlcinput/NASA.conf +etc/vdr/plugins/iptv/vlcinput/Sky-News.conf +etc/vdr/plugins/iptv/vlcinput/THE_VOICE.conf +@dirrmtry etc/vdr/plugins/iptv/vlcinput +@dirrmtry etc/vdr/plugins/iptv +%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-iptv.mo +%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-iptv.mo +%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-iptv.mo +%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-iptv.mo +%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-iptv.mo +%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-iptv.mo diff --git a/multimedia/vdr-plugin-iptv/pkg-plist.foo b/multimedia/vdr-plugin-iptv/pkg-plist.foo new file mode 100644 index 000000000000..be0f705e0b68 --- /dev/null +++ b/multimedia/vdr-plugin-iptv/pkg-plist.foo @@ -0,0 +1,22 @@ +lib/vdr/libvdr-iptv.so.1.7.15 +@unexec if cmp -s %D/etc/vdr/plugins/streamdev/image.sh.sample %D/etc/vdr/plugins/streamdev/image.sh; then rm -f %D/etc/vdr/plugins/streamdev/image.sh; fi +etc/vdr/plugins/streamdev/image.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/streamdev/image.sh ] ; then cp -p %D/%F %B/image.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/streamdev/internetradio.sh.sample %D/etc/vdr/plugins/streamdev/internetradio.sh; then rm -f %D/etc/vdr/plugins/streamdev/internetradio.sh; fi +etc/vdr/plugins/streamdev/internetradio.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh ] ; then cp -p %D/%F %B/iptvstream-notrap.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh.sample %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh; then rm -f %D/etc/vdr/plugins/streamdev/iptvstream-notrap.sh; fi +etc/vdr/plugins/streamdev/iptvstream-notrap.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/streamdev/iptvstream.sh ] ; then cp -p %D/%F %B/iptvstream.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/streamdev/iptvstream.sh.sample %D/etc/vdr/plugins/streamdev/iptvstream.sh; then rm -f %D/etc/vdr/plugins/streamdev/iptvstream.sh; fi +etc/vdr/plugins/streamdev/iptvstream.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/streamdev/linein.sh ] ; then cp -p %D/%F %B/linein.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/streamdev/linein.sh.sample %D/etc/vdr/plugins/streamdev/linein.sh; then rm -f %D/etc/vdr/plugins/streamdev/linein.sh; fi +etc/vdr/plugins/streamdev/linein.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/streamdev/vlc2iptv.sh ] ; then cp -p %D/%F %B/vlc2iptv.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/streamdev/vlc2iptv.sh.sample %D/etc/vdr/plugins/streamdev/vlc2iptv.sh; then rm -f %D/etc/vdr/plugins/streamdev/vlc2iptv.sh; fi +etc/vdr/plugins/streamdev/vlc2iptv.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/streamdev/webcam.sh ] ; then cp -p %D/%F %B/webcam.sh; fi +@unexec if cmp -s %D/etc/vdr/plugins/streamdev/webcam.sh.sample %D/etc/vdr/plugins/streamdev/webcam.sh; then rm -f %D/etc/vdr/plugins/streamdev/webcam.sh; fi +etc/vdr/plugins/streamdev/webcam.sh.sample +@exec if [ ! -f %D/etc/vdr/plugins/streamdev/externremux.sh ] ; then cp -p %D/%F %B/externremux.sh; fi |