关于用ffmpeg转手机视频发现视频长宽倒了的问题

1、概述

最近用代码转手机视频,发现一个很奇怪的现象,明明源视频物体是竖着的,转了就不对,找了半天发现是以前一直没在乎的视频流rotate值。特此做个笔记。

2、解决方案

我们可以在输入的流里通过av_dict_get读出rotate值,并把这个值写到输出流里。

代码如下:

	if (inPutStream)
		{
			AVDictionaryEntry *tag = NULL;  
			tag = av_dict_get(inPutStream->metadata, "rotate", tag, 0);

			if (tag != NULL)  
			{
				av_dict_set(&pOutStream->metadata, "rotate", tag->value, 0);
			}
		}

其中:inPutStream是AVStream结构体指针,是输入视频流。pOutStream是输入视频流。

你可能感兴趣的:(ffmpeg)