Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

H264 sei_rotation 竖屏播放支持 #1270

Closed
zhangyutv opened this issue May 5, 2016 · 17 comments
Closed

H264 sei_rotation 竖屏播放支持 #1270

zhangyutv opened this issue May 5, 2016 · 17 comments

Comments

@zhangyutv
Copy link

ijk是否支持根据sei_rotation 来确定渲染画面的方向

@Android4MediaPlayer
Copy link

支持的 用textureview做渲染就好了

@zhangyutv
Copy link
Author

videoview 是不能支持旋转?我看C代码里面有处理旋转角度的。最终的原理是通知外层设置方向,而不是渲染的时候旋转?

@zhangyutv
Copy link
Author

ffmpeg 能不能支持输出旋转之后的视频帧?

@Android4MediaPlayer
Copy link

可以,用filter功能

@bbcallen
Copy link
Contributor

bbcallen commented May 6, 2016

Yes, for ffmpeg.
No, for ijkplayer with SurfaceView.

@Android4MediaPlayer
Copy link

只支持软解

@zhangyutv
Copy link
Author

我看到源代码里定义了下面这个,是不是说目前是disable掉avfilter的?
#define CONFIG_AVFILTER 0

@bbcallen
Copy link
Contributor

bbcallen commented May 9, 2016

Yes, it only works with avcodec.
Not valuable enough for ijkplayer.

@zhangyutv
Copy link
Author

But if I set CONFIG_AVFILTER to 1, I get compile error in iOS.

@bbcallen
Copy link
Contributor

You need also modify config/module-lite.sh

@zhangyutv
Copy link
Author

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.

@bbcallen
Copy link
Contributor

--enable-avfilter

@zhangyutv
Copy link
Author

--enable-avfilter is already there.

@bbcallen
Copy link
Contributor

Can you show your full build steps and logs?

@zhangyutv
Copy link
Author

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"

@zhangyutv
Copy link
Author

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?

@bbcallen
Copy link
Contributor

bbcallen commented May 16, 2016

Yes, seems like a bug.
Fixed on master.
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants