We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

How to record all TV

00:00

Formal Metadata

Title
How to record all TV
Subtitle
Creating a 30 channel DVR
Alternative Title
Embedded - Dvr
Title of Series
Number of Parts
150
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2015

Content Metadata

Subject Area
Genre
18
20
Thumbnail
55:22
24
Thumbnail
49:05
26
Thumbnail
45:24
30
Thumbnail
25:44
37
Thumbnail
26:33
87
89
90
104
Thumbnail
22:20
126
Thumbnail
16:49
127
Digital video recorderFile systemComputer hardwareVortexProcess capability indexLogical constantBuildingSoftwareSoftwareProcess capability indexKernel (computing)Digital video recorderLogical constantMachine visionMereologyPlastikkarteTape driveDevice driverCore dump1 (number)Power (physics)Office suiteInterface (computing)Game theoryMappingTDMAData storage deviceComputer hardwareRemote administrationRevision controlTV-KarteSpacetimeRaw image formatUser interfaceWhiteboardComputer animation
Digital video recorderWhiteboardDemo (music)StatisticsBitDigital video recorderDigital photographyQuicksortRight anglePrototypeRevision controlDreizehnDatabaseUser interfaceInstance (computer science)Query languageDDR SDRAMTotal S.A.Computer animation
TransmitterTDMADigital video recorderComputer hardwareNim-SpielRevision controlDensity of statesDevice driverKernel (computing)Bridging (networking)Virtual realitySoftware testingFront and back endsBitBridging (networking)Process capability indexSoftware developerPoint (geometry)Order (biology)Software testingDevice driverSheaf (mathematics)Module (mathematics)WebsiteTV-KarteDifferent (Kate Ryan album)Source codeVirtualizationPlastikkarteFreewareWindowExecution unitComputer programmingFlow separationSpeech synthesisKernel (computing)Front and back endsMereologyDDR SDRAMState of matterInterface (computing)Goodness of fitContent (media)QuicksortSoftwareProcess (computing)TelecommunicationFatou-MengeTDMAFrequencySound effectWhiteboardReading (process)SpacetimeVotingStructural loadGraphics processing unitSerial communicationDensity of statesMultiplicationSystem callLogikanalysatorDigital photographyRevision controlComputer engineeringComputer fileData streamComputer hardwareView (database)CAN busAssembly languageLevel (video gaming)Digital video recorderHard disk driveGraph (mathematics)Cuboid1 (number)Machine visionProduct (business)Computer animation
Device driverDensity of statesCodeFront and back endsVirtual realityIndependence (probability theory)Bridging (networking)Inclusion mapDigital video recorderCore dumpSingle-precision floating-point formatComa BerenicesTape driveProcess capability indexDivision (mathematics)Kernel (computing)Computer hardwareComputer-generated imageryCodecPatch (Unix)Virtual machineQuicksortMoment (mathematics)Point (geometry)Figurate numberModule (mathematics)Multiplication signCodierung <Programmierung>CASE <Informatik>DebuggerMulti-core processorPlastikkarteKernel (computing)1 (number)Software testingDevice driverSingle-precision floating-point formatFile formatBootingSoftwareNeuroinformatikBefehlsprozessorDuality (mathematics)Projective planeAxiom of choiceCodePhysical systemCuboidProcess (computing)BitComputer hardwareDifferent (Kate Ryan album)Software developerEmailLaptopAddress spaceComputer engineeringDerivation (linguistics)Endliche ModelltheorieSource codeParameter (computer programming)Distribution (mathematics)Streaming mediaPCI ExpressBridging (networking)CodecWhiteboardArmMessage passingProcess capability indexMedical imagingConfiguration spaceRight angleOpen sourcePatch (Unix)Noise (electronics)Event horizonVolume (thermodynamics)Hard disk driveACIDFamilyProcedural programmingLevel (video gaming)TelecommunicationView (database)Front and back endsInstance (computer science)Set (mathematics)Digital video recorderSquare numberGroup actionGoodness of fitStructural loadTape driveWeb pageWordFilm editingComputer animation
System programmingProduct (business)Source codeComputer-generated imagerySoftwareRepository (publishing)PlastikkartePrice indexElectronic mailing listInformationComputer fileTape driveClient (computing)Plug-in (computing)Data managementDigital video recorderModule (mathematics)CodeHypermediaOpen sourceDot productSoftwareMultiplication signFigurate numberModule (mathematics)Natural languagePhysical systemStreaming mediaWeb 2.0Element (mathematics)Constraint (mathematics)Repository (publishing)Medical imagingGraph (mathematics)Data managementFood energyModulare ProgrammierungMeta elementLine (geometry)Server (computing)Form (programming)Virtual machineTotal S.A.Software frameworkDifferent (Kate Ryan album)Software developerBitWindowBefehlsprozessorEmailInterface (computing)MereologyHypermediaInformationBuildingPlastikkarteTape driveChainSubject indexingMultimediaLaptopGraph (mathematics)Well-formed formulaProjective planeCartesian coordinate systemDigital video recorderCodeWebsiteProcess (computing)Distribution (mathematics)Electric generatorComa BerenicesSet (mathematics)Open setComputer fileOrder (biology)Game controllerSheaf (mathematics)Group actionPointer (computer programming)Point (geometry)Open sourceBinary fileRemote administrationInstallation artScaling (geometry)TDMAStandard deviationCore dumpVariable (mathematics)Local ringArmRevision controlCross-platformComputer animation
TDMADiscrete element methodMoment (mathematics)Device driverSoftwareUser interfacePhysical systemContext awarenessMultiplication signSource codeProcess capability indexDisk read-and-write headProjective planeDemo (music)Bridging (networking)CuboidDirected graphCarry (arithmetic)Cellular automatonEstimatorCurveControl flowInformationPopulation densityMereologyModule (mathematics)Computer hardwareSheaf (mathematics)Sound effectBuildingGoodness of fitBitStreaming mediaPlastikkarteInverse elementQuicksortBus (computing)Endliche ModelltheorieDampingObject (grammar)Group actionComputer fileElectric generatorFunction (mathematics)Form (programming)Digital video recorderTDMATape driveSynchronizationInstance (computer science)Plug-in (computing)Scaling (geometry)TV-KarteFreewarePCI ExpressRoutingMultiplicationComputer animation
GoogolComputer animation
Transcript: English(auto-generated)
Okay, we're going to soon start with our last talk for today We're actually going to record TV Maybe not everything, but a lot apparently and Philip is going to introduce us in the world of magical TV
Hello, yeah, hello can everyone hear me? Yeah
How about now okay, yeah, okay great So first of all before I get started. I just like to say Thank you to Philippe for inviting me along here and for running the dev room for so many years
I've been coming to Fosden since about 2003 and I've not really missed many years So I really just want to say thank you to all the volunteers And it's a real honor to be here talking and to finally sort of
Give something back as it were so thank you Philippe And so today, I'm going to be talking about how to record all TV, so I work for a company called Posco prosper technology and
we're just a small R&D outfit based in West London and We started off by creating an 8 tuner DVB TPCI card now This is our This is one of our boards. We made this is just a six tuner version but they are real they do exist they're down here if you want to come in and have a look afterwards and
the 8 tuner card it's fitted with a hardware demux and raw infrared support now I was quite pleased with the raw infrared support because I pushed for that and
Effectively what it means is that rather than us fixing in one remote control It means the the infrared is passed up to the kernel and it can then go up to user space to LRRC or You can then write your own key maps into the kernel, so it's quite handy if you want to put in your own remotes and
we've then been building the same technology into a DVR which we call store and That constant records 30 channels, so we've got several of those in our offices all recording 30 channels
Now I'm just a software guy really so Please try not to ask me any difficult hardware questions But this is essentially our software overview, so As you can see it's very simplistic overview, but I've been working on the two outer layers
so we've got the QT HTML 5 user interface using G streamer and Then we've got the kernel driver, and those are the parts that I've been working on I won't really be talking too much today about new recording software that we that we use
This is a photo of our current prototype and so what you can see here. We've got a NIMX 6 board on the right hand side, and then we've got one of our eight tuna boards connected to it via PCIe and On the left. We've got a 12 terabyte NAS, and so this is sat on my desk at work
So I've got a 12 terabyte DVR sat on my desk and this this is our user interface you can see in the background here and So what we've got is we've got the the dark blue recordings over to the left That's all stuff Which has been recorded the light blue is what's currently live and is being recorded and all of the gray stuff is all the upcoming
bits and pieces But this is our sort of demo UI we're sort of working on newer versions of that But it's been working quite well for a while now, and it's a it's really quite nice to use now a
few interesting statistics on the NAS is that so we've had that one running since the 13th of November and so it's effectively been up for about 70 days when we took these statistics and So we recorded
One thousand five hundred sorry fifteen thousand seven hundred and eighty four programs in total and of this We had one thousand three hundred seventy five unique Movies on there, so there's a database from 30 days of one thousand three hundred and seventy five movies
So it's quite good if you just want to go and find a movie to watch but so just a quick overview on DVBT, so
DVBT is transmitted as multiplex data stream and so I'm sure most people understand what that means but Effectively what it is is is several channels transmitted per multiplex So you only really need to tune into one frequency to get several channels
So in in the UK and I should mention that all of our tests really have been carried out in UK Where we're based but because it's DVBT it should work in other countries, but all of my explanations today will be based on the UK and So what this is in the UK there's a BBC a multiplex and
that carries BBC one two three four CBBC news 24 and Others and then it's also got radio channels on there So in effect if you want to record all of those channels pretty much most of the BBC stuff
You just need one tuner and you can just tune to a frequency. So just One of these silver boxes on here handles all of those channels All you need to be able to do is just to get at the data so What you can do is you can either record the entire mux
so Just pull everything down into one file and then you can demux it later using something like M player or VLC or you could demux it on the fly and Linux fortunately has support for being able to do this
It's it's sort of a virtual demux as it were is the easiest way to describe it Because you can pull multiple channels out from one demux into several different files So The very last thing on here is 30 channels now
I Say here 30 channels, but in reality we can actually record with this with this harder We can record a hundred and twenty eight channels but the reason I'm saying 30 channels is because Once you look at the channels broadcast in the UK, this is the channels from free view in the UK
This is taken from the free preview website and this is their entertainment section And if you look on here, there's quite a lot of plus ones or plus 24s or there's things like the okay, you've got the so you've got the jewellery channel or
community channels is just once you get rid of some of the things which You probably don't want to record Then you end up roughly in the UK with about 30 channels with good content
so So that's why I refer to it as a 30 channel DVR so Now you might wonder how much data we're pushing out through this and this is just One of the graphs taken from Munin for a day's recording and as you can see here
It's eight megabytes constantly being written out to the hard disks so I know I said that I wasn't really a hardware engineer, but quite often my desk will look like this and
As you can see here what we've got here is one of our PCI cards which is the depth What we've done here is we've got the tuner can missing so that we can actually get at the circuit boards here And we here we've just brought out the pins and so we can put a logic analyzer onto here so that we can debug the I square C and
for those who don't really know I square C is basically it's a low-speed serial bus and It's how most tuners communicate really So moving on to our hardware development history and The way we got started out was the first version just used readily available tuners we found a
Taiwanese manufacturer who had some chips available, but there were no Linux drivers they were They only had DOS and Windows drivers for them and the example tuner drivers were all given to us under NDA
So the issue with using these tuners was that we probably couldn't release any product without violating some issues and when we first built the The cards we were using their network interface modules
So the first card was really just to prove to us that we could do what we wanted to and The the other major issue that we had was trying to get some tuners from people most people would talk to us Or would refuse to talk to us because we didn't want to order in hundreds of thousands of tuners
It's quite hard to convince anyone to talk to us So the second version then uses a Dibcom tuners it actually uses the 1790 P which is in quite a few USB sticks, and if you bought one of the USB tuners and
The advantage of that the main advantage is Dibcom tuners in the tuner drivers are in the main kernel and Rather than using their network interface modules we could take their chips and put them onto our own custom network interface module and
So we have a modular board and we can just redesign our own NIM if if we ever need to but We just made a slightly smaller NIM to be able to fit all of the tuners onto our boards so here's a photo of
one of our boards just put it up there so you can see there's eight tuners on this vision and The reason the metal cans are on there is purely for RF reasons rather than secrecy
so moving on to the Linux driver development, so I Was never really hired as a Linux driver developer. I initially joined the company to maintain maintain some embedded distributions and build up some embedded devices and
to do mostly Perl programming really but I Did have a background in embedded C. I've been programming C and assembler on the Intel 802.5.1 for various other companies so Moving on to the kernel. It wasn't too much of a stretch really but
What happened was we we first of all started asking around trying to find people to work on it and We just found people the costs of getting somebody in to write a driver for us was really just a bit too prohibitive and
during the process of going around asking and trying to find people to write drivers for us we started to look at the drivers ourselves just so that we had the correct sort of knowledge from we're talking to people and So the first sort of stage that I got into was I was looking at the a virtual driver now
So Linux has a virtual front-end tuner driver. You can see it there. It's within the DB front-end section of the kernel source just called DB underscore dummy underscore Fe and That is essentially a virtual tuner, so it's a virtual one of these silver cans and
So we can we could take that and build a virtual DVB device all we needed to do was to write a virtual bridge as it were because
if so if you want to write a USB device you have to write a Virtual USB bridge which then loads in the DVB dummy driver and Again for PCI, so we wanted to we started off by writing a virtual PCI bridge and
Way that I got into testing that was I found an old graphics card and I dug around in the kernel I found its PCI ID and I changed it so that it would load my driver instead of loading its driver and So at that point then the when the kernel detected the graphics card it was loading in my virtual
DVB T driver and We could test this Driver by writing in a DVB T file from user space and reading back. So if you want to get into kernel driver development, I strongly suggest having a lucky a look at the virtual driver and
See if you can write yourself a virtual bridge I If anybody's interested in seeing the code, I can probably send you that if you want to email me But I strongly suggest having a go at writing it yourself so that you can get into driver development
so Moving on from there. Once we had the virtual driver We then went on to making the so-called NDA driver one, which we were never really one for the card module model, which we were never really going to sell on and So I had to spend quite a long time studying the DOS driver code which we had and
Porting it to Linux and Replacing the virtual front end in the PCI driver, which we had so it was quite handy to have already written the virtual driver because we already knew that our
Our card when we got it would load up the virtual driver so it's just a case then of trying to get it to call the tuner code and once we've got that set up, we then had to spend a long time studying the I2C and Adjusting timings really until we got it to work, but once we got it working it did just work
It was a way that the drivers in the I2C Is set up, you just need to send through a lot of instructions down to the chips of I2C, so it's just a case of following through the code looking at the instructions and
tracing it Moving on to our sort of open source driver So what we did was we go back we take the original sort of bridge code as it were the PCI bridge code and We then added dependency on the Dibcom chips
Which means that the only thing we need to put into our own code really for the PCI driver is just some setup code various different parameters that we need to pass through to be Dibcom drivers and
again, then we spent a long time studying the I2C and We actually got some time, we reviewed it with Dibcom and they pointed us out a few things that were going wrong and Eventually, then we got those drivers working and so now it means that adding support for other chips with
Linux drivers is reasonably straightforward for us if we move to a different a different tuner manufacturer, it's quite straightforward. You just have to repeat the process of adding dependency on their drivers and
Perhaps including some more setup code, and hopefully it should be reasonably straightforward so Upstream now, this is a bit of a question mark because
it's hard when you're working on a project to convince people to let you push everything upstream and I sort of really got the sign off At the end of last week to go and push our drivers upstream because we're not selling the cards yet And whilst I really would have liked to have got drivers into the main kernel so we could get things testing
Because I'm quite sure we've done a few things wrong and we haven't really found that out yet, but I was getting it ready at the beginning of this week. I uploaded it onto One of our test systems and had it running for a short while
It looked to be running great to me And I thought that by the time I get to FOSDEM because I was traveling around a little bit first on the way to FOSDEM By the time I get to FOSDEM I'd be able to push the button and release the driver, send it upstream And all of that and then I got a message saying that there are some issues with that machine
so at the moment I haven't pushed the button on sending things upstream just yet but Once I get back I can look at our machine. I can see if there really was a problem and Figure it out and hopefully on Monday or Tuesday of next week. We will be sending the drivers upstream
But if you wanted to look at the source at the moment if you give me your email address I'd be more than happy to accommodate you. Now so over the years We've had a couple of different models of the systems and so the left-hand corner the pizza box style
machine was the first system we put together really and It was x86 It's Straightforward machine, but the machine above it is more interesting the circuit board You can see that that's actually an ultimate RD, and it's a Marvell chipset, so it's arm based and
This is our first foray into arms The only problem with that board is that it can either have PCIe or it can have video So It's a little bit useless as a DVR, but
What what we could do is we could put our card into it We could put a hard disk into it, and we had it recording 30 channels without any issues we just had to pull the streams off over the network to be able to watch it and the system on the right is One of the later models, and this is just a htPC case. It's fanless
It's quite nice a bit more of a beefy CPU And it was just nicer VGA, but it was really just allowing us just to test the hardware and Test the software just make sure that everything was running okay
so then we're moving now on to the i.MX6 and Why did we really go for that CPU? first of all there's a choice of single dual or quad core CPUs and And It's also one of the few chips out there that at least what I'm aware was as far as the hardware engineers
have told me that has PCIe support and The chip is readily available It comes as a computer on module so or we can get it in computer on module format which is the way that we use it and There's support from free scale and from the vendor who we use for Ubuntu, Android,
Yocto I'm sure there might be a few of us, but those were the main ones that we were aware of and the MX6 also has H.264, MPEG2, decoding and encoding and Most of the video is all controlled through Gstreamer on Linux, so
Before we moved on to that we had quite a good idea that it would be very nice for systems we'd be able to run Linux on it and use Gstreamer, so We were confident that we could start to make things work, so
the issue then came down to the Which distribution to use? Now I'm a Debian guy. I run Debian pretty much everywhere this laptop runs crunchbang, but that's a Debian derivative and
I'm really a Debian fanboy, so It was quite hard for me to eventually admit that we ended up with Yocto, but basically what happened was When the iMX6 hardware arrived the machines first of all we booted them up with Ubuntu And we tested and the video worked, so that was great
We had a nice video coming out and we know that works, so Then we built the Yocto images which are provided by the vendors and tested video again. That works great and so from that point then we took the Yocto kernel config and
We built the vendors kernel for Debian with PCIE support Which was included as standard and also included our driver into that kernel so then at that point we had Debian booting on the i.MX6 and It started recording DVB-T, so that was great. We had the iMX6 recording 30 channels
Working without any issues, so that was really nice but then as my own mission at fault was that we failed to manage to get the freescale video codecs running on Debian and
the trouble with that is we don't have too much time to spend on trying to get everything working and I was looking at the codecs. I could get them to compile okay. They would build fine
But for some reason then Gstreamer would never work correctly with those codecs, so it was just a matter of time that I had to go back and look at Yocto and then at that point I added our kernel patch to Yocto and at that point then we had both video playback and recording working on Yocto and
due to a time constraints it was obvious that Yocto was the easiest way forward and Then after a few days of running our system I noticed a large performance advantage of Yocto
I have been meaning to spend time to go back and figure out what the difference would be between the Yocto build and a Debian I'd hoped to spend some time over Christmas, but I was unfortunately a bit ill so there's a I checked the obvious things like whether or not we're running on ARM EL or ARM HF and compared them both and
Everything looked to be perfectly fine But there was a noticeable performance advantage with Yocto when when running our software. It wasn't the Standard running in the system. It was just when we built and compiled our software on the actual
Recording it just seemed to use a lot more CPU on the Debian system now To recap for those who haven't come across it Yocto is basically, it's a system that allows you to build your own distribution, and that's just a quick quote from the Yocto project, but
Moving on I'm not going to go into Yocto in too much detail But I'm just going to give out our tips and tricks for getting on with it, so my major Tip for Yocto really was to fully check for the repositories for
Software there are quite a few times when I thought I was looking for the repositories and Oh, they don't have this bit of software. I'm going to have to go and build it myself and Spend a lot of time and then I'd I'd start looking at building it And then I'd realize that it was actually hidden away in a different repository so what you need to do is you need to look at the repositories in bb layers dot-com and
This is an example, so this is our bb layers and as you can see from down here you've got all of these repositories with some things like meta-purl, meta-multimedia, meta-networking and for some reason networking is separate from web server, so
You might think you're going to enable networking and you might be able to just install nginx But no you need to go and enable meta-webserver so you really need to keep an eye on what repositories are available to you and Make sure you enable them in bb layers dot-com before you start trying to add software into an image
and so Then one of the important things that you can do is that you can add packages to an image, so When you first build an image, it's got a certain amount of packages and there you choose a multimedia image
and it includes Gstreamer But then when you want to add in some extra packages you can do so in local.conf So this is an example from our local.conf and this is just this is a small section of it So what you can see here these are all the extra packages we request, things like PostgreSQL and
Gstreamer Some extra bits, OpenSSH and down here one of the Important things is package management You really need to add that in if you if you want to put some packages on to the images yourself after you've built the image
so once you've built the image you can use the smart package manager to to be able to add some stuff in and so you can just go through this process on your build machine you can run bitbake and
So you can search through the software packages available with that first line just looking for software So you can search for nginx and then once you found that nginx is available to you because you've enabled the web server repository you can then just build nginx and Make sure that you update the package index and once you've done that
you can then on your target you can use smart update and then you can search for nginx, you can install nginx and Very importantly is once you've got it installed you can then look at the paths using smart info and
figure out exactly where everything's gone because Yocto doesn't necessarily put or the package might not necessarily put everything where you expect it to go if you're used to Debian so moving on to
Qt development now Yocto very nicely provides a toolchain, so it's quite easy to Get into Qt development you don't need to build your own toolchain. You can just build a yocto package and
then you've got a Toolchain you can install on your build machine So you can then use qt creator on the build machine and you can run and debug code on the target Which it is really nice. It's really a very straightforward and The advantage of using qt is that it's cross-platform
one thing I didn't perhaps Mention earlier was that on the other versions of the DVR We've done the x86 and the previous arm. It was all running the qt software and our qt software would just also runs on
Windows and OS X so you can pull up the same interface that you get on the TV on your Windows laptop on your Linux machine on your Mac laptop and watch TV and If you need it we haven't had to go that way, but there is
Support available from digia and qt. I oh if you really need it So there's also a webkit module and we use webkit for our HTML5 UI which Again, it's quite nice having HTML5 UI means that if you don't want to install software on your desktop. You can just pull up the website the website and
Because in our JavaScript you can obviously tell that you're not running on the local machine you can do interesting things like Adapting the interface so that you can Then start playing the software from your laptop instead of having to find your remote control
So it's quite nice and of course qt has gstreamer support which is necessary for this project, so Moving on to G streamer, and I'd say I'm I'm quite new to G streamer and it's
a It's quite an interesting project to Get into it's essentially an open source media framework, and I say here It's not a media player And that's because you can't use it like totem or M player or something other things like you can you can try to but?
it's it's more of a media framework for building applications and when you're Is your friend so Play bin allows you to Play bin will automatic automatically try to guess what your multimedia pipeline should be and
It's very useful, but you can just use that and you don't need to pull together your own pipeline so G streamer can generate the graphs of Play bin pipelines, which again is very handy because
What you can do is you once you can figure if you need to do a custom pipeline for some specific reason Then you can generate you can run G streamer with play bin You can generate a graph of it, and you can look through and you can build your own pipeline
So in order to do that you need to be able to set the GST debug dump dot dir Variable and then you can just run G streamer or GST launch as usual so you can see here It's GST launch with play bin, and we're just passing it in a file you are
so this is I'm not going to be able to see this that well, but this is an example of the Graphs you can generate from G streamer using graph is so basically This is a HTTP file being passed in and It's going into a type find element, and then it goes on to the now. This is the free scale. I am x6
demuxer called AIUR demux, and you might be wondering why you would be demuxing again, and that's because when you have a DBT transport stream coming in you will separate out the channels
But a channel will still be a m beg to file so you need to demux your audio and your video out to Continue and as we follow the pipeline down what it will do is it goes through a multi queue And it ends up being separated out so that you've got the audio being passed
By a G stream module, and you've got the video going down into the VPU decoder on your iMX6 So then as you can see here what we've got is the audio decoder of the iMX6 up in the far left and Down here. We've got the final video output. Which is on the iMX6 so these are all free scale
plugins which are being called win G streamer and It's just using the Alsa sync output there so that pipeline if you wanted to Put it together yourself would look something like this
so that's why it's quite nice to be able to break out the graph and try and follow it through and So you can just adjust some of these if you want to some of the variables and carry on so
That's how we managed to build our DVRs, so any questions Interesting question I Don't know yet. It's
It's not It's not been fully decided. We we had a couple of manufacturing delays So we've been putting it off, but we'll be announcing the prices soon. I think so
Yes At the moment. They're not hd-capable Sorry Yes, sorry. Sorry. It's just been asked are the cards hd-capable and At the moment. They're not hd-capable and the reason for that is again trying to get hold of hd chips is
Has not been the easiest thing for us to do we've now got some hd-capable chips From some manufacturers, and we're building them onto our cards, but The reason for the delay and not having them on was simply getting hold of the chips, so We'd expect them in the next few months. We would have a hd card ready
Sorry yes, so Is it is it just a card or do we have a user interface and what is that is a business model, so
What what we've done is we started off in scratch with the cards and We we just plan to sell the cards we don't We don't intend to sell any Or we don't tend to provide any software
solutions there's already a lot of very good Linux software out there for a dbt recording and What what I want to do is I'd like to Be getting more into those communities and helping out and make sure that our cards are working with their software Rather than us providing yet another bit of software for people to run
on on their systems, so for instance we'd like to support people with running TV head end and things like that with our cards and What we're trying to is with
With this system. We're trying to build up so that we we sell an entire box and an entire DVR And that would have our own recording software on there and I'm not entirely sure what the release this is on that is where I said
I worked on the kernel driver Which is open source and on the user interface section that was our demo user interface to prove that things would work because There's not Much of a software that records everything all of the time And that's what I'd start to like like to start doing with some of the other with some of the other projects
So that that's the way that we're we're carrying on Yes, there are some difficulties with looking at things like
cable and and so on because we haven't spent much time looking at it, but because there's There's many more muxes Transmitted on cable, so it's as I understand it It's slightly more difficult to be able to record everything with DBBC, but
Having said that we do want to put The next generation of chips we're looking at they would already support DBBC and ISDB and quite a few others the new chips which are coming along the the support many more
DB DB methods, so I'd like to think that we should be able to do DBBC in the future
Yes, but I'm not sure the costs of pulling in sort of eight USB sticks and Getting them into a manufacturer and pulling all of that data down over the USB bus
It's it seemed to us to be more logical to go down the PCIe route And be able to sell our own hardware And then we started off building our own hardware first and then moved on to looking at the building and DVR boxes
Yes, yes, yeah yes, so sorry, so the the So you're asking if I can rephrase repeat the question you're asking
How does how does a driver talk to all of the tuners is it or what does the bridge section So okay, so what did I have to add to the driver to do things so basically?
My my driver controls all of the PCI stuff so we have an FPGA on here and so my driver talked to the FPGA and so what I have to do is I have to be able to Take the information from the DVB T drivers
So it's from the Dibcom drivers and be able to pass that through down to to the FPGA So that's how the bridge works and the FPGA will then pass it out to the individual tuners
Sorry Yes Yes, yes, so sorry. He was acting like the hardware demux the hardware demux is Is in the FPGA yes, so again asking about individual channels or the whole mux and
Actually our hardware is designed so that we can do both you could actually request just one or two channels from a From a demux and at the same time you could then also request the fold full demux, so you can get everything really
Yeah That is something that we're aware of in in the UK. We're very lucky
It's pretty much all unencrypted apart from the there's some channels which are encrypted and the DVB T2 The EPG on the DVB T2 is encrypted, so
We'll be having to deal with that when we get onto the DVB T2, but we are Aware of the need for CI so we are looking into CI support So and I think we're out of time now, so Thank you once again, Philippe