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是输入视频流。