目前我正在使用 Android MediaMetadataRetriever类,以便使用MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION标记从 MP4 文件中获取视频旋转标记。这样做的主要缺点是仅与 API 级别 17 及更高版本兼容,并且应用程序所需的最低支持 API 级别为 14。
是否有任何解决方法,我尝试使用项目中使用的ffmpeg库,但我没有找到从视频中获取此标签的选项。
提前致谢。
最新版本的FFmpegMediaMetadataRetriever支持METADATA_KEY_VIDEO_ROTATION标签,我建议尝试该库。
好吧,事实证明,ffmpeg确实使用-i选项从视频的元数据信息中返回了旋转:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'original180.mp4':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2013-11-05 23:34:58
Duration: 00:00:24.11, start: 0.000000, bitrate: 16896 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 17008 kb/s, SAR 1:1 DAR 16:9, 29.96 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
Metadata:
rotate : 180
creation_time : 2013-11-05 23:34:58
handler_name : VideoHandle
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 122 kb/s (default)
Metadata:
creation_time : 2013-11-05 23:34:58
handler_name : SoundHandle
希望它可以帮助某人。