ffmpeg (libavcodec)를 사용하여 여러 개의 nal 유닛을 디코딩하려고했지만 "프레임 없음"오류가 발생합니다. How does one encode a series of images into H264 using the x264 C API?에 가이드 라인을 적용하여 전국 단위를 제작했습니다. 나는 디코딩을 위해 다음과 같은 전략을 시도 :H264 : ffmpeg로 nal 단위의 시리즈 디코드
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);
나는이 코드에 도착 모든 유닛을 통과를하지만 0은 내가 pCodecContext 설정에 문제가있을 수 있어야합니다 생각 frameFinished 유지됩니다. 누군가가 저에게 실제 사례를 보낼 수 있습니까?
고맙습니다.
을 디코더를 들어 동영상을 디코딩 할 수 있도록, 당신은 그것을 스트림 매개 변수를 설정하고 사진 매개 변수를 설정 NAL 단위를 공급합니다 조각/프레임. – Flame