Closed zhangyutv closed 8 years ago
支持的 用textureview做渲染就好了
videoview 是不能支持旋转?我看C代码里面有处理旋转角度的。最终的原理是通知外层设置方向,而不是渲染的时候旋转?
ffmpeg 能不能支持输出旋转之后的视频帧?
可以,用filter功能
Yes, for ffmpeg. No, for ijkplayer with SurfaceView.
只支持软解
我看到源代码里定义了下面这个,是不是说目前是disable掉avfilter的?
Yes, it only works with avcodec. Not valuable enough for ijkplayer.
But if I set CONFIG_AVFILTER to 1, I get compile error in iOS.
You need also modify config/module-lite.sh
In config/module-lite.sh, I can see that "--enable-avcodec". And I also try to enable ffmpeg options. And I have re-compile the ffmpeg according the guidelines from the README. But still I get "libavfilter/avcodec.h not found" error.
--enable-avfilter
--enable-avfilter is already there.
Can you show your full build steps and logs?
when I run ./compile-ffmpeg all, I can see the config as below in which you can check that the avf ilter is already enabled.
config: --disable-gpl --disable-nonfree --enable-runtime-cpudetect --disable-gray --disable-swscale-alpha --disable-programs --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-avdevice --enable-avcodec --enable-avformat --enable-avutil --enable-swresample --enable-swscale --disable-postproc --enable-avfilter --disable-avresample --enable-network --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --disable-videotoolbox --disable-encoders --disable-decoders --enable-decoder=aac --enable-decoder=aac_latm --enable-decoder=flv --enable-decoder=h263 --enable-decoder=h263i --enable-decoder=h263p --enable-decoder=h264 --enable-decoder=mp3* --enable-decoder=vp6 --enable-decoder=vp6a --enable-decoder=vp6f --disable-hwaccels --disable-muxers --enable-muxer=mp4 --disable-demuxers --enable-demuxer=aac --enable-demuxer=concat --enable-demuxer=data --enable-demuxer=flv --enable-demuxer=hls --enable-demuxer=live_flv --enable-demuxer=loas --enable-demuxer=m4v --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=mpegps --enable-demuxer=mpegts --enable-demuxer=mpegvideo --disable-parsers --enable-parser=aac --enable-parser=aac_latm --enable-parser=h263 --enable-parser=h264 --enable-bsfs --disable-bsf=mjpeg2jpeg --disable-bsf=mjpeg2jpeg --disable-bsf=mjpega_dump_header --disable-bsf=mov2textsub --disable-bsf=text2movsub --enable-protocols --disable-protocol=async --disable-protocol=bluray --disable-protocol=concat --disable-protocol=ffrtmpcrypt --enable-protocol=ffrtmphttp --disable-protocol=gopher --disable-protocol=icecast --disable-protocol=librtmp* --disable-protocol=libssh --disable-protocol=mmsh --disable-protocol=mmst --disable-protocol=rtmp* --enable-protocol=rtmp --enable-protocol=rtmpt --disable-protocol=rtp --disable-protocol=sctp --disable-protocol=srtp --disable-protocol=unix --disable-devices --enable-filters --disable-iconv --enable-cross-compile --disable-stripping --arch=armv7 --target-os=darwin --enable-static --disable-shared --enable-pic --enable-neon --enable-optimizations --enable-debug --enable-small --prefix=/Users/edward/Desktop/Gitbase/ijkplayer-ios/ios/build/ffmpeg-armv7/output xcrun -sdk iphoneos clang
But when I change "#define CONFIG_AVFILTER 0" to "#define CONFIG_AVFILTER 1" and build the IJKDemo using xcode, I got the previous error which says "libavfilter/avcodec.h not found"
In ijkplayer/ff_ffplay.c, line 56, after I change libavfilter/avcodec.h to libavcodec/avcodec.h, I build it success. From the build log, I suppose that the avcodec.h is install into libavcodec not libavfilter. Is it a bug?
Yes, seems like a bug. Fixed on master. Thanks
ijk是否支持根据sei_rotation 来确定渲染画面的方向