asticode / go-astits

Demux and mux MPEG Transport Streams (.ts) natively in GO
MIT License
540 stars 52 forks source link

[Question] Realtime muxer #55

Open SonnyWalkman opened 10 months ago

SonnyWalkman commented 10 months ago

Hello @asticode,

great work here and I'm new to programming in Go! I've been using TSduck in exec to do what I need to however, a quick look at what you have done is promising. How far off are implementation of TDT and TOT tables.?

I'm using Teletext PES and guessing the muxer is capable of muxing the PES from another program once formatted correctly. The teletext PES need its own PTS clock or does your mux do all the PCR and PTS metrics?

asticode commented 10 months ago

@SonnyWalkman thanks for your interest in the project 👍

How far off are implementation of TDT and TOT tables.?

TOT tables are demuxed (see here) but not muxed and TDT tables are neither demuxed nor muxed.

The teletext PES need its own PTS clock or does your mux do all the PCR and PTS metrics?

Right now only PAT and PMT tables can be generated manually using the WriteTables method or automatically using the MuxerOptTablesRetransmitPeriod option. The muxer's WriteData method must be provided a *MuxerData which contains the information you want to write; astits doesn't "interfere" with this information therefore the teletext PES needs its own PTS.

TVforME commented 1 month ago

Thanks @asticode,

Is the other to do items going to happen anytime soon? Its almost there however need NIT, TOT and TDT

asticode commented 4 weeks ago

I'll be honest, I'm not implementing new stuff myself in this repo anymore except for bug fixing, but I'm welcoming PRs which I can supervise and help on 👍

TVforME commented 3 weeks ago

Thanks @asticode for you reply, I'll look to adding the features sometime in future. I've been able to do what I require with TSduck however a native GO muxer is my preferred option, however looking to developing GO wrappers for TSduck since GO and C++ go (no pun intended) well together using cgo. TSduck.go binding. TSduck has Python and Java binding why no Go?