h264附件比特流到flv mux ffmpeg库

问题描述 投票:4回答:1

我有一个IP摄像头,它通过SDK调用提供H264附件Bitstream。我想将此视频流打包到FLV容器中。到目前为止,我必须了解以下内容: -

我必须将H264附件转换为H264 AVCC:为此,我必须用NALU的大小(大端格式)替换NAL头字节(0x00000001)。

我的问题是,我该如何处理SPS和PPS?我应该在更换NAL标头后写(av_interleaved_write_frame)它们吗?或者我根本不写这些帧?

我读到AVCC需要额外的数据。我该如何构建?我在哪里通过?

ffmpeg h.264 libav
1个回答
4
投票

首先从相机中检索SPS / PPS。将SPS / PPS写入AVCC extradata格式(请参见如何:Possible Locations for Sequence/Picture Parameter Set(s) for H.264 Stream

设置AVCodecContext.extradata

void *extradata = /**/;
int extradata_size = /**/;
codecCtx->extradata_size = extradata_size;
codecCtx->extradata = av_malloc ( codecCtx->extradata_size );
memcpy ( codecCtx->extradata, extradata, codecCtx->extradata_size);

在致电avcodec_open2之前

© www.soinside.com 2019 - 2024. All rights reserved.