[h264 @ 0x833680] No start code is found. [h264 @ 0x833680] Error
splitting the input into NAL units.
执行avcodec_send_packet(decodec_ctx_v, &read_pkt);
这个有两个原因:
一是解码器上下文decodec_ctx_v结构体内参数配置缺少
二是解码器上下文decodec_ctx_v结构体内参数配置与read_pkt内的数据不匹配,比如视频,width不同。
如果从输入流中获取decodec_ctx_v内的各种参数,这两中错误就可以避免,如下
avformat_open_input(&ic, URL, NULL, NULL);
...
avcodec_parameters_to_context(decodec_ctx_v, ic->streams[video_index]->codecpar);
注意:
当decodec_ctx_v是视频的解码上下文,而read_pkt是音频数据时,也会发生错误,其实就是错误二。
这时候要判断从av_read_frame(ic, &read_pkt);中读取的数据是视频还是音频。
判断read_pkt是视频还是音频帧,详见另一篇文章:AVPacket结构体内几个变量分析
哎呦喂ヾ(✿゚▽゚)ノ~路长馆小,雪轻帘薄,酒热乎,这位爷~您ヾ(✿゚▽゚)ノ~ 里面坐~
本公众号专注分享C++,ffmpeg,opencv等相关音视频知识
webrtc,udp,tcp,rtsp,rtmp,srt/nginx+rtmp等流媒体协议和服务器
同时也会有大厂音视频技术专家不定期直播分享…
国人开发流媒体srs服务器,及yangrtc(国人版的webrtc)协议新动向
偶尔分享下程序员梦呓碎碎念(๑•॒̀ ູ॒•́๑)啦啦啦
目前刚刚开通,接受读者的优质投稿…
鉴于国内音视频圈子小,起步晚,以致分享少,门槛高,特开通分享,一起扇动这阵风吧!
微信扫描下方二维码,关注公众号,赶快进入音视频开发者社区吧!