Tvheadend Future

My thoughts on what's needed to keep Tvheadend going...
Added by Adam Sutton over 1 year ago

Some of you have probably noticed that of late I've not been quite as active as I have in the past with Tvheadend. The truth is my work life is getting busier as I take on more responsibility and with a young family I simply cannot dedicate the time I've managed over the past 2 years (to be honest it's a surprise I've managed this much for this long).

My intention when I approach Andreas about opening up the Tvheadend code base and turning it into a fully fledged community project is that it would become exactly that. Although Tvheadend is officially a community project and several of you have commit access to the repo, most of the input over the past 12-18 months has been from me. While I really enjoy doing this, it's simply becoming too much to sustain (on my own) and the extra input I'd hoped would materialise from new users etc... has not happened.

I know there have been several PRs submitted, some of which have been extremely useful and others may have been rather badly ignored (due to my lack of time). There have been very few offers of significant input, and so far I don't think any that have been made have actually led anywhere.

I don't see this as an end, I'm still going to keep hacking. And I'm still a 100% Tvheadend household. But the level of input I'm likely to be able to put in is likely to diminish further. But I really don't want to see Tvheadend die, I think Andreas built a great system and I hope that I've been able to add some useful improvements. Personally I still think its the best route to a decent XBMC+PVR solution (and we've now got a few other clients as well).

I'm hoping this message will act as a bit of a rallying cry and that people that might have stood back up to now, in the believe that there was nothing to do or that help would not be wanted, might step forward and start looking into areas of the code that interest them. And even if you're not a proficient coder, there are always tasks that can be done, like helping with support forums, keeping on top of issues/feature requests, documentation, etc...

So let's see what happens...

Regards
Adam


Comments

Added by Mark Clarkstone over 1 year ago

Some of you have probably noticed that of late I've not been quite as active as I have in the past with Tvheadend. The truth is my work life is getting busier as I take on more responsibility and with a young family I simply cannot dedicate the time I've managed over the past 2 years (to be honest it's a surprise I've managed this much for this long).

I wouldn't worry too much about how much time you have to work on Tvheadend, you know that old saying quality over quantity.
I'm sure many will agree with me here in saying that family/life come first :)

My intention when I approach Andreas about opening up the Tvheadend code base and turning it into a fully fledged community project is that it would become exactly that. Although Tvheadend is officially a community project and several of you have commit access to the repo, most of the input over the past 12-18 months has been from me. While I really enjoy doing this, it's simply becoming too much to sustain (on my own) and the extra input I'd hoped would materialise from new users etc... has not happened.

I know there have been several PRs submitted, some of which have been extremely useful and others may have been rather badly ignored (due to my lack of time). There have been very few offers of significant input, and so far I don't think any that have been made have actually led anywhere.

I don't see this as an end, I'm still going to keep hacking. And I'm still a 100% Tvheadend household. *But the level of input I'm likely to be able to put in is likely to diminish further*. But I really don't want to see Tvheadend die, I think Andreas built a great system and I hope that I've been able to add some useful improvements. Personally I still think its the best route to a decent XBMC+PVR solution (and we've now got a few other clients as well).

You really need to stop worrying about how much time you have to spend on TVH, do what you can when you can!

I'm hoping this message will act as a bit of a rallying cry and that people that might have stood back up to now, in the believe that there was nothing to do or that help would not be wanted, might step forward and start looking into areas of the code that interest them. And even if you're not a proficient coder, there are always tasks that can be done, like helping with support forums, keeping on top of issues/feature requests, documentation, etc...

So let's see what happens...

Regards
Adam

I for one appreciate all that you've done for Tvheadend and hope you continue to tinker with it even if it's only little bits here and there.

You've helped turn what was a great application into an even better one!

Added by Magnus Hedlund over 1 year ago

Can I suggest that you please consider re-licensing or dual-license the Tvheadend PVR backend server to LGPLv2 or GPLv2?

Doing so might convince some people and companies who are put of from contributing to Tvheadend because of its current GPLv3 license.

If Tvheadend is re-licensed or dual-licensed as LGPLv2 or GPLv2 then its license would allow it to be used on more commercial platforms.

I could then for example see Tvheadend being used as the default PVR backend server on PrismCube and similar set-top boxes

Added by Magnus Hedlund over 1 year ago

Also, I'm also sure that Tvheadend PVR backend will get a lot more attention if and when it gets ported to run natively on Android OS

http://tvheadend.org/boards/5/topics/10286

I feel very strongly that having both XBMC and Tvheadend PVR backend running natively on the same Android box would be a huge hit and reach a much broader end-user market!

http://tvheadend.org/issues/1921

There are currently no other open source TV tuning PVR backend server applications that runs natively on Android, so right now there is no competition.

More end-users = more developers! First build up a larger user-base with Android support, and with those new users more community developers will come, just as it did for XBMC.

Regardless, thank you so much for all the great work you and everyone else have been / are putting into Tvheadend!

Added by Peter O over 1 year ago

Just imagine if it supported this box:

Geniatech ATV1220 Android TV box with built in tuner and XBMC support http://www.geniatech.com/pa/atv1220.asp

It would be a cord cutters wet dream!

Added by Eric Valette over 1 year ago

Regarding the GPLV2 relicensing, I agree that without that no company will put effort in embedding tvheadend in a product if it wants to retain control about what run in the devices. When Adam started the project, I told him exactly this. Often, you need a company or at least business to get paid developers to work on a project.

Concerning the lack of commits, I imagine things are partially due to the fact that developing the DVB rewrite in a separate branch was either meaning proposing patches on the old mastebracnh would have been a waste of time and many indeed have been rejected by adam because they did not fit with the rewrite, and code was evolving in the DVD rewrite branch in typical RAD ways making it complicated to follow.

The fact that no clear announcement about target release date for the new code has been made and a significant number of open bugs have pilled up on the new code have probably made people wait before jumping to the train. I for one, was prepared to wait until adam officially declare the new code as stable and the number of bug would get reasonably lower.

I did not even considered investing time to test the new code and thus submit patches because I noticed:
1) Apparent problems with IPTV,
2) Comskip usage to split recordings as mkv into chapters. The idea is great, I hate commercial but this must be fine tuned or you may well break your recordings and offline tools like mkvtoolnix can do it just fine,
3) Old version of ffmpeg/libav required to compile,
4) unfixed bug in H264 stream generation for mkv,
5) Some changes/fixes went it almost untested. Breaking recordings is something I really dislike...

I'm sure things have greatly improved for DVB-S and DVB-C users. But, for DVB-T and IPTV old code was just working fine. Forcing people to use git/github to commit patches is also a barrier for simple one liner fixes.

Things are not probably not as bad as they look in term of possible contribution if code stabilize and the most annoying bugs are fixed.

Added by Magnus Hedlund over 1 year ago

LGPLv2 (Lesser GPL version 2) license is preferred over GPLv2 by companies, but GPLv2 is better for them than GPLv3 though.

GPLv2 for the project as a whole is however preferred by most open source projects as that forces everyone to contribute back code.

LGPLv2 (Lesser GPL version 2) license can still be used within a GPLv2 project for some sub-libraries and selected source code.

In any case I agree that unless any rewritten code have already been merged into mainline then less people will contribute to it.

Again the same goes for an eventual Android port of Tvheadend, which not many will contribute to until it's merged into upstream.

Added by Adam Sutton over 1 year ago

Just a couple of points on the things that have been mentioned here:

1. On the point regarding the significant changes to the DVB core. I completely agree, I am aware of several people who submitted PRs (and no doubt some that didn't) who were told (politely I might add) that their code would not be included at this stage and that they'd simply have to wait until the rewrite was done OR redo their code to fit with what was going on. That's tough luck, we do our best.

Regarding the stability of the branch (which I might add was merged to master 15/11/2013 - by my count that's nearly 4 months ago) it doesn't take much checking (or asking) to find out that answer. Lots of people are using it just fine, its been stable enough to use since before Xmas. My TVs are all 100% TVH driven, I have a wife and 2 small kids, those TVs don't work reliably I get it in the neck (rightly so!). So I'm usually one of the last people to switch over to the new code, out of those that are ever likely to switch before an official release. And guess what I switched over just before Xmas. And apart from a very few small hiccups I've had no serious issues.

That being said I am well aware that some features probably aren't as stable as they could be, guess how much I use them personally?! And that some features are still missing that were in 3.4, same question! I do a lot of things on this project for which I have no personal use, but because its interesting and I like to provide something back to the community. If stuff that I don't personally use doesn't work as well as other stuff, tough luck! Find someone that does use it and has the skills to work on it and get them to help!

2. On the point of scheduling. I'm very good at scheduling things, it's what I do, running embedded software projects and ensuring that they deliver quality software. But guess what, this is not the commercial world and the time put into this project is entirely my own spare time (and that of others). So if the release scheduling is rather poor (or somewhat non-existant at the moment) that's just the way it is. If you're unhappy with this situation, go buy a commercial product with commercial backing where your money should infer some level of responsibility on the part of the company to let you know what's going on! Or better, step up and help do something about it, offer support and help with the code, testing, documentation, anything! Not simply bitch and moan that I'm not doing a good enough job (if it can really be called that, given I don't get paid for it).

3. On the topic of licensing. This has been raised before, and it has been privately discussed by myself and Andreas (as majority LOC owners) on several occasions. Neither of us have a particular issue with changing the license, Andreas' choice of v3 was somewhat arbitrary. However retrospectively changing the license on a project that has 100 committers (approx 80 of which have claim to code in the current codebase) is NOT a trivial operation. In fact that's putting it VERY mildly, it's a complete minefield, even if I could get agreement for EVERY committer to change the license to do this properly and safeguard the project in the future require lots of steps. And this assumes that I get permission from EVERY committer.

However I can say that this process is being investigated. But it's not the sort of thing that would happen overnight, and ultimately given the lack of input outside of myself, it may simply never happen.

On the specifics of the license, LGPL is not really applicable in general. We "could" license some of the HTSP lib code LGPL, who knows, we might, but there is no major benefit to that at this point IMHO.

4. Comskip to split recordings? What has been discussed is using various features within MKV to help with this sort of thing, currently no such feature exists. There is certainly NO integration with something like comskip within TVH. There is a very noddy commercial detection algo that ones on 1 channel in Sweden that was really added as a hack to prove a concept. Arguments over the validity of doing things this way are pointless at this stage.

5. No such requirement exists. ffmpeg/libav are NOT a requirement for TVH, under my stewardship they never will be! They are a requirement for an optional feature (some muxing and transcoding), that code was added by a member of the team at the request of numerous users. It does not affect the general code base and he made it VERY clear at the time it was added that it was incomplete and he could not provide significant support for it (due to time constraints - sorry that's life!). But given the number of people asking for it and the thought that if it was in master, someone else might step up and help maintain it it was included. Guess what happened!

6. I'm not sure which bug report this relates to, I am aware of a H264 parser bug. But again I think I've made this VERY clear in the past, I am not a codec expert. I'd love to have the time to learn, but it hasn't materialised. I've had to rely entirely on the input of others in this area. And in the 2 years I've help run this project the sum total of input into such areas can be counted very quickly (I believe Andreas fixed a very minor bug in this area, that's it)! This is OSS, you like to use it and you find a bug and have the expertise to fix it, great let the rest of the user base benefit from that expertise by providing a patch! Feel like you're not getting enough back to warrant doing so, seriously do you want me to go there?

7. Oh my god, no, seriously. Someone committed changes and fixes to an open source projects master (unstable) branch without fully vetting and validating those changes! Let me get out their contracts and figure out how we can punish them and what sanctions we can put in place to stop them doing it again! Oh bugger, I completely forgot, people do this in their SPARE TIME, for the FUN OF IT!

8. On the use of github, I'm very sorry that I held a gun to peoples head and FORCED them to submit stuff via github. Oh wait, I didn't force anyone! What I did was politely requested that ALL patches be submitted (however small) should be submitted via github. I'm sorry it's such an onerous task to click a couple of buttons in comparison to clicking a few buttons to send an email to a mailing list, oh wait, it isn't! But this was done because it makes my life easier, by allowing others to potentially see the change review it and even commit it (since I'm not the only person with commit access). I'm sorry that I took such a selfish decision!

Oh and if it sounds like I'm about to explode, I !#@*ing well am! Seriously some people have got some cheek! I have committed more time to this project than I dare to count, 99.999% of the user base are extremely grateful, and while they do point out bugs and issues they go about it in what I consider a proper manner. Unfortunately there is a minority out there that seem to believe that because the project exists and because they use it they are entitled to a certain level of input from the developers (which to all intents and purposes means ME). Guess what, I don't owe them anything!

Now I'm probably going to live to regret some of the comments I've made here and I apologise if I cause any offence to any innocent bystanders. But seriously this is how I feel right now! So I'm laying everything in the open and hopefully that will help give some insight into where I'm at right now.

Regards
Adam

P.S.

On the point regarding payment for work etc... I just want to make it absolutely clear to those generous people who have donated to the project. This is very much appreciated by all of the members of the team. Though to be honest the sum total of our expenditure since I started maintaining the accounts is £120. I bought myself a monitor so I could hook up my laptop when doing longer hacking sessions.

Added by Eric Valette over 1 year ago

Adam,

You take this too personnal I fear. When you asked me at the beginning if I wanted to participate to development, I knew I would never manage to dedicate enough time to do anything significant except fixing bugs that prevent it from working as I wanted. Now you realize that having a familly and a demnding job do not let much time.

Regarding 6) mkv generation, you may have forgotten but I even send you patches that you rejected simply because you wanted to have them as a clean github pull request. I do know some codec experts... The code is still in my own fork, you can get it from there or I will resubmit it once I take the plunge to V4... I checked and the bugs are still there...

Regarding paid developper involvment, I was more thinking about having tvheadend included in commercial products and the product team dedicating ressources to tvheadend. Most NAS vendors do supply DVB recording software, some only available as addons, some internally developped. But being GPLV3, you have strictly no chance for tvheadend to be part of the game. Even for some much more critical part like samba server, NAS vendors stayed on 3.0 branch because samba 3.1 switched to GPLV3. I even prototyped tvheadend in an internet operator gateways (USB DVB-T tuner + IP TV), and it worked but due to the GPL V3, it remained a proof of concept.

Added by Melissa Padilla over 1 year ago

Adam,

First off thank you for your contributions/sacrifices thus far. With that said, I understand family commitments I have a 2 year old myself. I just started using tvheadend and think it is a marvelous piece of software. I would like to see it continue and so would like to contribute any way I can. I am a software engineer and can jump in where needed. But like you I cannot commit too much time to the project. First off I would need to know where to get started. If you can point me in the right direction that would be helpful.

Added by harry Lassen over 1 year ago

Adam,

Your really doing a good job.. me and my 4 year old daughter love this software, it automatically records all the shows me/she like.. so we can see them when we want and have the time... perfect!.. saves my day.. every day!.

Maybe i have not thoroughly read this page/fora, but is there some areas where you would like some help?.. im an technician in a hosting company for 15 years now, and have been using tvheadend for 2 years now..

Im a bit tapped out this month, but i will donate next... ;-)

-Harry

Added by Ronald van Eijck over 1 year ago

Adam,

With the risk you will hate me for it I want to put up a mirror to you.

I understand your initial post, the tough balance between work, personal life and
finding time to spend on an open source project and I appreciate all the work you
have put into TVHeadend. It has progressed nicely because of your work.

You asked for reactions and I think the reactions you got were fair.

The licensing issue blocks commercial use and therefore paid full-time developers
or sponsored work. The message had no judgement about the choice made in the past
just the observation that if the code was available under GPL V2 the chance that
commercial companies will use and help improving it are there which is not the
case with GPL V3.

Then others pointed out reasons for limited code donations and being a user that
was willing to make, although small, code donations I understand these reasons.
The project is under huge change, it is unclear when these will be finished and
the release planning for upcoming and even past releases (is 3.6 a release???)
are unclear. This has nothing to do with a deadline or a very specific date. It
is just sharing information about where the project is going. Like for example:
The project will work towards the next release x.y once major features such and
so are finished. Current expectations for this is Q2 2014.

And then there was your 2nd post which I really did not understand! If you don't
want to know people's opinion, don't ask them for it. There is no reason to defend
yourself for what you have added to the project or the fact that you have less
time now.

If you want to spend less time on the project and have others take over help
them do that. If you take a step back it will take time for others to step in.
You can help make the transition as smooth as possible by enabling others to
take over. If people want to take the project to GPL V2 and you are fine with
that let them take the lead, let them track down all committers and get their
permission. If no one steps in to do that it will simply stay licences under
GPL V3.

Make it clear the projects major rewrites are done for now, that the code is
stable and the project works towards a release. Define the path to this release
which could be something like bug fixes & small features welcome until may 1st,
bug fixes only after that date and a planned release by the end of may (Just an
indication of a plan, no idea if it should be shorter or longer). Then focus on
reviews of pull-requests and support people writing bug fixes and small features.
Direct them to resources on how to use githup, review their work etc. etc.

As a former developer (these words are still hard to type) and now architect on
many projects with always to little time I know how difficult it is to loosen
control, let others step in to do their part. But trust me it is rewarding to
see how new people take their first steps developing for a project and see them
grow to be top-notch contributors.

Thanks for all the energy you put into TVHeadend!

Regards,

Ronald

Added by Adam Sutton over 1 year ago

Ronald,

I'm afraid my second post was somewhat out of character and needs to be put in context of who I was replying to. This is not the first interaction with that individual and he has repeatedly pissed off many people involved in this project and several others that I have a fringe involvement in. I've generally remained very calm when dealing with such trolls (I simply cannot think of a better word, nor was it my own description!) however given the current state of things, I simply got fed up with the softly softly approach. I've also declined to respond further to the individual, it's simply not worth my time.

And I apologise to everyone else who thought the comments might be aimed at them or the community in general. They most certainly were not. While I am disappointed that more people haven't stepped forward to offer more significant support, I'm not blind to the fact this is just the way things often are for OSS projects. However there has been a strong response to my recent announcements, however still limited in terms of people saying "I'd really like to work on this bit of code".

I also do not disagree with the points regarding licensing, I thought I'd made this pretty clear. Certainly I've discussed it at large in several venues and expressed my own personal opinion (which is that I have no issue with v2). I've also started looking at what would be required in making a switch. But what you have to understand is that I can't simply flick a switch and there we go TVH is licensed GPLv2. There is no licensing agreement with contributors, this means they own their own copyright. Which means to change the license I have to get agreement from all of them. There are currently 81 people who can clearly claim ownership of at least 1 LOC in the current master codebase. There are another 20 that need to be considered as it's possible the contrib's are masked by trivial changes in later commits. Currently I have agreement for around 90% LOC, 7% are unsure (to put that in context, that's 8K lines of code!) and 2% have yet to reply (another 2K lines that might have to be rewritten). And even once I have agreement to change the license, I then have to go through the whole process of setting up proper CLAs, and a legal entity to which the license can apply (otherwise it would be an individual, probably Andreas). So hopefully you can see that changing the license is a non-trivial affair!

On the point of release and schedules etc... Again you have to put things in context. My input and motivation has been waning for a few months, so you're asking me to spend lots of time, that I don't have, tidying everything up and pointing people in the right direction etc.. Most people that are closely involved in the project are already well aware of the state of master and its relative stability (though its been less stable last few weeks as I've merged lots of PRs with limited review, time again). But it takes a lot of effort to inform everyone in the many different places they might look. For the most up to date info, its usually best to ask in IRC. And I've always made it VERY clear that anyone wanting to get involved in helping with development really should go there first.

There is no problem with me letting go of control, I'd be MORE than happy to let go of LOTS of areas of TVH. Heck there are lots of areas of TVH that I've never even looked at, I simply don't have the necessary skills or experience (or time to learn them). If people step forward and offer help I never reject it. I don't disagree some PRs have been left languishing, and some of that was down to the DVB rewrite, but I have been trying to slowly release some of them. But again, this takes time and effort (of which I have little at the moment).

All I can do is my best, unfortunately at this point in time, that's not really enough to make significant progress. Thankfully some people are stepping forward, so maybe we will find a route to get things going again.

Adam

Added by Ronald van Eijck over 1 year ago

Hi Adam,

Your response to the GPL V2 is a great example of not letting go :-). You don't have to track down and contact everyone who committed code yourself. That is a nice job for someone who wants to contribute to the project and has time to spare. Some people are good at coding, others at managing things. I try to stay away from the managing part as much as possible.

About informing on a release plan. I think putting up a news message on the site would be a good start. Just indicate the current state of Master (include the fact that you run it in production at your own home). Just point people to that posting if they ask about the status on other channels.

Regards,

Ronald

Added by Adam Sutton over 1 year ago

Ronald,

And if someone had made the suggestion before I started the effort, I'd have been very happy to let them do it. And I still am, if you're offering?

Adam

Added by Eric Valette over 1 year ago

Adam,

With you comments, you just show how hard for you is to accept other people opinions if they differ too much with your own. I'm sure you just want the best for tvheadend, but look, you have two guys interested in the code that both tell you about the same things about what could have been better done. I certainly have pissed off people because I though some strategic directions were not so right (GPLV2 from the beginning, transcoding, mkv used from streaming). So even if you dislike the way I did interact with you in the past, you should take the time to reread the comments and think again about them.

And on my side I fully respect you and the work done.

Added by Eric Valette over 1 year ago

I forgot, before saying the release is stable because you use it at home, you should probably state also what feature you use on a dayly basis:

1) DVB-T (sd/hd) mono multi tuners, clear channels, encrypted via oscam,...
2) DVB-C (idem),
3) DVB-S (idem),
4) IPTV,
5) XBMC frontend,
6) mplayer, vlc frontend via http URL, type of streaming (mkv/ts)
7) recording, what format (mkv/ts) , ...
8) time shifting, ...

And while it perpectly understandable you cannot test every configuration (I have no DVB-C and no DVB-S), you should probably validate important and sensible changes via people with relevant hardware/setup.

eric

Added by Adam Sutton over 1 year ago

Eric,

As usual, its not I that need to re-read the comments.

Never has a difference of opinion pissed me off. I might get frustrated with trying to explain my side, but never pissed off. I welcome differences of opinion, they're what get things moving forward.

We don't have to agree on strategic decisions, but you have to accept that if someone is interested in this that and the other, and they want to add some code in their spare time and it doesn't impact the rest of the code base then I'm not going to stop them. And that alone doesn't represent a "strategic decision". I see little point in continuing a discussion/argument about the validity of its inclusion (I've just re-read our original email chain on transcoding, and it amazes me just how hard this simple point was to explain, not sure you ever got it). I'm specifically thinking transcoding here (an optional feature, that can be entirely disabled), which was specifically added at the request of a large number of users, far more than ever said it was a bad idea (which numbers 1), OSS being very democratic after all.

Ultimately what pisses me (and many others) off though usually boils down to the following:

1. When people put forward a rational argument for something and you don't agree (or maybe you do, know one is sure), all too often you deviate on to completely unrelated topics. This is simply infuriating as it make it nearly impossible to discuss things.

2. When people try to point out that the topics you're raising are not relevant to the discussion at hand, you usually continue with the same rhetoric like a stuck record. Again, infuriating, as its impossible to discuss things and make progress.

3. This is by far the worst one, for me personally, when agreeing with you on a topic, you seem to completely ignore the fact an agreement has been reached. And you continue to bang on and argue about the point. This makes 1 and 2 into minor annoyances by comparison.

Case in point, this GPLv2 argument. Time and time again, in many different places I've made it absolutely clear that I have NO problem with v2. Personally I've never released (that I can remember) anything under v3. I'm generally not a big fan of the v3 license, from a pragmatic point of view (though I do understand its philosophy).

Maybe these comments are ambiguous, or not explicit enough, but for me they're pretty clear!

"Neither of us have a particular issue with changing the license ..." - referring to Andreas and myself.
"However I can say that this process is being investigated. But it's not the sort of thing that would happen overnight..."

And from another forum:

"Generally speaking, it's not a bad idea." - that's possibly a bit vague, though in context its less so

And from IRC:

"personally I'm not that bothered (I'd be happy releasing as GPLv2)" - this was actually a private discussion, most of the public comments I've found need a whole thread to be put in context.

And our (Eric and myself) personal email correspondence:

"I've certainly got no problems with releasing my own code under GPLv2, personally I'm not all that enamoured with v3"

Whenever I've been approached, at least in the last 12-18 months, I've always made it very clear that I (and Andreas) have no issue with v2, but that the barrier is in getting agreement to move to v2. And to somewhat answer Ronald's earlier point about not doing it all myself, do you know how many of those people that are so keen to move us to v2 and have knowledge of my opinion have said "hey, well if you feel like that, why don't I take the time to contact everyone and look into the potential of a migration?" I'll give you a hint, its slightly less than 1!.

And to move onto another such topic, TS v MKV. Time and time again I agreed with you and time and time again you went on and on about how I was completely wrong and shouldn't use MKV for streaming. Hell, I've not used MKV for streaming/recording for a LONG time!

From our own personal email correspondence, I made this comment specifically in reply to your points about the topic:

"I think the arguments you put forward are perfectly valid ones."
"[I] see that it would benefit TVH to support BOTH formats"
"I have in fact been arguing for the inclusion of your TS support" - my attempt to drive home the point to you, which you still manage to miss.

But ultimately actions speak louder than words. TS support was re-introduced, this was done with my full backing (and strong recommendation on the basis of the feedback I got from you and many others) and as I've mentioned I ONLY use TS recording these days. And it was done in a nice clean way that allowed the potential to include other containers should it be desirable.

With regard to your specifics about the state of master, these are perfectly valid questions, and to answer in short here:

1. DVB-T (a bit, but not much since the original testing for the new DVB code)
2. DVB-S (every day)
3. DVB-C/ATSC never
4. IPTV, mainly HTTP input from TVH server, but also occasional RTP/UDP input from canned mux samples. This is my primary mechanism for testing things. There are however known deficiencies in setup of single stream entries (its too cumbersome).
5. XBMC (every day), though I'm no longer using pvr.hts. People kept complaining, so I rewrote it for the sheer hell of it, and my version (IMHO) works much better.
6. Only for testing.
7. I probably have about 7-8 regularly scheduled shows a week. With the occasional random movie throw in here and there. Though I was using master over Xmas where I was recording about around 5-10 shows a day for a few weeks. All recordings are TS, I haven't used MKV recording in around 18 months.
8. I watch less Live TV than I used to. However we discovered a bug in pvr.hts which completely broken timeshift in XBMC. This is fixed in pvr.tvh and timeshift is much better. That being said there are still playback issues, but at the moment we're unsure whether these are XBMC or TVH. And the implementation was always a bit of a hack and an interim solution.

However, that being said while the general stability is very good (last few days excepted), there are several features currently missing (that used to exist) that really do make it difficult to create a release:

1. Analogue TV, just not got around to re-adding into the new framework and I have limited personal interest.
2. Idle scanning. This is problematic for several reasons, and as soon as time permits is near the top of my list.
3. IPTV single stream entry. The changes make IPTV useful for a much wider audience, but they do unfortunately make adding streams containing a single channel more cumbersome. This is relatively trivial to fix, just needs time.
4. Bound to be more.

Well I think that's enough for now!

Adam

Added by Magnus Hedlund over 1 year ago

Hello again Adam!

May I suggest that try to do a Tvheadend T-Shirt and Hoddy sale as a small crowd-sourcing campaign?

Team-XBMC are currently running a limited run of XBMC logo-ed T-Shirts and Hoddies using Teespring

http://xbmc.org/xbmc-shirts-and-hoodies-sale-now-with-new-colors-but-less-than-a-week-left/

If you do like they done and advertise the campaign using social media then could get good result.

Just inform the community that the funds will go towards keeping the Tvheadend websites, etc. alive.

And of course mention that they can also donate with PayPal too, and even better contribute code.

Try to reach out to tech press interested in HTPC software and let them know about the campaign.

I believe that more people are inclined to donate if they get a T-Shirt in return as 'proof'!

Added by Magnus Hedlund over 1 year ago

Know that as for re-licensing to GPLv2+ or LGPLv2+ know that you only have to give it an honest try to contact all code contributes.

If you can not contact then, because they changes email and such then you are still within your right to change the license.

You could see it as trying to contact all who contributed code is only a common curtsy to show good will .

Posting the information about requested re-licensing on your website and mailing-list and give them time is minimum needed.

If you want to be more political to show more good will then also e-mail all contributes that you have mail addresses to.

If you as well send a mail as news-tip to phoronix.com and xbmc.org then I'm sure they will help you spread that news.

You might also want to create a wiki article for the relicensing effort, as seen in these examples:
http://www.remlab.net/op/vlc-lgpl.shtml
http://lwn.net/Articles/525718/
http://programmers.stackexchange.com/questions/167457/downgrading-from-gpl-v3-to-gpl-v2
http://wiki.qemu.org/Relicensing
http://mercurial.selenic.com/wiki/Relicensing
http://bowlhat.net/2010/07/gpl2-vs-gpl3/

Added by Adam Sutton over 1 year ago

Magnus,

Thanks for the suggestions regarding crowd-sourcing etc... But let me just re-iterate, the project is not in need of funds. We are in need of time.

We have zero overheads, our website hosting is donated by a user that owns an ISP, most hardware we've needed is donated by vendors and we have a reasonable stream of donations. For those that are interested, its been around 100-150EUR per month for several months, plus we had a large one-off donation of 1500EUR. And our expenses, since I've been running things, have been 150EUR for a monitor. And unless the donations reach MUCH greater numbers, to the point I could quit my day job and do TVH full-time, there is simply little benefit to trying to increase donations.

With regard to licenses, yes, this does appear to the be the believe. And this would be my take on things. However this assumes that I don't get an replies which disagree with the decision to change. And currently I have around 7% LOC, not insignificant, that are unsure.

But I think the idea of a wiki article might be a good one, if and when I find time and can progress things a bit further. Thanks for the links, I'll have a read.

Adam

Added by Eric Valette over 1 year ago

Adam,

Regarding what you test and what I personnaly use, there is a good complementarity usage (meaning also I may found some problems upfront when migrating):

1) I use only DVB-T and (IPTV + oscam) to get some HD TV stream I only have as SD on DVB-T
2) I record exclusiveley using mkv,

IPTV is for Orange IPTV streams that use a different multicast address per channel so I guess the rework will annoy me until you re-add easy way to add IPTV stream entry.

Added by Adam Sutton over 1 year ago

try feature/iptv-multi-network, this allows entry of a service name at point of adding mux URL. I've not actually tested this bit yet though, as I was mainly focusing on other aspects.

Adam

Added by Eric Valette over 1 year ago

Adam,

I just recompiled yesterday build after the bunch of patch from perexg you added yesterday. I'm sorry but I have to say the actual status is quite deceptive for the part I use:

1) For DVB-T, I created a TNT-FR network of type DVB-T, added the french complete muxes possibility, got all possible muxes added in the muxes (with a lot ofinvalid muxes but all the valid ones) but got no muxes scanned, no services found. I removed all the muxes and let only a valid one, no more result. I then tried to play with yhe initial scan flag but no results,
2) I added a IPTV network, added a single channel rtp://2302.0.2.014:8200 on eth0 which is valid if I use vlc, and it crashed tvheadend right away,
gdb backtrace points at muxer_create (mc=mc@entry=MC_RAW, m_cfg=m_cfg@entry=0x0) at src/muxer.c:244
3) I also got a crash tcp_server_delete because for some reason the pointer was null or invalid,

I hope 1) is only my inability to catch what config action I have to do, for 2) I will see what I can do, for 3) a simple null pointer check may be sufficient.

Added by Eric Valette about 1 year ago

I think I will add to finish this thread on a positive message that testing for a week or two I saw significant progress. I now have it working correctly working on both DVB-T (french Channels) and IPTV (Orange). I still need to apply the mkv generation patch I have submitted as a PR if I want to be sure to be able to use mkv files directly on my TV because otherwise it fails probably because the avc_find_start_code dot no return a correct frame and thus the isom generation fails and apparently some hardware decoders are more picky than others. This is just an update to newer ffmpeg code...