赞
踩
FFmpeg获取旋转角,目前只有在解析视频流的时候,调用rotate函数,才可以获取。
示例代码如下:
- int getRotateAngle(AVStream* avStream)
- {
- AVDictionaryEntry *tag = NULL;
- int m_Rotate = -1;
- tag = av_dict_get(avStream->metadata, "rotate", tag, 0);
- if (tag == NULL)
-
- {
- m_Rotate = 0;
- }
- else
- {
- int angle = atoi(tag->value);
- angle %= 360;
- if (angle == 90)
- {
- m_Rotate = MT_VIDEO_ROTATE_90;
-
- }
- else if (angle == 180)
- {
- m_Rotate = MT_VIDEO_ROTATE_180;
-
- }
- else if (angle == 270)
- {
- m_Rotate = MT_VIDEO_ROTATE_270;
-
- }
- else
-
- {
- m_Rotate = MT_VIDEO_ROTATE_0;
-
- }
-
- }
-
- return m_Rotate;
- }
通过FFmpeg命令行给视频加上旋转90°的命令:
ffmpeg -i test.mp4 -metadata:s:v rotate="90" -codec copy output_test.mp4
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。