Skip to content

Comments

HLS MoQ#970

Draft
mcintyrehh wants to merge 7 commits intomoq-dev:mainfrom
mcintyrehh:hls-moq
Draft

HLS MoQ#970
mcintyrehh wants to merge 7 commits intomoq-dev:mainfrom
mcintyrehh:hls-moq

Conversation

@mcintyrehh
Copy link
Contributor

Work in progress for #863

This simplifies/cleans up the hls import a bit and allows us to proxy an HLS source to be served from a MoQ backend.

Currently an HLS client can successfully:

  • fetch the master playlist, media playlists, and init segments

Requests for segments ('http://localhost:4443/fetch/anon/bbb/video0.m4s?group=284') are timing out. Debugging this now.

Updates:

  • Updated web.rs to add a "Content-Type": "application/vnd.apple.mpegurl" header for .m3u8 requests. This lets us plop the master playlist url in safari/chrome directly for super easy testing.
  • Removed a bunch of logic around matching video track with audio tracks. All we do now is create a video track for all variants added in the master playlist, and an audio track for all alternatives.
  • Creates a new track for each each media playlist
  • Creates an "init segment" track with a single group for each media playlist

What is next:

  • figure out why segment/group requests are 504ing
  • consolidate audio_tracks and video_tracks into media_tracks. lots we can dedupe here, the HLS import really doesn't need to care what the contents of these playlists are, outside of choosing which media importer to use (aac/fmp4)
  • get rid of the hardcoding to have a single audio track
  • add text track support, this should be super easy

How to test:

So close! You can see video.js requesting the playlists and the actual M3u8s look great:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant