ffmpeg编译能正常生产ffplay。
开始以为是SDL的原因,重新安装了SDL也没有效果。测试了SDL的测试程序,能显示一些画面,说明不是系统和SDL的原因。
然后又怀疑是不是ffmpeg版本的问题,下载了最新的源码编译还是不能显示,只有声音。
为了进一步证明不是系统和SDL的原因或者解码什么的,安装了mplayer,开始也不能显示,
后来设置显示驱动为X11之后,能够显示了。
到这里,我怀疑就是ffplay使用SDL的问题了,开始修改SDL的putenv函数来修改videodriver为X11和别的,都没有效果。
最后在查询SDL的putenv的文档时无意找到SDL_SetVideoMode这个函数,发现在设置第三个参数,即象数的参数,ffplay设置为0,官方例子为16,
改成16之后发现竟然能显示了。估计是兼容性问题吧,具体的就没深究了。
ffmpeg编译参考官网文档:http://trac.ffmpeg.org/wiki/CompilationGuide/Centos
这是我的编译参数:./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib -L/usr/local/lib" --bindir="$HOME/bin" --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libx264 --enable-memalign-hack --enable-ffplay --enable-debug --disable-optimizations --disable-yasm --disable-asm --disable-ffserver --disable-doc --disable-htmlpages --disable-podpages --disable-txtpages --enable-gray
另外,ffplay如果生成不了,可能是SDL没有安装,或者安装了SDL2.