-
Notifications
You must be signed in to change notification settings - Fork 111
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
AV1Payloader is not compatible with av1-rtp-spec #190
Comments
It seems the I still thinks it will be better to change the AV1Payloader.Payload, so it will handle multiple obus too. Any more suggestions here? |
The reason why AV1 packets packetized with this library can't be decoded by the browsers is that the N bit of the AV1 aggregation header is always set to zero, while it should be set to 1 in case of a first packet of a coded video sequence. I have a working encoder here: and i'd like to contribute it entirely to pion/rtp but i can't do it until this library is frozen. |
Resolves pion/rtp#190 Resolves pion/rtp#191
Resolves pion/rtp#190 Resolves pion/rtp#191
Resolves pion/rtp#190 Resolves pion/rtp#191
Resolves pion/rtp#190 Resolves pion/rtp#191
Sorry this took so long @AutumnSun1996 ! Pion's |
Resolves pion/rtp#190 Resolves pion/rtp#191
Your environment.
The av1-rtp-spec has a lot of limitations, which is not handled by current implement of
AV1Payloader.Payload
rtp/codecs/av1_packet.go
Line 28 in 9a6e1d0
av1-rtp-spec
It requires obu element size in payload when W=0, and has limits for
temporal_id and spatial_id
in same packet, etc.Current implement will results in invalid packet.
What did you do?
Trying to build a
play-from-disk-ivf
demo, which supports vp8, vp9 and av1 in ivf container.What did you expect?
All codecs plays in browser.
Or, show error in some means when input data is invalid.
(The AV1Payloader.Payload do not return a error, but at least some log message to tell me somethin goes wrong here.)
What happened?
Browser failed to decode the AV1 packets, and no error message from pion.
(See discussion here https://gophers.slack.com/archives/CAK2124AG/p1654875989280929)
After some investigation I found that the reason is the rtp packets are incompatible with av1-rtp-spec.
In my implement I just put the frame date into
WriteSample
, which usesAV1Payloader.Payload
to packetize it for rtp.Since there is no check or transform for input data, the result is invalid and it's hard to find the reason.
The text was updated successfully, but these errors were encountered: