4
目前,我正在使用libav *編碼H.264視頻。我想將KLVPackets添加到比特流中,但不知道在哪裏實現它。如何使用libav將KLV數據包編碼爲H.264視頻*
有avcodec中內的結構,但我不確定如何寫出來的幀元數據
typedef struct {
UID key;
int64_t offset;
uint64_t length;
} KLVPacket;
當前FFmpeg的代碼(僅留下相關的代碼):
av_register_all();
pOutputFormat = av_guess_format(NULL, fileName, NULL);
pFormatCtx=avformat_alloc_context();
pVideoStream = av_new_stream(pFormatCtx,0);
pCodecCtx=pVideoStream->codec;
...
av_dump_format(pFormatCtx, 0, fileName,1);
pCodec = avcodec_find_encoder(pCodecCtx->codec_id);
avio_open(&pFormatCtx->pb, fileName, AVIO_FLAG_READ_WRITE)
avformat_write_header(pFormatCtx, &pDict);
...
avcodec_encode_video(pCodecCtx,outbuf,outbuf_size,ppicture);
...
int ret = av_interleaved_write_frame(pFormatCtx, &pkt);
任何人知道我能工作的任何例子嗎?