Inspect HLS Video Segment
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 283
- Forks
- 72
- Avg merge
- 27m
- Merged PRs (30d)
- 1
Description
**Is your feature request related to a problem? Please describe.**
We don't know the parameters of an video segment.
**Describe the solution you'd like**
To implement a video inspector that returns parameters about a HLSSegment.
What we want to understand:
* Video resolution
* Video aspect ratio
* Video FPS
* Video Codec
* Audio Codec
We want to implement a `vidInspector/inspector.go` with a single `Inspect` method that takes a `HLSSegment` and returns the above parameters. For inspirations, check out `lpms_length`. You should follow the example of `ffmpeg.go`, possibly adding functions to it (by adding to the native libav integration).
**Describe alternatives you've considered**
We can also implement an inspector for the RTMP stream, but doing the check for the HLS segment can be used on the broadcaster and the transcoder.
**Additional context**
We are planning to use this inspector to inspect incoming videos, and automatically make choices about the ABR list.
We assume the video parameters will remain the same throughout the entire video. In practice, we'll probably examine the first segment of the video after the RTMP video is segmented into HLS, or if the input is in HLS, simply inspect the first segment.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the proposed vidInspector/inspector.go and the existing lpms_length and ffmpeg.go implementations. Trace how HLSSegment values reach the native libav integration, then define the Inspect result around resolution, aspect ratio, FPS, video codec, and audio codec. Done means an HLS segment can be inspected through one Inspect method and returns all requested parameters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- audio-video-rtc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100