* [linux-dvb] Implementing support for multi-channel
@ 2008-03-12 10:27 Ben Backx
2008-03-12 10:31 ` Jarryd Beck
2008-03-12 12:19 ` Stephen Rowles
0 siblings, 2 replies; 14+ messages in thread
From: Ben Backx @ 2008-03-12 10:27 UTC (permalink / raw)
To: linux-dvb
[-- Attachment #1.1: Type: text/plain, Size: 369 bytes --]
Hello,
I was wondering if there's some info to find on how to implement (and test)
multi-channel receiving?
It's possible, because dvb uses streams and the driver is currently capable
to filter one channel, but how can I implement the support of multi-channel
filtering?
Is there perhaps an open-source driver supporting this that I can have a
look at?
Regards,
Ben
[-- Attachment #1.2: Type: text/html, Size: 1729 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-12 10:27 Ben Backx
@ 2008-03-12 10:31 ` Jarryd Beck
2008-03-12 10:36 ` Ben Backx
2008-03-12 12:19 ` Stephen Rowles
1 sibling, 1 reply; 14+ messages in thread
From: Jarryd Beck @ 2008-03-12 10:31 UTC (permalink / raw)
To: Ben Backx; +Cc: linux-dvb
2008/3/12 Ben Backx <ben@bbackx.com>:
>
>
>
> Hello,
>
> I was wondering if there's some info to find on how to implement (and test)
> multi-channel receiving?
>
> It's possible, because dvb uses streams and the driver is currently capable
> to filter one channel, but how can I implement the support of multi-channel
> filtering?
>
> Is there perhaps an open-source driver supporting this that I can have a
> look at?
>
AFAIK tuners can already receive from multiple channels as long as they
are on the same transponder (I think that's the right word). So in Australia
you can receive channel 7 and the channel 7 guide because they are
broadcast together. But I don't think you can do anymore than that.
I think mythtv is capable of doing it so you could have a look at that.
Jarryd.
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-12 10:31 ` Jarryd Beck
@ 2008-03-12 10:36 ` Ben Backx
0 siblings, 0 replies; 14+ messages in thread
From: Ben Backx @ 2008-03-12 10:36 UTC (permalink / raw)
To: linux-dvb
> -----Original Message-----
> From: Jarryd Beck [mailto:jarro.2783@gmail.com]
> Sent: 12 March 2008 11:32
> To: Ben Backx
> Cc: linux-dvb@linuxtv.org
> Subject: Re: [linux-dvb] Implementing support for multi-channel
>
> 2008/3/12 Ben Backx <ben@bbackx.com>:
> >
> >
> >
> > Hello,
> >
> > I was wondering if there's some info to find on how to implement (and
> test)
> > multi-channel receiving?
> >
> > It's possible, because dvb uses streams and the driver is currently
> capable
> > to filter one channel, but how can I implement the support of multi-
> channel
> > filtering?
> >
> > Is there perhaps an open-source driver supporting this that I can
> have a
> > look at?
> >
>
> AFAIK tuners can already receive from multiple channels as long as they
> are on the same transponder (I think that's the right word). So in
> Australia
> you can receive channel 7 and the channel 7 guide because they are
> broadcast together. But I don't think you can do anymore than that.
>
> I think mythtv is capable of doing it so you could have a look at that.
>
> Jarryd.
The tuner-part is no problem indeed (as you said: as long as the channels
are on the same transponder).
But for the moment: the driver-part is the problem, I don't think my driver
supports the filtering of more than one channel at a time.
So my question is: which (existing) driver does support multi-channel
filtering? So I can have a look and see what modifications have to be made
to my driver to implement multi-channel filtering.
Ben
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-12 10:27 Ben Backx
2008-03-12 10:31 ` Jarryd Beck
@ 2008-03-12 12:19 ` Stephen Rowles
2008-03-12 12:35 ` Zaheer Merali
` (2 more replies)
1 sibling, 3 replies; 14+ messages in thread
From: Stephen Rowles @ 2008-03-12 12:19 UTC (permalink / raw)
To: Ben Backx; +Cc: linux-dvb
> Hello,
>
> I was wondering if there's some info to find on how to implement (and
> test)
> multi-channel receiving?
> It's possible, because dvb uses streams and the driver is currently
> capable
> to filter one channel, but how can I implement the support of
> multi-channel
> filtering?
> Is there perhaps an open-source driver supporting this that I can have a
> look at?
Check out the dvbstreamer project:
http://dvbstreamer.sourceforge.net/
This allows multi-channel recording / streaming if the DVB device supports
sending the whole transport stream (some usb devices do not support this).
This works by sending the whole transport stream to the dvbstreamer
program, then this program allows filtering out and recording separate
channels from that stream as required.
This isn't a driver level solution, but might provide the function you need.
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-12 12:19 ` Stephen Rowles
@ 2008-03-12 12:35 ` Zaheer Merali
2008-03-12 17:03 ` Ben Backx
[not found] ` <20080313062848.GC17780@tkukoulu.fi>
2 siblings, 0 replies; 14+ messages in thread
From: Zaheer Merali @ 2008-03-12 12:35 UTC (permalink / raw)
To: Stephen Rowles; +Cc: linux-dvb
On Wed, Mar 12, 2008 at 12:19 PM, Stephen Rowles <stephen@rowles.org.uk> wrote:
>
> > Hello,
> >
> > I was wondering if there's some info to find on how to implement (and
> > test)
> > multi-channel receiving?
> > It's possible, because dvb uses streams and the driver is currently
> > capable
> > to filter one channel, but how can I implement the support of
> > multi-channel
> > filtering?
> > Is there perhaps an open-source driver supporting this that I can have a
> > look at?
>
> Check out the dvbstreamer project:
>
> http://dvbstreamer.sourceforge.net/
>
> This allows multi-channel recording / streaming if the DVB device supports
> sending the whole transport stream (some usb devices do not support this).
> This works by sending the whole transport stream to the dvbstreamer
> program, then this program allows filtering out and recording separate
> channels from that stream as required.
>
> This isn't a driver level solution, but might provide the function you need.
>
>
Read this blog post, this solution does not take the full stream but
just filters the pids it requires for the different channels allowing
it to work on most USB devices also.
http://zaheer.merali.org/articles/2008/02/29/multiple-dvb-channels-streamed-by-flumotion-from-same-capture-card/
Zaheer
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-12 12:19 ` Stephen Rowles
2008-03-12 12:35 ` Zaheer Merali
@ 2008-03-12 17:03 ` Ben Backx
[not found] ` <20080313062848.GC17780@tkukoulu.fi>
2 siblings, 0 replies; 14+ messages in thread
From: Ben Backx @ 2008-03-12 17:03 UTC (permalink / raw)
To: linux-dvb
> -----Original Message-----
> From: Stephen Rowles [mailto:stephen@rowles.org.uk]
> Sent: 12 March 2008 13:20
> To: Ben Backx
> Cc: linux-dvb@linuxtv.org
> Subject: Re: [linux-dvb] Implementing support for multi-channel
>
> > Hello,
> >
> > I was wondering if there's some info to find on how to implement (and
> > test)
> > multi-channel receiving?
> > It's possible, because dvb uses streams and the driver is currently
> > capable
> > to filter one channel, but how can I implement the support of
> > multi-channel
> > filtering?
> > Is there perhaps an open-source driver supporting this that I can
> have a
> > look at?
>
> Check out the dvbstreamer project:
>
> http://dvbstreamer.sourceforge.net/
>
> This allows multi-channel recording / streaming if the DVB device
> supports
> sending the whole transport stream (some usb devices do not support
> this).
> This works by sending the whole transport stream to the dvbstreamer
> program, then this program allows filtering out and recording separate
> channels from that stream as required.
>
> This isn't a driver level solution, but might provide the function you
> need.
It's (partly) for a research project, so I have to look at all possible
solutions, software being one, so dvbstreamer is part of the solution :-)
The others are at driver and hardware level (the hardware supports this).
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* [linux-dvb] Implementing support for multi-channel
[not found] <mailman.127.1205345831.830.linux-dvb@linuxtv.org>
@ 2008-03-12 20:47 ` Andrea
0 siblings, 0 replies; 14+ messages in thread
From: Andrea @ 2008-03-12 20:47 UTC (permalink / raw)
To: linux-dvb
> It's (partly) for a research project, so I have to look at all possible
> solutions, software being one, so dvbstreamer is part of the solution :-)
> The others are at driver and hardware level (the hardware supports this).
I can try to explain you what I have understood.
Please anybody correct me where I am wrong.
The following is true in the case of a USB card capable of passing the whole TS to the kernel.
1 tuner => only 1 frequency!
The dvr is useless since it can be opened only once.
You can open the demux as many times as you want.
Each time you set a filter.
Then you can read from them.
You can filter
1) based on a PID
2) just get the whole signal
3) set a section filter
case 1 and 2: you can decide whether to get the TS or PES version of the stream.
I am not too sure about PES. TS is pretty easy to use.
If you want to get a channel (audio + video), then you are in trouble.
I can only filter 1 pid, or the whole TS. So you would need to get the whole signal from each demux
and filter (audio, video, subtitles...) in your userspace application (which is a big waste!)
I have tried to ask (but did not get any answer) in this list, what people think about multi pid
filter, so that you can get a full channel in each demux.
Hope it helps.
Andrea
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
[not found] ` <20080313062848.GC17780@tkukoulu.fi>
@ 2008-03-13 11:00 ` Ben Backx
0 siblings, 0 replies; 14+ messages in thread
From: Ben Backx @ 2008-03-13 11:00 UTC (permalink / raw)
To: linux-dvb
> -----Original Message-----
> From: Tero Pelander [mailto:tpeland@tkukoulu.fi]
> Sent: 13 March 2008 07:29
> To: Ben Backx
> Subject: Re: [linux-dvb] Implementing support for multi-channel
>
> On Wed, Mar 12, 2008 at 12:19:58PM -0000, Stephen Rowles wrote:
> >> I was wondering if there's some info to find on how to implement
> (and
> >> test) multi-channel receiving?
>
> One such program that is easy to understand due to modularity is
> dvbyell. It has separate code for tuner part and separate code for
> splitting MPTS (multiple program transport stream) into many single
> program transport streams.
>
> http://www.dvbyell.org/
Thank you everybody for the answers so far, I do have enough software-based
solutions to start testing.
However, there's still the question: can filtering be done in the driver?
Are there any drivers that support this or which dvb-api-functions need to
be implemented?
Regards,
Ben
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* [linux-dvb] Implementing support for multi-channel
@ 2008-03-13 21:43 Andrea
2008-03-24 10:48 ` Ben Backx
0 siblings, 1 reply; 14+ messages in thread
From: Andrea @ 2008-03-13 21:43 UTC (permalink / raw)
To: linux-dvb
> -----Original Message-----
> Thank you everybody for the answers so far, I do have enough software-based
> solutions to start testing.
> However, there's still the question: can filtering be done in the driver?
Have you read my last post?
http://www.linuxtv.org/pipermail/linux-dvb/2008-March/024456.html
When I talk about filter, demux, dvr, this is all in the kernel driver for the dvb.
You can find here an example of how to open the demux to get 1 PID.
You can run it multiple times and get as many streams as you want
http://www.audetto.pwp.blueyonder.co.uk/dvb.cpp
> Are there any drivers that support this or which dvb-api-functions need to
> be implemented?
If you want to extend the driver for the dvb, I'd like to be able to set a filter in the demux for
more that 1 pid at a time.
Good luck.
Andrea
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-13 21:43 [linux-dvb] Implementing support for multi-channel Andrea
@ 2008-03-24 10:48 ` Ben Backx
2008-03-24 13:55 ` Andrea
0 siblings, 1 reply; 14+ messages in thread
From: Ben Backx @ 2008-03-24 10:48 UTC (permalink / raw)
To: 'Andrea', linux-dvb
Sorry, late reply, been busy with some other stuff.
Back to driver-development.
Perhaps, first some background. I'm a university student in my last year and
am busy with a dissertation (thesis) about DVB (in my case: DVB-s, the
others (c en t) are limited here in Belgium).
The goal is to check and, if possible, optimize the performance of
multi-channel demuxing/decoding. For the moment, I'm looking at 3 possible
scenarios:
1) Let the end-user software do all the work (meaning: giving the whole TS
to the application), this is possible with eg Kaffeine, flumotion, etc...
2) Let the driver do the work
3) Hardware
The hardware supports multi-PID-filtering, so that's not the problem, the
only problem is: which functions have to be implemented in my driver? In
other words: is there an application that says to the driver: give me the
stream with that PID and which function is called to do that? I'm guessing
DMX_SET_PES_FILTER?
>
> Have you read my last post?
>
> http://www.linuxtv.org/pipermail/linux-dvb/2008-March/024456.html
>
> When I talk about filter, demux, dvr, this is all in the kernel driver
> for the dvb.
>
Sorry, must have missed it. You're completely right when you say the driver
must be able to filter more than one PID at the same time, this is also part
of my research: seeing how many PID's I can filter at the same time.
> You can find here an example of how to open the demux to get 1 PID.
> You can run it multiple times and get as many streams as you want
>
> http://www.audetto.pwp.blueyonder.co.uk/dvb.cpp
>
Thanks for the example, I think it will come in handy when implementing
DMX_SET_PES_FILTER
Thank you for all the help so far.
Regards,
Ben
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-24 10:48 ` Ben Backx
@ 2008-03-24 13:55 ` Andrea
2008-03-24 18:30 ` Ben Backx
2008-04-05 20:05 ` Ben Backx
0 siblings, 2 replies; 14+ messages in thread
From: Andrea @ 2008-03-24 13:55 UTC (permalink / raw)
To: Ben Backx; +Cc: linux-dvb
Ben Backx wrote:
> Sorry, late reply, been busy with some other stuff.
> Back to driver-development.
>
> The hardware supports multi-PID-filtering, so that's not the problem, the
> only problem is: which functions have to be implemented in my driver? In
> other words: is there an application that says to the driver: give me the
> stream with that PID and which function is called to do that? I'm guessing
> DMX_SET_PES_FILTER?
I see.
To be honest with you I don't know the difference between kernel level filter and hardware filter.
The way I see it, but I think it might depend on the card as well, is that the driver in the kernel
always receives the whole TS and then does a software filter which you can trigger via
DMX_SET_PES_FILTER.
I don't know anything about hardware filter.
Someone else should maybe answer this question.
Andrea
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-24 13:55 ` Andrea
@ 2008-03-24 18:30 ` Ben Backx
2008-03-24 18:58 ` ldvb
2008-04-05 20:05 ` Ben Backx
1 sibling, 1 reply; 14+ messages in thread
From: Ben Backx @ 2008-03-24 18:30 UTC (permalink / raw)
To: 'Andrea'; +Cc: linux-dvb
>
> Ben Backx wrote:
> > Sorry, late reply, been busy with some other stuff.
> > Back to driver-development.
> >
> > The hardware supports multi-PID-filtering, so that's not the problem,
> the
> > only problem is: which functions have to be implemented in my driver?
> In
> > other words: is there an application that says to the driver: give me
> the
> > stream with that PID and which function is called to do that? I'm
> guessing
> > DMX_SET_PES_FILTER?
>
> I see.
> To be honest with you I don't know the difference between kernel level
> filter and hardware filter.
>
> The way I see it, but I think it might depend on the card as well, is
> that the driver in the kernel
> always receives the whole TS and then does a software filter which you
> can trigger via
> DMX_SET_PES_FILTER.
>
> I don't know anything about hardware filter.
> Someone else should maybe answer this question.
>
The hardware can handle it (up to a certain number of PID-filters). The main
difference: cpu-load. When the hardware handles the filtering, the cpu can
be busy with other stuff... (at least, that's what I think).
The (performance) difference between driver and software will be little, I
expect.
Regards,
Ben
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-24 18:30 ` Ben Backx
@ 2008-03-24 18:58 ` ldvb
0 siblings, 0 replies; 14+ messages in thread
From: ldvb @ 2008-03-24 18:58 UTC (permalink / raw)
To: linux-dvb
On Mon, 24 Mar 2008, Ben Backx wrote:
> The hardware can handle it (up to a certain number of PID-filters).
For Skystar3 it is 255.
> The main
> difference: cpu-load. When the hardware handles the filtering, the cpu can
> be busy with other stuff... (at least, that's what I think).
Seems, that today's CPUs are capable of doing full TS decoding without any
significant CPU load (for 68Mbit stream with 20 channels it is less than
5% 3GHz CPU). More, sw. decoder is not a small atomic thing, and can do
many additional things. If the PID filter is in the kernel in such case,
there is a chance, that we've get additional memcpy() etc.
> The (performance) difference between driver and software will be little, I
> expect.
More, we can miss CPU power and increase kernel size.
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [linux-dvb] Implementing support for multi-channel
2008-03-24 13:55 ` Andrea
2008-03-24 18:30 ` Ben Backx
@ 2008-04-05 20:05 ` Ben Backx
1 sibling, 0 replies; 14+ messages in thread
From: Ben Backx @ 2008-04-05 20:05 UTC (permalink / raw)
To: linux-dvb
>
> The way I see it, but I think it might depend on the card as well, is
> that the driver in the kernel
> always receives the whole TS and then does a software filter which you
> can trigger via DMX_SET_PES_FILTER.
>
Still trying to figure things out...
I just can't seem to find out where exactly things are happening.
I've been looking at some dvb-code, and when it comes to setting
PES-filters, this always is done by using an ioctl-call (eg: ioctl(fd,
DMX_SET_PES_FILTER, &pesFilterParams)), I'm unsure what this means...
Aren't ioctl-calls ment to be handled in hardware? This would mean that the
filtering used by eg. dvbstream is already done in hardware... Or am I
missing something?
Greetz,
Ben
_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2008-04-05 20:06 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-13 21:43 [linux-dvb] Implementing support for multi-channel Andrea
2008-03-24 10:48 ` Ben Backx
2008-03-24 13:55 ` Andrea
2008-03-24 18:30 ` Ben Backx
2008-03-24 18:58 ` ldvb
2008-04-05 20:05 ` Ben Backx
[not found] <mailman.127.1205345831.830.linux-dvb@linuxtv.org>
2008-03-12 20:47 ` Andrea
-- strict thread matches above, loose matches on Subject: below --
2008-03-12 10:27 Ben Backx
2008-03-12 10:31 ` Jarryd Beck
2008-03-12 10:36 ` Ben Backx
2008-03-12 12:19 ` Stephen Rowles
2008-03-12 12:35 ` Zaheer Merali
2008-03-12 17:03 ` Ben Backx
[not found] ` <20080313062848.GC17780@tkukoulu.fi>
2008-03-13 11:00 ` Ben Backx
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox