rofafor / vdr-plugin-iptv Goto Github PK
View Code? Open in Web Editor NEWIPTV plugin for the Video Disk Recorder (VDR)
Home Page: http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
License: GNU General Public License v2.0
IPTV plugin for the Video Disk Recorder (VDR)
Home Page: http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
License: GNU General Public License v2.0
cPidScanner is not working because cPidScanner::Process is never called.
Please allow string parameters for EXT protocol.
RocketBeansTV;IPTV:60:S=1|P=0|F=EXT|U=twitch.sh|A=rocketbeanstv:I:0:69=27:68=@15:0:0:1:0:0:0
A=rocketbeanstv is the twitch channelname
www.twitch.tv/rocketbeanstv/profile
I am using VDR with the IPTV plugin as a client to my (DVB-S-)Dreambox. This worked out of the box but with one glitch: The EPG data was wrong on many channels.
The reason for that is that a SID change is misdetected by the plugin:
Feb 21 17:31:39 work vdr[55005]: [55012] changing id of channel 13 (BR Fernsehen Süd (Dreambox)) from 1-1101-28107-0 to 1-1101-28106-0
When I remove the line in device.c which attaches the filter implemented by cSidScanner, the problem is gone.
To my understanding of the code in sidscanner.c, the problem is, that the Dreambox provides the original PAT from the satellite transponder, which references multiple SIDs (the SIDs of all channels broadcasted on this transponder). The IPTV plugin then seems to take the very first SID it sees and falsely detects a SID change.
A very easy fix would be to implement some switch which makes the use of cSidScanner optional.
A better fix would be to look for ALL SIDs provided by the PAT (and NIT) and see if the SID provided by channels.conf is among them and if it is, do not change it.
The "most correct" but also most complex fix would be to verify which SID is correct, you could Add() the PMT PID of all provided SIDs to your filter and then look which PMT is really contained in the stream and take its SID.
the compilation fails with following error message:
In file included from live.cpp:10:0:
live.h:36:7: warning: 'template class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
std::auto_ptr< ServerThread > m_thread;
^~~~~~~~
In file included from /usr/include/c++/6.0.0/memory:81:0,
from live.h:4,
from live.cpp:10:
/usr/include/c++/6.0.0/bits/unique_ptr.h:49:28: note: declared here
template class auto_ptr;
^~~~~~~~
but then the next error message appears:
In file included from /usr/include/c++/6.0.0/memory:81:0,
from live.h:4,
from live.cpp:10:
/usr/include/c++/6.0.0/bits/unique_ptr.h: In instantiation of 'void std::unique_ptr<_Tp, _Dp>::reset(std::unique_ptr<_Tp, _Dp>::pointer) [with _Tp = vdrlive::ServerThread; _Dp = std::default_deletevdrlive::ServerThread; std::unique_ptr<Tp, Dp>::pointer = vdrlive::ServerThread]':
live.cpp:60:35: required from here
/usr/include/c++/6.0.0/bits/unique_ptr.h:342:6: error: call of overloaded 'swap(vdrlive::ServerThread&, vdrlive::ServerThread*&)' is ambiguous
swap(std::get<0>(_M_t), __p);
In file included from /usr/include/c++/6.0.0/bits/stl_pair.h:59:0,
from /usr/include/c++/6.0.0/bits/stl_algobase.h:64,
from /usr/include/c++/6.0.0/bits/char_traits.h:39,
from /usr/include/c++/6.0.0/string:40,
from i18n.h:4,
from live.cpp:9:
/usr/include/c++/6.0.0/bits/move.h:179:5: note: candidate: typename std::enable_if<std::__and_<std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type std::swap(_Tp&, _Tp&) [with _Tp = vdrlive::ServerThread*; typename std::enable_if<std::__and_<std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type = void]
swap(_Tp& __a, _Tp& __b)
^~~~
In file included from /usr/include/vdr/i18n.h:14:0,
from /usr/include/vdr/config.h:19,
from live.cpp:7:
/usr/include/vdr/tools.h:57:31: note: candidate: void swap(T&, T&) [with T = vdrlive::ServerThread*]
template<class T> inline void swap(T &a, T &b) { T t = a; a = b; b = t; }
I have been using VDR for over 12 years and I use the VDR-IPTV plugin with my HDHomeRun Prime here in the US for paid cable tv. In the past creating a channels.conf took immense work getting the vpid and apids correct. As the issue says this is just a feature request if it would be possible to create a python script to scan the HDHR and generate a channels.conf. An example script is here but generates an m3u:
Please support the NULL Channel in cIptvDevice::SetChannelDevice
See:
virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
///< Sets the device to the given channel (actual physical setup).
///< If Channel is NULL, this means the device is no longer needed and may
///< turn itself into a power saving mode, if possible. The device must,
///< however, be ready for the next call with a non-NULL Channel at any
///< time.
Hello
I run a VDR server 2.4 with the IPTV plugin Headless and in the search for the cause of image interference, I noticed that my VDR server partially recordings still another tuner occupied and this synonymous only releases when you close the VDR server. I think I have solved the problem with the image noise and this problem does not hang together. I use the suspendoutput on my server so normally no tuner is used after a recording from VDR. In the Fritz box, I noticed in the statistics but this does not always work and sometimes bandwidth is still used. In addition, I noticed that you count up under "netstat -su" from the error occur the "packet receive errors" or "receive buffer errors".
My VDR Server 2.4 is self-compiled. As a test I installed a minimal VDR 2.4 server from Tobi on a different system and could adjust the error there without suspendoutput. The error does not occur generally so I have already tested quite a bit. It does not matter if I put the timer over the live plugin or it is set by epgsearch. However, the error does not occur when recording on the start immediately but especially in recordings that are a little further in the future. I've already disabled the epgscan and the feature that VDR synced to other VDRs.
Anyone could advance an idea that might be and how to prevent that? This will unnecessarily bandwidth occupied by my DSL connection.
Sorry for my english it's translate with google.
here you can see logfiles:
https://www.vdr-portal.de/forum/index.php?thread/132056-vdr-mit-iptv-blockiert-bei-aufnahme-2-iptv-tuner-und-gibt-nur-einen-wieder-frei/&postID=1306860#post1306860
https://www.vdr-portal.de/forum/index.php?thread/132056-vdr-mit-iptv-blockiert-bei-aufnahme-2-iptv-tuner-und-gibt-nur-einen-wieder-frei/&postID=1306861#post1306861
The first shot does not have the problem. On the second shot you can see that 51 seconds before the actual timer, a second channel is occupied. This remains occupied as long as and causes the problem until I finish the VDR.
Thanks in advance
Greeting dile :)
Hello,
I like this plugin very much. It works very reliably. I have a few more questions.
—> EIT scanning functionality is disabled by default. (Readme)
How can I activate it completely? I want more EPG, at least for 1 or 2 days.
How can I create 2 x IPTV devices? 1 device for LiveTV and the 2 device for one recording. Or is that not necessary?
Best regards
I'm using some 3rd party HLS streams (for example http://62.113.210.250/medienasa-live/mdf1_high/playlist.m3u8) with mostly standard configuration of VDR and setup based on your readme.
I've setup the complete DVR backend as headless Docker container. Regardless of using distribution packages of VDR or PPA packages (for example from Frodo) or compiling it on my own, regardless of using latest VDR 2.4.0 or last stable 2.2.0... When setting up VDR on Ubuntu Trusty 14.04 all is fine. The above HLS stream can be played via vlc2iptv without any issues on a remote machine.
But when switching to Ubuntu Xenial with exactly the same VDR config, there are massive interruptions and artefacts when playing the stream on my remote laptop via VLC. This affects, like I said, distribution packages and self compiled versions as well as V2.4.0 and V2.2.0. I understand that this could not be related to your plugin, but can you reproduce this behavior?
I forgot to mention, that I get a lot of errors like "mpeg2video: rc buffer underflow" when playing this stream if VDR runs on Xenial.
Hello,
what about a version of iptv for vdr 2.6?
An vdr-plugin-iptv is missing in debian bookworm, which is based on vdr 2.6
tar -xzf /put/your/path/here/vdr-iptv-X.Y.Z.tgz
make -C iptv-X.Y.Z install
does not work
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.