FFmpeg获取视频的旋转角度

      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
发布了538 篇原创文章 · 获赞 1318 · 访问量 194万+

猜你喜欢

转载自blog.csdn.net/fanyun_01/article/details/104565859
今日推荐