Ticket #1224 (closed feature: fixed)
HLS: support PES packets across TS boundaries
| Reported by: | jeroen | Owned by: | jeroen |
|---|---|---|---|
| Priority: | High | Milestone: | Plugins |
| Component: | general | Keywords: | |
| Cc: | brams | Forum thread: |
Description (last modified by jeroen) (diff)
There's various branches of an open source segmenter that can create Apple HLS files, but there are a few differences between its implementation and those of Apple/Wowza:
Audio elementary streams don't have an ID of 448, but 445(fixed by supporting in framework)ADTS headers contain an MPEG2 streamtype flag instead of MPEG4(fixed by supporting in framework)TS fragment don't start with a keyframe.(fixed by ignoring non-IDR frames upon switching)- TS fragments start with PES data from the previous TS fragment (indicated by non-zero continuity counter).
The last issue can be fixed by decoupling the PES parsing from the TS loading. Needs a bit of a rewrite though. For now, the issue is logged in the framework:
Discarding TS [audio|video] packet without PES header.
Test videos that have this issue include:
- Presentation
- Zencoder
- Serenity
- Talent
Change History
comment:2 Changed 2 years ago by jeroen
- Description modified (diff)
- Summary changed from Adaptive: add support for Squeeze streams to Adaptive: add support for HTTP segmenter streams
comment:3 Changed 2 years ago by jeroen
- Summary changed from Adaptive: add support for HTTP segmenter streams to Adaptive: add support for Squeeze/HTTPSegmenter streams
comment:4 Changed 2 years ago by jeroen
- Description modified (diff)
- Summary changed from Adaptive: add support for Squeeze/HTTPSegmenter streams to Adaptive: find decent OSS HTTP Segmenter
comment:5 Changed 23 months ago by jeroen
- Summary changed from Adaptive: find decent OSS HTTP Segmenter to HLS: issues with open source HTTPSegmenter
comment:9 Changed 17 months ago by jeroen
- Type changed from bug to enhancement
- Summary changed from HLS: issues with open source HTTPSegmenter to HLS: support PES packets across TS boundaries
comment:11 Changed 16 months ago by jeroen
As part of this, we should also ensure the entire video is not kept in memory anymore. Not really needed ...
comment:15 Changed 10 months ago by jeroen
- Status changed from new to closed
- Resolution set to fixed
Implemented by Courtenay...
Note: See
TracTickets for help on using
tickets.

Squeeze uses the HTTPSegmenter tool for building the TS files:
http://code.google.com/p/httpsegmenter/
Having support (in or for) this tool will fix this issue for a wider variety of tools.