ziutek / dvb

DVB/MPEG-TS library (pure Go)
BSD 3-Clause "New" or "Revised" License
101 stars 17 forks source link

Analyze mpeg-ts stream #4

Closed o1egl closed 7 years ago

o1egl commented 8 years ago

Hi. I'm newly to mpeg-ts and need your help. I have udp multicast of mpeg-ts streams (SS and MS). How can I analyze this streams? For example how to parse that MS stream and get useful information about channels, errors and etc ?

addr, _ := net.ResolveUDPAddr("udp","233.76.175.7:1234")
conn, _ := net.ListenMulticastUDP("udp", nil, addr)

tsReader := ts.NewPktStreamReader(ServerConn)
pkt := new(ts.ArrayPkt)

for {
        if err := tsReader.ReadPkt(pkt); err != nil {
            log.Error(err)
        }
        if pkt.ContainsError() {
            log.Error("contains error")
        }
    }
ziutek commented 8 years ago
  1. You don't need PktStreamReader in case of UDP. Use PktPktReader instead.
  2. You need some (substantially greater than zero) knowledge about MPEG-TS and especially PSI to use this library. Search for and download something like iso13818.pdf and read it.
  3. Read issue #3 to see how parse PSI tables.