ffmpeg调整视频角度

在开发视频版宠物喂食器时,遇到视频sensor旋转90度的问题,导致录制的mp4视频需要在App端进行角度调整。本文介绍了如何使用ffmpeg在iOS和Android上实现对mp4视频的旋转,包括利用ffmpeg命令行获取和设置视频角度,并通过AVFoundation在iOS上的应用。同时,提供了用c语言实现的ffmpeg旋转mp4的代码链接。
摘要由CSDN通过智能技术生成

        最近公司要做一款视频版宠物喂食器,存在一个问题,就是视频sensor是旋转90度放置的,可能是开模影响或者是方案选型问题,这里先不做讨论。

        由于视频sensor不是正立放置,那么出来的视频流也是被旋转90度的,这样在app端显示的视频也需要调整。

        针对实时流,是比较容易处理的。可以有两种方法进行处理:一种就是将正立着的播放器旋转90度,也就是View层次的操作;第二种就是利用OPENGL的旋转矩阵,进行一个角度的旋转,也能达到显示的效果。

        遇到的问题就是在录像这里,由于设备端无法处理,只能由强大的App端自己完成了。录像是以mp4的格式上传要云端的,app需要把云端录像下载下来进行播放,但是需要把这个角度对用户不可见,也就是说使用户看到的视频是正常的,所以app就要处理“下载到播放”或者说“下载到分享”这两者之间的一个神奇操作----进行mp4视频的旋转。

        这里我有两个思路:第一种,就是想是否能交mp4解码YUV,然后对YUV数据进行处理,这样的话,实时流也能使用了,但只是一个想法,还不知道如何去实现。第二种,就是我们今天要做的操作,利用ffmepg强大的功能,对mp4文件进行一个角度的旋转。

首先,我们知道,利用:

av_dict_get(avStream->metadata, "rotate", tag, 0)

可以获取到流当前的角度,同理,利用:


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值