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

时间:2022-10-27 03:18:49

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