How to transcode the parts of a segment #112
Replies: 1 comment
-
Hello,
It's not always possible to decode parts, since they may not contain IDR frames. In order to start decoding a stream, you have to start from a part with the
SPS and PPS are not enough, you need both SPS, PPS and a IDR frame. You can check the frame type by analyzing the header of each NALU contained in each access unit.
From the log entry you posted ("NALU count (546) exceeds maximum allowed (21)") it seems like there's a transmission problem between your source and the library. If you still have problems, open an issue and provide details that allow to replicate the problem, including a network dump or a sample source or a sample file. |
Beta Was this translation helpful? Give feedback.
-
I want to do ABR for LHLS. Is it possible to transcode the AnexB bitstream format directly using ffmpeg or libav libraries?
for now i'm trying to store the
muxerPart.videoSamples[]
data in a.h264
file.I read if i provide the
SPS
andPPS
asextradata
toAVCodecContext
i can transcode it.But not every part has
SPS
andPPS
only the first part of every segment.The
.h264
file which I created has order likeSPS, PPS, SPS, PPS, slice of IDR, slice of non-IDR ...
but only the 1st part of segment has this order the other parts only haveslice of non-IDR ...
And if i want to get SPS and PPS from 1st part when i unmarshal the contents of
.h264
file usingh264.AnnexBUnmarshal()
function i get error:NALU count (546) exceeds maximum allowed (21)
.even though every
au
that are marshalled have the prefix of[]byte{0x00, 0x00, 0x00, 0x01}
extradata
toAVCodecContext
right wayh264.AnnexBUnmarshal()
gives errorBeta Was this translation helpful? Give feedback.
All reactions