feat!: drop VP8/VP9 output codec support#23
Merged
Conversation
Remove ability to encode with vp8/vp9, keeping them only as valid input codecs. VP8/VP9 encoding is not useful for fast scrubbing and adds unnecessary complexity. Focus is now solely on H.264/H.265 output. - Create Codec.ts module for codec type handling - Remove outputCodecToMuxCodec (no longer needed) - Simplify Muxer (always convert Annex B → AVCC) - Remove VP8/VP9 from codec types, comments, and tests - Simplify resolveEncoderOptions (remove webm branch) - Remove FF_ENCODER_LIBVPX_VP8/VP9 imports and exports - Update docs to clarify FSV is a H.264/H.265 container format Resolves #20
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Add helper functions to inspect actual NAL unit types in encoded bitstream: - getH264NalUnitType(): searches for IDR (type 5) in AVCC/Annex B data - getH265NalUnitType(): extracts NAL unit type from H.265 header Add new test 'converts with libx264 output codec' that verifies H.264 bitstream by checking NAL unit type = 5 (IDR). Keep 'converts with libx265 output codec' test intentionally broken (outputCodec: H264 instead of H265) to demonstrate that the bitstream verification correctly detects wrong encoder usage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
Codec.tsmodule to centralize codec type handling, assertion, and resolutionoutputCodecToMuxCodecfunction (no longer needed)Muxer.ts(removecodecfromMuxOptions, always convert Annex B → AVCC)resolveEncoderOptions(removeresolveOutputFormat, webm branch)FF_ENCODER_LIBVPX_VP8/VP9imports and exports fromConverter.tsreadme.mdandAGENTS.mdto clarify FSV is a H.264/H.265 container formatBreaking Change
This is a breaking change. The
outputCodecoption inConverter.convert()no longer acceptslibvpx-vp8orlibvpx-vp9values. Onlylibx264(H.264) andlibx265(H.265) are supported as output codecs.Resolves #20