Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I'm currently thinking about a project for my masters degree graduation. I start researching for options to make my own video streaming software based on a premade hardware kit having not much knowledge about what I'll exactly need that will match my needs.

My search led me to the DVR (Digital Video Recorder) cards which seems to be the closest to what I need, but still I can't find out a few basic things so I decide to ask for them here.

Currently I haven't find a lot of manufacturers that offers such kits so where I can look and have some options to choose from? There are a lot of DVR products on the market but they already have a software written for them and even if I buy one they just don't give any documentation or sdk's so buying such is not an option I need a DVR card made exactly for software programers and not end users.

Are there a preferred manufacturers that provide such kind of devices with good and developer-friendly documentation?

Also - I prefer to do all this with Java, is this an option (I think I will make it with .NET too but really prefer Java as a language of choice)

share|improve this question

closed as not a real question by Blrfl, mattnz, gnat, Walter, ChrisF Nov 15 '12 at 13:59

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers 2

up vote 2 down vote accepted

A DVR is essentially a computer with a graphics processor and bulk storage - usually a hard drive, with a tuner and some software to bolt them together. Commercial units tend to use cheapest hardware possible and optimize / compromise software capability to get to a competitive price / functionally point. If you try to use a commercial hardware unit, write in Java, and want to do better than the COTS units, you will deserve your Masters if you succeed. (Although these days many units use the hardware manufactures reference design and tweak the reference software just enough to get it working)

If you do not want to roll your own hardware, the easiest solution is to use a standard PC with a Tuner card. You could use something smaller and less PC like, but unless that is the point of the exercise, it may come back to bit you with limited resources meaning software running slow or out of memory problems. I would always start with more hardware than needed, and just as you do with software, optimize (down size) it if you need to.

You need to decide what kind or tuner and capability you need - Analogue, Digital Terrestrial (DVB-T), Digital Satalite (DVB-S) etc. There are mixed tuners that do more than one type, dual an quad tuners etc that tuner into more than one channel at a time.
Then you need to write some software, of which there is lots of open source stuff to use as a starting point.

Google "Myth TV"

share|improve this answer
Hi. To be honest at some parts your answer is a little over my understanding of how things work especially on hardware level, but I have to understand this to if you have time answer to my questions. First, I don't want to mess too hard with the hardware so I'm looking for some kind of kit or tuner or w/e that provides interface for working with it. My real work will be on making the GUI and sending/receiving data from the camera so the low level programming should be done when I start. What set of hardware do you think is best for this case? –  Leron Nov 14 '12 at 20:40
For now I'm a little more for the DVRjust because it comes in a pretty raw fashion but at the same time the interface is written, the problem here is that I can''t find a seller and the one site I found was outdated and all products were made for .NET developers. Using a tuner is an idea I haven't think of since now, so could you tell me, how much of a freedom will such an option give me, when it comes to e programming? Thanks in advance. –  Leron Nov 14 '12 at 20:44
@Leron: wendy.seltzer.org/mythtv –  staticx Nov 14 '12 at 20:48
@Leron follow the link given by OAOD, and use google to get answers. Your problem is too broad fro a QA site such as this, hwoever feel free to come back with specfic questions. –  mattnz Nov 14 '12 at 20:57
Thanks, you were a lot of help to me already. Thanks. –  Leron Nov 14 '12 at 21:00

Which kind of input you want?

Any embedded Linux system with USB will allow you, for instance, to use DVB-T cards. DVB-T is really MPEG2 streams, which are fairly easy to handle with off-the-shelf libraries. I believe timeshifting (i.e. pause/seek on live TV) is not trivial, though.

I think a cheap Raspberry Pi might be enough.

Look into the v4l Linux API.

share|improve this answer
I don't have any particular demand on the input, just looking for a robust combination that will be both - meeting my needs which are capturing and streaming video and second - if possible writing the software using Java, anything else will be done on the run. Gonna look up your proposal, thanks for the answer. –  Leron Nov 14 '12 at 20:20

Not the answer you're looking for? Browse other questions tagged or ask your own question.