赞
踩
一app开发,火急火燎的拿来一个视频,说录制的视频播放角度都不正常。拿过来一看,确实,角度是歪的,用系统的mediaplayer一试,是正常的。把视频放到ffmpeg中,可以看到视频metadata下视频旋转角度是90度。
ijk中有提供视频角度旋转的接口:
//开启自动旋转,这里旋转的是视频
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-auto-rotate", 1);
//关闭自动旋转
ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-auto-rotate", 0);
那么我们看下这个接口做了什么呢?
这个在recreate_format_l/ffpipenode_android_mediacodec_vdec.c函数中
//获取视频旋转角度
rotate_degrees = ffp_get_video_rotate_degrees(ffp);
//如果上层开启旋转,也就是上面设置的2个接口,同时视频角度不为0
if (ffp->mediacodec_auto_rotate &&
rotate_degrees != 0 &&
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。