Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add fmp4 emsg ID3 support #1370

Merged
merged 7 commits into from
Mar 6, 2023
Merged

feat: add fmp4 emsg ID3 support #1370

merged 7 commits into from
Mar 6, 2023

Conversation

adrums86
Copy link
Contributor

@adrums86 adrums86 commented Feb 8, 2023

Description

Currently VHS does not support passing ID3 frames to the text track from fmp4 segment emsg boxes. With some additional parsing from mux.js and this PR, this enables passing parsed ID3 frame data to the player textTracks_ for use as timed metadata.

Specific Changes proposed

Adding a new function to the transmuxer-worker that calls getEmsgId3 on the transmuxer and returns parsed ID3 frames. Calling the worker function and passing the ID3 frames to the id3Fn passed in from the mediaSegmentRequest.

Note: This is blocked by the work in the transmuxer being released and integrated. See: videojs/mux.js#426
Changes are integrated into VHS see PR: #1372

References:
https://aomediacodec.github.io/id3-emsg/
https://dashif-documents.azurewebsites.net/Events/master/event.html#event-metadata-timing
https://github.com/id3/ID3v2.4/blob/master/id3v2.40-structure.txt

Requirements Checklist

  • Feature implemented / Bug fixed
  • If necessary, more likely in a feature request than a bug fix
  • Reviewed by Two Core Contributors

@adrums86 adrums86 self-assigned this Feb 8, 2023
@adrums86 adrums86 marked this pull request as draft February 8, 2023 19:03
@adrums86
Copy link
Contributor Author

adrums86 commented Feb 8, 2023

Setting as draft until transmuxer changes are integrated, as the tests will fail until we have access to the getEmsgId3 function.

@adrums86 adrums86 marked this pull request as ready for review February 24, 2023 16:58
@codecov
Copy link

codecov bot commented Feb 24, 2023

Codecov Report

Merging #1370 (5847381) into main (e5b4bf6) will increase coverage by 0.04%.
The diff coverage is 90.90%.

@@            Coverage Diff             @@
##             main    #1370      +/-   ##
==========================================
+ Coverage   85.34%   85.39%   +0.04%     
==========================================
  Files          40       40              
  Lines        9957     9966       +9     
  Branches     2313     2314       +1     
==========================================
+ Hits         8498     8510      +12     
+ Misses       1459     1456       -3     
Impacted Files Coverage Δ
src/transmuxer-worker.js 71.72% <66.66%> (+0.07%) ⬆️
src/media-segment-request.js 95.50% <100.00%> (+0.09%) ⬆️
src/source-updater.js 94.51% <0.00%> (+0.32%) ⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@adrums86 adrums86 merged commit 906f29e into main Mar 6, 2023
@adrums86 adrums86 deleted the emsg-id3 branch March 6, 2023 21:40
This pull request was closed.
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.

2 participants