gots

MPEG Transport Stream handling in Go

Github星跟踪图

GoDoc
Build Status
Go Report Card
Coverage Status

goTS (Go Transport Streams)

gots (Go Transport Streams) is a library for working with MPEG transport streams. It provides abstractions for reading packet information and program specific information (psi)

Bug / Feature Reporting

Add requests to Github issues. To submit a PR see CONTRIBUTING

Tests

go test -race ./...

Travis-CI will run these tests:

go test -v ./...

License

This software is licensed under the MIT license. For full text see LICENSE

Code of Conduct

We take our code of conduct very seriously. Please abide by it.

Examples

This is a simple example that extracts all PIDs from a ts file and prints them. CLI example parser can be found here

func main() {
	pidSet := make(map[uint16]bool, 5)
	filename := "./scenario1.ts"
	file, err := os.Open(filename)
	if err == nil {
		pkt := make([]byte, packet.PacketSize)
		for read, err := file.Read(pkt); read > 0 && err == nil; read, err = file.Read(pkt) {
                        if err != nil {
                                println(err)
                                return
                        }
			pid, err := packet.Pid(pkt)
			if err != nil {
				println(err)
				continue
			}
			pidSet[pid] = true
		}

        	for v := range pidSet {
	        	fmt.Printf("Found pid %d\n", v)
	        }
	} else {
		fmt.Printf("Unable to open file [%s] due to [%s]\n", filename, err.Error())
}

主要指标

概览
名称与所有者zikichombo/sio
主编程语言Go
编程语言Go (语言数: 4)
平台
许可证BSD 3-Clause "New" or "Revised" License
所有者活动
创建于2018-08-03 16:06:17
推送于2021-08-23 22:40:51
最后一次提交2018-10-03 20:51:43
发布数8
最新版本名称v0.0.5 (发布于 )
第一版名称v0.0.1-alpha.1 (发布于 )
用户参与
星数25
关注者数5
派生数4
提交数114
已启用问题?
问题数8
打开的问题数5
拉请求数15
打开的拉请求数0
关闭的拉请求数2
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?