小编jsi*_*sim的帖子

H264:使用 ffmpeg 解码 nal 单元系列

我尝试使用 ffmpeg (libavcodec) 解码一系列 nal 单元,但出现“无帧”错误。我按照如何使用 x264 C API 将一系列图像编码为 H264? 中的指南生成了最终单元。。我尝试了以下解码策略:

avcodec_init();  
avcodec_register_all();  
AVCodec* pCodec;  
pCodec=lpavcodec_find_decoder(CODEC_ID_H264);  
AVCodecContext* pCodecContext;  
pCodecContext=lpavcodec_alloc_context();  
avcodec_open(pCodecContext,pCodec);  
AVFrame *pFrame;  
pFrame=avcodec_alloc_frame();
//for every nal unit:    
    int frameFinished=0;  
    //nalData2 is nalData without the first 4 bytes
    avcodec_decode_video(pCodecContext,pFrame,&frameFinished,(uint8_t*) nalData2,nalLength);
Run Code Online (Sandbox Code Playgroud)

我通过了到达此代码的所有单元,但 frameFinished 仍为 0。我猜 pCodecContext 设置一定有问题。有人可以给我发送一个工作示例吗?

谢谢

ffmpeg decode x264

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

decode ×1

ffmpeg ×1

x264 ×1