ffplay on SDL2

背景介绍

SDL2官方已支持android了, 而git ffmpeg 上还是沿用老的SDL1.2。据目前我搜索的信息,目前还没有ffplay在sdl2上跑的实例。 能把ffplay 放到android上跑,也算是为开源社区尽一份绵薄之力。


计划

avplay -- 简单的视频播放,使用SDL2, 在PC上测试。

ffplay -- 完整的音视频播放,使用SDL2, 在PC上测试。

configure -- 修改支持SDL2自动编译。

移植SDL2 到android 手机上。

移植完整版ffmpeg/ffplay 到android手机上。


下载和准备

由于我在两个地方使用windows xp 和ubuntu14.04,而ubuntu上编译异常顺利。下面介绍xp上的编译环境。

http://liquidtelecom.dl.sourceforge.net/project/mingwbundle/GCC%204.7.2/mingw-msys-core-4.7.2-x86.zip
http://liquidtelecom.dl.sourceforge.net/project/mingwbundle/GCC%204.7.2/Libraries/mingw-static-libraries-4.7.2-x86.zip

目前的2.0.3 msys 编译不过, 需要用hg上的:
http://www.libsdl.org/hg.php
http://www.libsdl.org/tmp/SDL-2.0.4-9174.tar.gz

如果想偷懒(xp上编译实在很慢):

http://ffmpeg.zeranoe.com/builds/win32/dev/ffmpeg-20141204-git-5fe026f-win32-dev.7z

http://ffmpeg.zeranoe.com/builds/win32/shared/ffmpeg-20141204-git-5fe026f-win32-shared.7z

都解压到/e/tools/Players/ffmpeg下面。

然后在/etc/profile 加上PATH="/e/tools/Player/ffmpeg/bin":$PATH


编译

cd SDL-2.0.4-9174

./configure --prefix=$HOME/porting/host && make && make install

./configure --with-sdl-prefix=/e/ludi/porting/host

make -- 编不过,见下面的注意事项0。

然后就是下面头文件里面的:


注意事项

0. hg版本的sd2-config 需要改成:

    --libs|--static-libs)
      echo -L${exec_prefix}/lib  -lmingw32 -lSDL2main -lSDL2  -Wl,--no-undefined -lm -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid  -static-libgcc

1. 要把SDL2.dll 拷贝到 SDL-2.0.4-9174/test 下面才能跑那些例子。

2.确保ffmpeg相关dll在PATH里面。


小结

第一步算是走出来了。



你可能感兴趣的:(ffmpeg,MinGW,sdl)