Fix unexpected disconnection of rtsp session of rtspv2#122
Open
GyeongHoKim wants to merge 3 commits intodeepch:masterfrom
Open
Fix unexpected disconnection of rtsp session of rtspv2#122GyeongHoKim wants to merge 3 commits intodeepch:masterfrom
GyeongHoKim wants to merge 3 commits intodeepch:masterfrom
Conversation
- Remove backup files server.go_ - go mod tidy to clean up dependencies
- Add missing H264 NALuType definition we need - Fix inconsistently named H265 NALuType values, especially AP and FU
- AnnexB/AVCC are container formats unrelated to RTP packetization, deleted SplitNALus in the RTPDemuxing logic. - Added H264 STAP-B packetization mode handler - Implements proper handling of RTP video packets according to RFC standards: https://datatracker.ietf.org/doc/html/rfc6184#section-5.7 https://datatracker.ietf.org/doc/html/rfc7798#section-4.4.3
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.
noVideosignal triggered in RTSPtoWeb, even though IDR-slice sentI'm using this vdk project in a media server(RTSPtoWeb) for a web platform at construction sites.
Few weeks ago, my client says that 352x240 resolution cameras are not visible(my React WebApp uses WebRTC Player).
I finally realized that I'm experiencing exactly the same problem as issue #116, but the root cause identified by the author of that issue is incorrect.
I fixed it and it worked well on my product. The reason is below,
RTP Payloads are neither AVCC nor AnnexB format. AVCC and AnnexB is for container format
in
handleVideoin format/rtspv2/demuxer.go,contentis RTP Packet andclient.offsetis 12 byte(RTP Hdr size).SplitNALUsassumes thatcontent[client.offset:client.end]is in either AVCC or AnnexB formatHowever, RTP Payloads are neither AVCC nor AnnexB format.
Because RTP payloads lack Emulation Prevention, SplitNALUs may incorrectly fragment what is actually a single, complete NAL unit.
so, in
handleH264Payload,it leads to
IsKeyFrameto befalseResolves #116