Jump to content

Normalize SID in TS generated by Netstream Plugins


jimmyt

Recommended Posts

Hi,

 

A great Feature for simplify the use of multi-manufacturer multicast client appliances with the same stream could be to normalize Service PID in output stream.

 

For example :

 

A Channel with Service PID (PMT PID or SID) established at 9301 could be renumbered as 1

In my opinion, Every Elementary Stream PID (ES PID) could stay unchanged if PMT describes right ES PID's.

But ES PID could also be renumbered as VLC does when streaming output is selected.

 

The result is that every multicast client could be set with PMT PID to 1 whatever the channel selected.

 

Does anybody understand what I mean ? :P

 

Ready to test :blush:

 

Jimmyt

Link to comment
..you're overlooking something :( According to the standards, things start with the PAT which has the fixed PID 0 :huh:

 

 

Well I'm not sure I understand what you told me.

 

My goals :

 

- My Multicast client is Netgem Netbox HD (http://www.netgem.com/en/index.php)

- Trough his interface I can analyse multicast stream. As answer Netbox returns a SID series matching with Service PID for the Channel I stream with DVBViewer Netsream plugin.

- Then I can set a channel on Netbox with folowing parameters :

- Multicast address

- UDP port

- SID

 

So for example I set Channel #60 with 239.0.0.1:2345 SID 9301.

It works well for channel <lambda>.

But when I change channel on DVBViewer, SID Change, so I need to reset my channel#60.

 

 

So my question is : Is it possible to have a kind of SID remapping for multicast stream to have static SID so I don't need to change Multicast client parameters ? (Not Woman Acceptance Factor Compliant :) )

Link to comment
So for example I set Channel #60 with 239.0.0.1:2345 SID 9301.

It works well for channel <lambda>.

But when I change channel on DVBViewer, SID Change, so I need to reset my channel#60.

An intermediate server could solve your problem. Try the multi-talent VLC :shifty:

 

Here's an example with netstream plugin, http_unicast on localhost (no additional traffic on your LAN) -> VLC as UDP_multicast_server

 

The stream can be received with any client but to show what happens, I took TSReader with multicast UDP interface. Everything works as well with a different streaming protocol but as I understand, your client needs multicast..

 

The channel chosen was a Premiere sport channel to show that it works also with CI and encrypted channels.

 

Original tuned channel:

Program Number: 220

Stream Type: 0x06 Teletext/VBI PID 32 (0x0020)
Stream Type: 0x02 MPEG-2 Video PID 767 (0x02ff)
Stream Type: 0x03 MPEG-1 Audio PID 768 (0x0300)
Stream Type: 0x03 MPEG-1 Audio PID 769 (0x0301)
Stream Type: 0x06 Dolby AC3 Audio PID 771 (0x0303)

stream from VLC:

 

Program Number: 1

Stream Type: 0x03 MPEG-1 Audio PID 68 (0x0044)
Stream Type: 0x03 MPEG-1 Audio PID 69 (0x0045)
Stream Type: 0x81 AC-3 Audio PID 70 (0x0046)
Stream Type: 0x02 MPEG-2 Video PID 71 (0x0047)

 

You can see that the PIDs are mapped and the program number (SID) is changed to 1. When changing the channel at the DVBViewer, the SID of the TS from VLC will alsways be one. Only PMT and ES_PIDs will change. In the example all elementary streams were selected.

 

..a couple of scren shot to show how it's done. Alas my VLC speaks German but it shouldn't be too difficult to understand :shifty:

Link to comment
An intermediate server could solve your problem. Try the multi-talent VLC :shifty:

 

.../...

 

I already tried this method which works almost fine.

Problems exist :

- When channel change on DVBViewer, VLC doesn't continue to stream on multicast output. I need to press stop/start on VLC.

- H264 HD CHANNELS don't seem to be correctly streamed by VLC. (sound OK but video KO).

- DVB EPG don't seem to be streamed by VLC if buffer count > 1.

 

Maybe with Netstream sources I can try to work on it .... :shifty: without warranty of success ;)

 

I try to find other SID remapping Software :-(

 

THanks Guy.

Edited by jimmyt
Link to comment
I'm sorry but this is impossible with the netstreaming plugin. It can and will not manipulate SI Tables. It's not meant to do such things.

 

Lars,

 

You told me the same thing about the IP Fragmentation Pb, a few month ago. ;)

Despite everything, I thank you now for the good work you did about "Buffer count" for multicast in Netstream plugin. :D

 

As I can see in Plugin SDK, SID Table is wellknown by Netstream plugin (maybe as an array).

For remapping Program ID, I think it's only necessary to change Program ID PAT and PMT packets.

It appears to be easily to do that with a simple logical operation on each TS packet to detect PAT and PMT packets, then replace SID in such detected packets. :(

 

isn't it ? :(

 

Well, a friend of mine, network and multicast expert, and wellknown developper (tftp and dhcp servers recommended by Cisco and others manufacters) is interested in contributing if you accept help. ;)

 

DVBViewer could be the first and the only DVB software to accept a working PID remapping ;-)

 

Read you soon.

 

Jim.

Edited by jimmyt
Link to comment

Well,

 

With this silence about what we can call a "Feature request", I can suppose that the first answer from Lars is a foursquare refusal.

 

Undoubtedly, this kind of feature is not really a none sense if you consider that multicast clients are not only VLC and DVBViewer.

 

Isn't it as easy as I told ?

 

BR,

 

Jimmyt

Network features silly addicted ;-)

Link to comment

Let me say it this way: A feature request obviously only useful for one user has to fulfill at least 3 criteria to be implemented by me:

 

1. It does have to make some kind of sense to me and I have to see a benefit for more users some way.

2. It has to be real easy to implement or it has to be a interessting challange and learning expierence for me. (can overule 1 and 3)

3. I myself can use it somehow. (does overule 1 and 2 :) ).

 

Then I may think about investing my (unpaid!) time and work into it.

You must understand I am firstly a simple DVBViewer user like everyone else and not getting paid for the stuff I do for the viewer (like everyone else in the forum).

 

And I have to say none of the criteria are met, so I stick to a project more important for me (a real thin dbviewer network client the size of two cigarette packs for a TV and a server app for it).

Link to comment
Hi,

 

A great Feature for simplify the use of multi-manufacturer multicast client appliances with the same stream could be to normalize Service PID in output stream.

 

For example :

 

A Channel with Service PID (PMT PID or SID) established at 9301 could be renumbered as 1

In my opinion, Every Elementary Stream PID (ES PID) could stay unchanged if PMT describes right ES PID's.

But ES PID could also be renumbered as VLC does when streaming output is selected.

 

The result is that every multicast client could be set with PMT PID to 1 whatever the channel selected.

 

Does anybody understand what I mean ? ;)

 

Ready to test :)

 

Jimmyt

 

I would suggest that this feature belongs in the protocols used by these multicast client appliance manufacturers.

 

Regards, Eppo

Edited by pastimer
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...