IPB

Welcome Guest ( Log In | Register )

6 Pages V   1 2 3 > »   
Reply to this topicStart new topic
> Version 5 - proof of concept
null_pointer
post Aug 27 2007, 09:03 PM
Post #1


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


I am working on a rewrite of the capture system in WS, the current system assumes that each capture will be using one device, this was changed slightly with the addition of multiple files per capture but the idea was the same, one capture (with multiple files) uses one device.

After thinking about this a bit it was clear that it would be much better to have a many to one relationship, that is, have many capture using the same device, or to put it another way a single device can do many captures. Now obviously a single device can only tune to a single frequency thus one device is only able to service captures for the one MUX.

After thinking about this for a few weeks and playing with some test filters I wrote I decided on a memory share system that allows a capture device to make available the FULL TS stream as a memory share, this is done by a producer process. Consumers can then use this memory share to record the streams/programs they want.

Anyway this allows multiple capture to use the same memory share. This approach completely does away with the confusing and messy capture merging system that was in place, now each capture is a stand alone item even if two capture are sharing a TS memory share producer they are treated as separate items so they can have their own capture types, pre and post tasks etc. This approach also makes it possible to start a capture at any time and have it use an already running TS memory producer, you can also sto and remove a capture at any time without effecting other capture that are using the same source TS share. And finally it allows each capture to end and the file is closed and finalised at the end of its running instead of having to wait for the full merged capture item to be finished.

All in all it is a much better approach, I have tested it on my test systems for a few days now, it is in proof on concept still as I am trying to work out if the current approach is going to work, the memory share system, so I am looking for people willing to run this new version and do some comprehensive tests to see if it stacks up in the reliability area. I dont see why it should not be as reliable as the current system but the more testing done the better. I would not suggest using this as your main capture machine just yet, I know I am not smile.gif

It will be a few days until I have all the files to a point that the installer is updated with all the changes.

So what are people thoughts?

Download Now:
http://www.bluebit.com.au/cms.php?id=4
Go to the top of the page
 
+Quote Post
bear
post Aug 27 2007, 11:12 PM
Post #2


Forum Regular


Group: Members
Posts: 3,099
Joined: 24-April 04
From: Queensland
Member No.: 808
Card: VisionPlus DVB-t


Magic, ripper idea null.
Go to the top of the page
 
+Quote Post
renura
post Aug 27 2007, 11:41 PM
Post #3


Enthusiast


Group: Members
Posts: 6,668
Joined: 10-July 03
From: Canberra
Member No.: 38
Card: None


Yes, great idea. smile.gif


--------------------
Renura Enterprises Pty Ltd - Owner of DigitalNow and MediaNow- Importers, Distributors and Retailers of Digital TV and other Digital Multimedia Solutions
Go to the top of the page
 
+Quote Post
Guest_dns_*
post Aug 28 2007, 12:46 AM
Post #4





Guests






Seems good.
Here are some ideas that might be interesting to implement:
- the ability to merge different streams in the same transport, for example could you take the hi-def audio stream and the standard video stream or the other way around? could you for example mix abc2 and one of the radio streams?
- Will it have the ability to start and stop recordings at any time ie: while recording abc-hd can you manually start an abc2 recording?
- I would like the interface, the recording queue and the recording engine to be separate. The ideal architecture would be to have the capture engine and recording queue as one part, and the user interface as a seperate part. This would help with things like JTVLAN where they could use your engine more directly without haveing to wrap around the server as much.
- The ability to stream recordings over a network. It might not need to be integrated into the engine but if it makes it easy to record to a temporary file it would make it easier to then stream this file.
Remember the above are suggestions, implement it how you like.
Go to the top of the page
 
+Quote Post
Nigel Percy
post Aug 28 2007, 05:27 AM
Post #5


Participant


Group: New Members
Posts: 41
Joined: 8-June 06
Member No.: 4,872
Card: VisionPlus DVB-t


Null - Does this mean it would solve my current 'problem' with the way merging works, in that it fires the post task after all the merged items have completed, rather than after each individual item as it completes.

If it does this, then it will be fantastic and count me in for being a tester.

You have just made an already great application, even better.

Thanks

Nige
Go to the top of the page
 
+Quote Post
null_pointer
post Aug 28 2007, 08:18 AM
Post #6


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


QUOTE (dns)
the ability to merge different streams in the same transport, for example could you take the hi-def audio stream and the standard video stream or the other way around? could you for example mix abc2 and one of the radio streams?

You can already do this with MPG and DVR-MS captures, you can specify any of the elemental stream as video and audio. TS-Mux is only ever going to record the streams for a program and Full TS is going to capture the full transport stream so it is not possible with these capture types. There was a suggestion of doing a custom TS-Mux that just grabbed the PIDS you specified but that will create a TS-Mux file that is very confusing and will cause more issues then it is work from a play back and demux point of view.

QUOTE (dns)
Will it have the ability to start and stop recordings at any time ie: while recording abc-hd can you manually start an abc2 recording?

yes, as outlined in the original post each schedule/capture is independent and can be started and stopped individually.

QUOTE (dns)
I would like the interface, the recording queue and the recording engine to be separate. The ideal architecture would be to have the capture engine and recording queue as one part, and the user interface as a seperate part. This would help with things like JTVLAN where they could use your engine more directly without haveing to wrap around the server as much.

Internally it will work, well hopefully it will, that is the plan smile.gif

QUOTE (dns)
The ability to stream recordings over a network. It might not need to be integrated into the engine but if it makes it easy to record to a temporary file it would make it easier to then stream this file.

This has come up a few times over the years, this is beyond the scope of what WS does, WS is a scheduling tool, it is not intended to be used like this and has not been designed to facilitate it.

QUOTE (dns)
Remember the above are suggestions, implement it how you like.

I know, I take all suggestion into account, I have a reasonably clear idea of the scope of WS and that its main aim is, I always take this into consideration what looking at suggestions, it is just as important what you leave out of an application as what you add.

QUOTE (Nigel Percy)
Does this mean it would solve my current 'problem' with the way merging works, in that it fires the post task after all the merged items have completed, rather than after each individual item as it completes.

Yes, each schedule/capture would be considered a separate item and as each finished the post capture task would kick in and run. You could still delay the task using the task options until no schedules/captures are running is you liked though, that is what I will be doing as I don't want post tasks running while I have capture running.
Go to the top of the page
 
+Quote Post
Calvi
post Aug 28 2007, 11:29 AM
Post #7


Forum Regular


Group: Members
Posts: 875
Joined: 8-November 04
Member No.: 1,988
Card: DVICO FusionHDTV


I think this is a great idea.

The current system is a little bit piecemeal (understandably) and this new approach makes alot more sense.

I would like someway of getting TS-Mux to use a SD video with HD audio but assume there would be an issue with playback, pat/pmt etc.

I wonder if the this opens up some options for live viewing?

Other than that keen to see/try it.
Go to the top of the page
 
+Quote Post
null_pointer
post Aug 28 2007, 01:05 PM
Post #8


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


QUOTE (Calvi)
The current system is a little bit piecemeal (understandably)

yes the current system was originally sound but over time with the addition of the merged capture items it got a bit silly.

QUOTE (Calvi)
I would like someway of getting TS-Mux to use a SD video with HD audio but assume there would be an issue with playback, pat/pmt etc.

yes exactly, the problem of using any pids in a TS-Mux capture would be that the tables packets would become useless and you might as well not capture them which would cause other problems.

QUOTE
I wonder if the this opens up some options for live viewing?

the full TS is available in the memory share and it is possible to play it in real time theoretically but only on the same machine WS is running on.

I just need to add all the capture types to the consumer and I will have a test build available. This will be a proof of concept for now meaning that it is still in the development stages not even beta ready yet but it will install and capture, in fact it is feature complete it just needs lots of testing.
Go to the top of the page
 
+Quote Post
renura
post Aug 28 2007, 03:31 PM
Post #9


Enthusiast


Group: Members
Posts: 6,668
Joined: 10-July 03
From: Canberra
Member No.: 38
Card: None


I am wondering if this means any other application can use the shared memory at the same time (eg DNTV Live! for viewing ABC2 and DVBViewer to view ABC HDTV) while WS is recording ABC radio or something else in the same mux?

Also would this mean that other applications will have to use the shared memory filters you have developed?

And would this be able to be done over a network and/or by different users in the same PC?

This post has been edited by renura: Aug 28 2007, 06:48 PM


--------------------
Renura Enterprises Pty Ltd - Owner of DigitalNow and MediaNow- Importers, Distributors and Retailers of Digital TV and other Digital Multimedia Solutions
Go to the top of the page
 
+Quote Post
null_pointer
post Aug 28 2007, 08:11 PM
Post #10


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


QUOTE (renura)
I am wondering if this means any other application can use the shared memory at the same time (eg DNTV Live! for viewing ABC2 and DVBViewer to view ABC HDTV) while WS is recording ABC radio or something else in the same mux?

Yes another app could use the shared memory and play back the data there.

QUOTE (renura)
Also would this mean that other applications will have to use the shared memory filters you have developed?

The filter set (sink and source) filters I am working on do all the work for WS, the memory is shared so any app can open a handle to the memory share as long as they know the name.

QUOTE (renura)
And would this be able to be done over a network and/or by different users in the same PC?

Not over a network but yes by anyone as the filter set create global named shares with full user access for all user on the machine.
Go to the top of the page
 
+Quote Post
renura
post Aug 28 2007, 08:54 PM
Post #11


Enthusiast


Group: Members
Posts: 6,668
Joined: 10-July 03
From: Canberra
Member No.: 38
Card: None


OK, thanks.

I am thinking that the main benefit of such shared memory approach would be for several users to share the tuner, and of course the best way for sharing it, would be over a network.

I can see a situation where a server PC with five tuners (ie one per mux) could be shared by several clients through which one could be watching/recording any channel.

Thinking even a little further, this sort of approach would be ideal for satellite TV broadcasts, where one mux usually has several entirely different channels. http://www.lyngsat.com/packages/selectv.html smile.gif

This post has been edited by renura: Aug 28 2007, 09:19 PM


--------------------
Renura Enterprises Pty Ltd - Owner of DigitalNow and MediaNow- Importers, Distributors and Retailers of Digital TV and other Digital Multimedia Solutions
Go to the top of the page
 
+Quote Post
null_pointer
post Aug 28 2007, 09:08 PM
Post #12


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


QUOTE (renura)
and of course the best way for sharing it, would be over a network.

the shared memory the filters use are local system memory, they are not network visible.

I looked at making the data available on the IP stack like the network filters MS have but did not want to have to deal with network related issues.
Go to the top of the page
 
+Quote Post
renura
post Aug 28 2007, 09:21 PM
Post #13


Enthusiast


Group: Members
Posts: 6,668
Joined: 10-July 03
From: Canberra
Member No.: 38
Card: None


QUOTE (null_pointer @ Aug 28 2007, 09:08 PM) *
I looked at making the data available on the IP stack like the network filters MS have but did not want to have to deal with network related issues.
Yes, I can understand that too....


--------------------
Renura Enterprises Pty Ltd - Owner of DigitalNow and MediaNow- Importers, Distributors and Retailers of Digital TV and other Digital Multimedia Solutions
Go to the top of the page
 
+Quote Post
murrayt
post Aug 28 2007, 09:52 PM
Post #14


Forum Regular


Group: New Members
Posts: 209
Joined: 17-July 06
Member No.: 5,107
Card: None


null_pointer

Indeed trying to make the engine network aware would be a concern I think.

I'm more than happy to test your next generation development. What you have set out is interesting, in particular the notion that recordings are temporally unique. That all makes sense.

The memory sharing approach lets me think that a viewing or network streaming extension to WS might be realisable assuming that the tuner selection and arbitration logic is sorted, and the scheduling logic can work accross both physical ad logical tuner allocations.

Interesting steps I think
Go to the top of the page
 
+Quote Post
null_pointer
post Aug 28 2007, 10:07 PM
Post #15


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


I am almost ready for a build of the installer but as usual have hit a hurdle.

Adding the capture types was I thought going to be the easy bit, after all the code to do all the different types already exists so just use that, well that is what I was thinking until I hit the SBE and DVR-MS type. It looks like the SBE sink filter will only accept samples if they originated from a source filter, i.e. a capture filter not a push filter like the memory source filter I have written.

This is a pain, I am reluctant to drop DVR-MS format but I am not sure there is any alternative, from what I can see the SBE sink filter needs real time data and will not work with a push filter. If anyone has gotten the SBE sink filter working with a push filter like the TS file reader filter I would be interested to know.
Go to the top of the page
 
+Quote Post
Calvi
post Aug 29 2007, 09:25 AM
Post #16


Forum Regular


Group: Members
Posts: 875
Joined: 8-November 04
Member No.: 1,988
Card: DVICO FusionHDTV


I would very much miss dvr-ms support.

I built a graph with hdtv-pump decoding a ts file (I believe this is a push filter) and fed it into streambuffersink (via mpeg2demultiplexer) and it seemed to connect and work fine.
I don't know if this helps at all.
Go to the top of the page
 
+Quote Post
null_pointer
post Aug 29 2007, 09:35 AM
Post #17


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


How do you mean it worked fine? did it produce a playable DVR-MS file?
Go to the top of the page
 
+Quote Post
Calvi
post Aug 29 2007, 11:30 AM
Post #18


Forum Regular


Group: Members
Posts: 875
Joined: 8-November 04
Member No.: 1,988
Card: DVICO FusionHDTV


I just did a very quick connect in graphedit and it connected fine and would start.

I am using Vista.

The files are tmp files created in currentuser\local\temp\tempsbe

If I grab one and make it dvr-ms it is a playable file of the same thing as hdtvpump (or ts-filesource).
Go to the top of the page
 
+Quote Post
null_pointer
post Aug 29 2007, 12:18 PM
Post #19


Web Scheduler Developer


Group: Developers
Posts: 4,495
Joined: 9-July 03
From: Melb
Member No.: 9
Card: None


yes I can do the same but for some reason the SBE will not create dvr-ms files when I lock the profile and create a recording no matter what I try, it has me stumped at the moment, I have tried implementing all the interfaces on the push source that a live source does not still no go.
Go to the top of the page
 
+Quote Post
bear
post Aug 29 2007, 06:19 PM
Post #20


Forum Regular


Group: Members
Posts: 3,099
Joined: 24-April 04
From: Queensland
Member No.: 808
Card: VisionPlus DVB-t


QUOTE
yes I can do the same but for some reason the SBE will not create dvr-ms files when I lock the profile and create a recording no matter what I try, it has me stumped at the moment, I have tried implementing all the interfaces on the push source that a live source does not still no go.
Is the source filter your using a smart filter? What is the source pin type/sub/format?
Go to the top of the page
 
+Quote Post

6 Pages V   1 2 3 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 11th December 2018 - 05:44 AM