Giter Club home page Giter Club logo

dvb's People

Contributors

debfx avatar garyburd avatar michalderkacz avatar tvi avatar ziutek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dvb's Issues

PSI table examples

Is it possible to get an example for decoding tables ?

I have some ts streams that I am trying to the the PAT , PMT out.

ts.NewPacketReader -> get PID 0 -> PktQueue -> SectionDecoder -> tables.

examples

Prompt your library can take h264 unit or stream or file and mux it ts file or ts http stream?
I can not find such examples

Diseqc Funtion to tune.go

Hi all!
I have linuxdvb working fine on my armhf Board with an USB DVB-S Card.
Could you please give me a hint how to add Disceq control to "examples/internal/tune.go" ?

As far as I found out is that the Diseqc Command is defined:
dtvDiseqcMaster cmd = 7
but I dont know how to use it.

I tried to add and call a function to api5.go:

func (d Device) SetDiseqcMaster() error {
        e := d.set(dtvDiseqcMaster, 1)
        if e != 0 {
                return Error{"set", "Diseqc", e}
        }
        return nil
}

But this results in the error:
set Diseqc: invalid argument

I have 4 LNB attached to a diseqc switch and need to switch between those.

Cheers, Thomas

Question, example for RTP and replicate dvblast?

Hi @ziutek ,

I'm using dvblast currently for streaming 4 HD channels filter a service from each MPTS each on different frequencies. I have quad dvb adaptor. Each TS stream is RTP with dvblastctl checking fe_stats and get_PMT every couple of seconds. I was wondering is your library is able to replicate filtering out one service and streaming over RTP? I'd like to keep all my code in go and not using a wrapper around dvblast for each service?

Another Example please.

Could we have another example for use of PAT and PMT Please?

I have a USB stick DVB-T tuner working and streaming to UDP using the example dvbdd/main.go

I've managed to list all programs using PMT.go (example attached) which lists the serviceID and PMT PID for that service.
Now I need to use the PMT PID to list all the PID's associated with that service?

I boing a similar thing to pat.Update(d, true) using pmt.Update(d) however the for loop crashes and I get panic with
panic: section length should be >= 8

I'm clueless how to return all the PID's for the service? (PCR_PID, VIDEO_PID and AUDIO_PID's)

Any working code would be great help from the dvb gurus..

In addition, when passing more than 2 Pids to setfilter() r, filter := setFilter(demuxPath, "", []int16{123, 124, 135}) anything after the second PID is ignored?

Is this a bug?

Below is what I have so far and returns the first service in the MPTS.

	r, patFilter := setFilter(demuxPath, "", []int16{0x00})
	defer patFilter.Close()

	rp := ts.PktReaderAsReplacer{R: r}

	// Read and parse the PAT
	var pat psi.PAT
	d := psi.NewSectionDecoder(rp, true)

	fmt.Println("Reading PAT...")
	for {
		if err := pat.Update(d, true); err != nil {
			fmt.Printf("Error reading PAT: %v\n", err)
			os.Exit(1)
		}
		if pat.Version() != -1 {
			break
		}
	}

	// Print the PAT and select the first valid service
	fmt.Println("Program Association Table (PAT):")
	pl := pat.ProgramList()
	var firstServiceID uint16
	var firstPMTPID int16

	for !pl.IsEmpty() {
		progID, pmtPID, remaining := pl.Pop()
		if progID != 0 {
			firstServiceID = progID
			firstPMTPID = pmtPID

			break
		}
		pl = remaining
	}

	if firstPMTPID == ts.NullPid {
		fmt.Printf("No valid PMT found in PAT.\n")
		os.Exit(1)
	}

	fmt.Printf("Selected Service ID: %d, PMT PID: %d\n", firstServiceID, firstPMTPID)

Analyze mpeg-ts stream

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")
        }
    }

OMG, please revert back to ba2b496e072ba36f77d4550ecd7c89fb06735d4b

Michal, you were so kind to respond so quickly to my PR. Thank you, but OMG, I'm so sorry! I just reread my comments on the PR

Typical Headers look as follows.

[000001bd002c81800525339fe61f305f31385f323134323837373434315f32355f313631363930323031393339393131380a]
[000001bd002c81800525339ffd95305f31395f323134323838343136335f32355f313631363930323031393431383338360a]
[000001bd002c8180052533a1150b305f32305f323134323839323533315f32355f313631363930323031393435393937350a]

stream_id is 0xbd, Flags are present, PTS is present

"Flags are present" !!!!

I honestly don't know what I was seeing, HasFlags() is clearly returning a false value when any of the listed stream IDs is present. Stream ID 0xbd, has flags, at least in the streams we are receiving!

I sent two emails, but either both were to bogus addresses, or you've been too busy to see. So not as quietly as it might have been if you had noticed my emails, would you please, roll back PR #12.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.