H.265 stream - codec private data information
CompletedHello!
Looking at information on how to subscribe to standard H.265 encoded video stream using MSDK 5, there is nothing on how to access codec private data information. Based on my understanding, this metadata is contained in the Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) frames. Also looking at the older article on how this was done in MSDK 4, there was a method provideTranscodedVideoFeed, that gave us a standard H.264 encoded video stream. Does the subscription to addStreamDataListener in MSDK 5 return standard H.265 encoded video stream that contains previously mentioned frames? If it does, is there any way via MSDK to get that private codec information or do we have to extract it raw byte array ourselves?
-
Information about how to access codec private data in V5. This metadata is included in Sequence Parameter Set (SPS), Picture Parameter Set (PPS) and Video Parameter Set (VPS) frames. This part can refer to the standard H.265 format for analysis and collection. There is no documentation describing how to parse it. In V4, the H.264 data in DJI format can be obtained through **getPrimaryVideoFeed**, which needs to be sent to **DJICodecManager** for framing, and then the standard H.264 data after framing can be obtained from the provided **TranscodedVideoFeed**. -
Hello DJI Developer Support!
Could you please confirm that the following is indeed correct data for CPD:
00 00 00 01 40 01 0c 01 ff ff 01 40 00 00 03 00 80 00 00 03 00 00 03 00 78 ac 0c 00 00 0f a0 00 01 d4 c2 00 fa 28 00 00 00 01 42 01 01 01 40 00 00 03 00 80 00 00 03 00 00 03 00 78 a0 03 c0 80 10 e7 fa 2e ec 91 77 a2 5d 58 10 00 00 3e 80 00 07 53 0c 40 00 00 00 01 44 01 c1 ad f0 13 64
Based on the data structure it should be, as it consists of Sequence Parameter Set (SPS), Picture Parameter Set (PPS) and Video Parameter Set (VPS) frames, each starting with start bytes 00 00 00 01. Also could you confirm that:
- stream is in Annex-B delimited format for NALUs
- Can CPD change during streaming?
-
Hello DJI Developer Support!
VideoDecoder class has the following methods available, but they are not present in the documentation:
public byte[] getSps() {
return null;
}
public byte[] getPps() {
return null;
}Does this return the SPS & PPS information for the current VideoDecoder, which is producing decoded H265 video stream?
Please sign in to leave a comment.
Comments
8 comments