简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮
1.前言
本篇目的:FFmpeg将视频转为16:9(横屏)或9:16(竖屏)
2.FFmpeg介绍
- ffmpeg是一个开源的跨平台音视频处理工具,可以用于录制、转换和流媒体处理。它支持几乎所有主流的音视频格式和编解码器,包括MP4、AVI、MOV、H.264、H.265等。ffmpeg可以通过命令行进行操作,也可以作为库被集成到其他程序中。
- 它提供了丰富的功能,包括视频剪辑、合并、分离、转码、添加水印、调整音视频质量等。ffmpeg的强大功能和灵活性使其成为许多多媒体应用程序的首选工具。
- FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。
- 多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。
- 项目组成
- libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构
和读取音视频帧等功能;
- libavcodec:用于各种类型声音/图像编解码;
- libavutil:包含一些公共的工具函数;
- libswscale:用于视频场景比例缩放、色彩映射转换;
- libpostproc:用于后期效果处理;
- ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;
- ffsever:一个 HTTP 多媒体即时广播串流服务器;
- ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;
3.ffmpeg将视频转为16:9(横屏)或9:16(竖屏)
1.ffmpeg将视频转为9:16(竖屏)
ffmpeg -i input.mp4 -vf “scale=1276:2526,setsar=1:1” -c:a copy output_9:16.mp4
2.ffmpeg将视频转为16 :9(横屏)
ffmpeg -i input.mp4 - vf “scale=2526:1276,setsar=1:1” -c:a copy output_16:9.mp4