1.背景
Git HASH:
* fec1307 - (HEAD -> dev, origin/master, origin/HEAD) 修复连接迁移时,重复创建UdpSession的bug (3 天前) <xiongziliang>
更新ZLMediaKit最新代码,发现如下报错
In file included from /work/data/tools/ZLMediaKit/player/test_player.cpp:18:0:
/work/data/tools/ZLMediaKit/player/YuvDisplayer.h: In member function ‘bool YuvDisplayer::displayYUV(AVFrame*)’:
/work/data/tools/ZLMediaKit/player/YuvDisplayer.h:178:114: error: ‘SDL_UpdateNVTexture’ was not declared in this scope
_texture, nullptr, pFrame->data[0], pFrame->linesize[0], pFrame->data[1], pFrame->linesize[1]);
看了下GIT更新记录
SDL版本需要大于2.0.16
Ubuntu默认安装版本太低
不知道查询自己版本的同学这样查下
hayson@hayson-Server:/$ sdl2-config --version
2.0.17
2.更新SDL
下载
SDL官网下载源码
安装
#./configure;make -j4;sudo make install
3.更新x264
因为我的x264和ffmpeg版本都比较老(v3.4为支持rtmp+hevc测试)
有如下错误:
/usr/local/lib/libavcodec.a(libx264.o):在函数‘X264_init’中:
/work/data/tools/FFmpeg/libavcodec/libx264.c:814:对‘x264_encoder_open_148’未定义的引用
下载最新x264
wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20191217-2245-stable.tar.bz2
安装
#./configure;make -j4;sudo make install
重新编译ffmpeg
选取比较新的ffmpeg版本4.3.1
编译脚本如下:
./configure --enable-static --enable-pic \
--disable-encoders --enable-encoder=aac --enable-encoder=libx264 --enable-gpl --enable-libx264 --enable-encoder=libx265 --enable-libx265 \
--disable-decoders --enable-decoder=aac --enable-decoder=h264 --enable-decoder=hevc \
--disable-demuxers --enable-demuxer=aac --enable-demuxer=mov --enable-demuxer=mpegts --enable-demuxer=flv --enable-demuxer=h264 --enable-demuxer=hevc --enable-demuxer=hls \
--disable-muxers --enable-muxer=h264 --enable-muxer=flv --enable-muxer=f4v --enable-muxer=mp4 \
--disable-doc
编译安装
make -j4;sudo make install
4.重新编译ZLMediaKit
Consolidate compiler generated dependencies of target test_player
[100%] Built target test_player
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处!
更多精彩内容,欢迎访问一只海星的主页