FFmpeg 编解码错误分析
错误代码
531 while(av_read_frame(pFormatCtx,&packet)>=0)
532 {
533 if(packet.stream_index==videoStream/*&&packet.flags*/)
使用GDB调试的时候,程序运行到533行,发现了packet.stream_index不等于0的情况,packet.stream_index一直等于33767这个数值。这个数目恰好是2^15-1。是不是哪里不对?数据对齐的问题?后来发现是自己想多了。其实原因很简单。
错误原因
1 CC = g++
2 Cflag = -g
3 INCLUDE = /usr/local/include
4 LIB = -lavformat -lavcodec -lavutil -lswscale -lavfilter

在使用FFmpeg进行编解码时遇到错误,错误代码与packet.stream_index值异常有关。问题源于Ubuntu系统中同时存在旧版本的ffmpeg库,导致链接错误。解决方案是确保在makefile中使用-L选项指定正确的库路径,避免版本不兼容和隐式链接到旧库。
最低0.47元/天 解锁文章
1085





