{"id":13906298,"url":"https://github.com/bluenviron/gohlslib","last_synced_at":"2025-05-15T10:01:54.449Z","repository":{"id":134849320,"uuid":"612181754","full_name":"bluenviron/gohlslib","owner":"bluenviron","description":"HLS client and muxer library for the Go programming language","archived":false,"fork":false,"pushed_at":"2025-05-04T09:30:10.000Z","size":560,"stargazers_count":118,"open_issues_count":3,"forks_count":35,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-04T10:30:40.450Z","etag":null,"topics":["go","golang","h264","h265","hls","ll-hls","streaming","video"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bluenviron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-10T11:27:05.000Z","updated_at":"2025-05-04T09:30:13.000Z","dependencies_parsed_at":"2023-11-22T22:31:03.426Z","dependency_job_id":"85d9d3ff-dcc6-4727-803c-9b6f71ec937a","html_url":"https://github.com/bluenviron/gohlslib","commit_stats":{"total_commits":190,"total_committers":8,"mean_commits":23.75,"dds":"0.41052631578947374","last_synced_commit":"9ad7a0cc25f4745664207b79894be158782c2b71"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluenviron%2Fgohlslib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluenviron%2Fgohlslib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluenviron%2Fgohlslib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluenviron%2Fgohlslib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bluenviron","download_url":"https://codeload.github.com/bluenviron/gohlslib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254319715,"owners_count":22051072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","h264","h265","hls","ll-hls","streaming","video"],"created_at":"2024-08-06T23:01:32.999Z","updated_at":"2025-05-15T10:01:53.329Z","avatar_url":"https://github.com/bluenviron.png","language":"Go","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# gohlslib\n\n[![Test](https://github.com/bluenviron/gohlslib/actions/workflows/test.yml/badge.svg)](https://github.com/bluenviron/gohlslib/actions/workflows/test.yml)\n[![Lint](https://github.com/bluenviron/gohlslib/actions/workflows/lint.yml/badge.svg)](https://github.com/bluenviron/gohlslib/actions/workflows/lint.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/bluenviron/gohlslib)](https://goreportcard.com/report/github.com/bluenviron/gohlslib)\n[![CodeCov](https://codecov.io/gh/bluenviron/gohlslib/branch/main/graph/badge.svg)](https://app.codecov.io/gh/bluenviron/gohlslib/tree/main)\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/bluenviron/gohlslib/v2)](https://pkg.go.dev/github.com/bluenviron/gohlslib/v2#pkg-index)\n\nHLS client and muxer library for the Go programming language, written for [MediaMTX](https://github.com/bluenviron/mediamtx).\n\nGo \u0026ge; 1.23 is required.\n\nFeatures:\n\n* Client\n\n  * Read streams in MPEG-TS, fMP4 or Low-latency format\n  * Read a single video track and/or multiple audio tracks\n  * Read tracks encoded with AV1, VP9, H265, H264, Opus, MPEG-4 Audio (AAC)\n  * Get absolute timestamp of incoming data\n\n* Muxer\n\n  * Generate streams in MPEG-TS, fMP4 or Low-latency format\n  * Write a single video track and/or multiple audio tracks\n  * Write tracks encoded with AV1, VP9, H265, H264, Opus, MPEG-4 audio (AAC)\n  * Save generated segments on disk\n\n* General\n\n  * Parse and produce M3U8 playlists\n  * Examples\n\n## Table of contents\n\n* [Examples](#examples)\n* [API Documentation](#api-documentation)\n* [Specifications](#specifications)\n* [Related projects](#related-projects)\n\n## Examples\n\n* [playlist-parser](examples/playlist-parser/main.go)\n* [client](examples/client/main.go)\n* [client-absolute-timestamp](examples/client-absolute-timestamp/main.go)\n* [client-codec-h264-save-to-disk](examples/client-codec-h264-save-to-disk/main.go)\n* [client-codec-h264-convert-to-jpeg](examples/client-codec-h264-convert-to-jpeg/main.go)\n* [client-codec-mpeg4audio-save-to-disk](examples/client-codec-mpeg4audio-save-to-disk/main.go)\n* [muxer](examples/muxer/main.go)\n\n## API Documentation\n\n[Click to open the API Documentation](https://pkg.go.dev/github.com/bluenviron/gohlslib#pkg-index)\n\n## Specifications\n\n|name|area|\n|----|----|\n|[RFC2616, HTTP 1.1](https://datatracker.ietf.org/doc/html/rfc2616)|protocol|\n|[RFC8216, HLS](https://datatracker.ietf.org/doc/html/rfc8216)|protocol|\n|[HLS v2](https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis)|protocol|\n|[HTTP Live Streaming by Apple](https://developer.apple.com/documentation/http-live-streaming)|protocol|\n|[Codec specifications](https://github.com/bluenviron/mediacommon#specifications)|codecs|\n|[Golang project layout](https://github.com/golang-standards/project-layout)|project layout|\n\n## Related projects\n\n* [MediaMTX](https://github.com/bluenviron/mediamtx)\n* [gortsplib](https://github.com/bluenviron/gortsplib)\n* [mediacommon](https://github.com/bluenviron/mediacommon)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluenviron%2Fgohlslib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluenviron%2Fgohlslib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluenviron%2Fgohlslib/lists"}