当前位置: 首页 > news >正文

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注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

相关文章:

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...

Web安全漏洞分析-XSS(上)

随着互联网的迅猛发展,Web应用的普及程度也愈发广泛。然而,随之而来的是各种安全威胁的不断涌现,其中最为常见而危险的之一就是跨站脚本攻击(Cross-Site Scripting,简称XSS)。XSS攻击一直以来都是Web安全领…...

MVCC多版本并发控制相关面试题整理

多版本并发控制是一种用于支持并发事务的数据库管理系统技术,它允许多个事务同时访问数据库,而不会相互干扰或导致数据不一致。MVCC通过在数据库中维护不同版本的数据来实现这一目标,从而允许每个事务看到一致的数据库快照。 并发导致的问题…...

02-鸿蒙学习之4.0todoList练习

02-鸿蒙学习之4.0todoList练习 代码 /*** 1:组件必须使用Component装饰* 2.Entry 装饰哪个组件,哪个组件就呈现在页面上* 3.被Entry 装饰的入口组件。build()必须有且仅有一个根 ** 容器 ** 组件* 其他的自定义组件,build() 中…...

springsecurity5.7.x和springsecurity6.x配置文件对比

springsecurity5和springsecurity6如何要实现多种登录方式,自定义登录方式都是一样的操作步骤,主要有四个步骤。 一、自定义登录用户实体实现springsecurity中的UserDetails接口 二、自定义登录用户实现类实现springsecurity中的UserDetailsService接口 三、自定义登录用户au…...

brat文本标注工具——安装

目录 一、Linux系统安装 1. centOS系统 2. Ubuntu系统 3. macOS系统 4.说明 二、Google Chrome安装 1. 打开命令行,切换到管理者权限 2. 安装依赖 3. 下载Google浏览器的安装包 4. 安装Google Chrome 三、yum更新 四、Apache安装 安装Apache 启动Apac…...

麒麟操作系统网桥配置

网桥概念: Bridge 是 Linux 上用来做 TCP/IP 二层协议交换的设备,其功能可 以简单的理解为是一个二层交换机或者 Hub;多个网络设备可以连接 到同一个 Bridge,当某个设备收到数据包时,Bridge 会将数据转发 给其他设备。…...

禁奥义·SQL秘籍

sql secret scripts sql 语法顺序、执行顺序、执行过程、要点解析、优化技巧。 1、语法顺序 如上图所示,为 sql 语法顺序与执行顺序对照图。其具体含义如下: 0、select: 用于从数据库中选取数据,即表示从数据库中查询到的数据的…...

浅谈用户体验测试的主要功能

用户体验(User Experience,简称UX)在现代软件和产品开发中变得愈发重要。为了确保产品能够满足用户期望,提高用户满意度,用户体验测试成为不可或缺的环节。本文将详细探讨用户体验测试的主要功能,以及它在产品开发过程中的重要性。…...

2021年6月3日 Go生态洞察:Fuzzing技术的Beta测试

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性

全新Self-RAG框架亮相,自适应检索增强助力超越ChatGPT与Llama2,提升事实性与引用准确性 1. 基本思想 大型语言模型(LLMs)具有出色的能力,但由于完全依赖其内部的参数化知识,它们经常产生包含事实错误的回答,尤其在长尾知识中。 为了解决这一问题,之前的研究人员提出了…...

句子相似度计算

文章目录 https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 这里使用预训练的 nreimers/MiniLM-L6-H384-uncased 模型,并在 1B 句对数据集上微调。 如果你使用 sentence-transformers pip install -U sentence-transformers可以这样使用模型 impor…...

高级IO select 多路转接实现思路

文章目录 select 函数fd_set 类型timeval 结构体select 函数的基本使用流程文件描述符就绪条件以select函数为中心实现多路转接的思路select 缺陷 select 函数 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); selec…...

C++学不会?一篇文章带你快速入门

1. 命名空间 1.1 命名空间的概念 C命名空间是一种用于避免名称冲突的机制。它允许在多个文件中定义相同的函数、类或变量,而不会相互干扰。 1.2 命名空间的定义 namespace是命名空间的关键字,后面是命名空间的名字,然后后面一对 {},{}中即…...

【加密相册】 隐私协议

【加密相册】隐私协议 1.个人信息的收集和使用 我们的应用程序不会收集用户的个人信息,包括姓名、地址、电子邮件地址、电话号码等。我们不会追踪用户的位置信息或共享用户的个人信息。 2. 非个人化信息的收集和使用 我们的应用程序可能会收集一些非个人化信息&a…...

超越基础:释放 Systemd 的全部潜力【systemd 二】

🎏:你只管努力,剩下的交给时间 🏠 :小破站 超越基础:释放 Systemd 的全部潜力【systemd 二】 前言第一:系统服务高级管理高级服务配置:环境变量设置:服务单元文件的高级选…...

Flask学习二:项目拆分、请求与响应、cookie

教程 教程地址: 千锋教育Flask2框架从入门到精通,Python全栈开发必备教程 老师讲的很好,可以看一下。 项目拆分 项目结构 在项目根目录下,创建一个App目录,这是项目下的一个应用,应该类似于后端的微服…...

6、Qt延时的使用

一、sleep() 1、说明 QThread类中如下三个静态函数: QThread::sleep(n); //延迟n秒 QThread::msleep(n); //延迟n毫秒 QThread::usleep(n); //延迟n微妙 这种方式使用简单,但是会阻塞线程,有界面时界面会卡死,一般在非GUI线…...

《Effective C++》条款26

尽可能延后变量定义式的出现时间 string test(const string& passwd) {string s;if (s.size() < MinLenth){throw logic_error("passwd is too short");} } 这段代码的问题是&#xff1a;如果抛出了异常&#xff0c;那么定义的string对象将面临毫无意义的构造…...

np.random.uniform() 采样得到的是一个高维立方体,而不是球体,为什么?

在代码中&#xff0c;采样是通过以下方式完成的&#xff1a; samples self.center np.random.uniform(-self.radius, self.radius, (num_samples, len(self.center))) 这里&#xff0c;np.random.uniform函数在每个维度独立地生成了一个介于-self.radius和self.radius之间的…...

从微服务到 Agent 服务:架构思维的迁移

从微服务到 Agent 服务:架构思维的迁移与落地全指南 第一部分:引言与基础 (Introduction & Foundation) 1. 引人注目的标题 (Compelling Title) 副标题:深入解析微服务痛点、Agent服务原理、架构设计迁移路径与企业级生产实践 2. 摘要/引言 (Abstract / Introduction)…...

AI系列【仅供参考】:TRAE 支持自定义模型了,配置个 DeepSeek V4 试试

TRAE 支持自定义模型了&#xff0c;配置个 DeepSeek V4 试试TRAE 支持自定义模型了&#xff0c;配置个 DeepSeek V4 试试原因解决方案底下评论问题一&#xff1a;回答一&#xff1a;回答二&#xff1a;回答三&#xff1a;问题二&#xff1a;回答一&#xff1a;问题三&#xff1…...

Lindy企业流程自动化实施全周期拆解:从0到1上线仅需14天的关键5步法

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Lindy企业流程自动化实施全周期拆解&#xff1a;从0到1上线仅需14天的关键5步法 Lindy 作为轻量级、高可扩展的流程自动化平台&#xff0c;其核心优势在于将复杂的企业级RPA与低代码逻辑深度融合&#…...

Anthropic Managed Agents:AI 运行时的事件日志革命

1. 这不是新赛道&#xff0c;是 runtime 层的“操作系统时刻”来了你有没有试过让一个 AI 代理连续工作四十分钟&#xff1f;不是闲聊&#xff0c;而是真正在查文档、调 API、写代码、改配置、再验证——一环扣一环地推进一个真实业务流程。我去年就带着团队跑过这样一个销售线…...

【滤波跟踪】基于EKF的视觉-惯性里程计(VIO)与KAZE特征匹配技术,通过摄像头和IMU数据来估计无人机的位置附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

非结构化数据处理有没有更高效的办法?2026智能体端到端方案彻底终结数据孤岛

在2026年的数字化深水区&#xff0c;企业面对的不再是单纯的数据库增删改查&#xff0c;而是由海量PDF合同、非标图片、多模态音视频、复杂的系统日志以及社交媒体碎片信息构成的“非结构化数据冰山”。 据行业数据显示&#xff0c;企业内部超过80%的数据以非结构化形式存在。过…...

UNT413A刷机后体验:开机无广告、流畅度飙升,这波操作值不值?

UNT413A刷机实战&#xff1a;从广告轰炸到极简流畅的蜕变之旅 每次打开电视盒子&#xff0c;那段无法跳过的30秒广告就像一场无法避免的仪式。更糟的是&#xff0c;系统卡顿得像是被胶水黏住&#xff0c;预装软件占据了宝贵的存储空间&#xff0c;而官方更新只会让情况变得更糟…...

log4j2(CVE-2021-44228)漏洞原理与漏洞复现(基于vulhub)

声明&#xff1a;部分内容来源于网络&#xff0c;如若侵权请联系删除 什么是log4j2? Log for Java&#xff0c;Apache的开源日志记录组件&#xff0c;是一个Java的日志记录工具。在log4j框架的基础上进行了改进&#xff0c;并引入了丰富的特性&#xff0c;可以控制日志信息输送…...

别再复制粘贴了!手把手带你用DEFINE_PROFILE宏实现一个正弦变化入口速度

从零实现Fluent正弦速度入口&#xff1a;DEFINE_PROFILE宏实战指南 在计算流体力学(CFD)仿真中&#xff0c;标准边界条件设置往往无法满足复杂工况需求。想象这样一个场景&#xff1a;你需要模拟风力发电机叶片在阵风条件下的受力情况&#xff0c;入口风速并非恒定值&#xff0…...

边缘多模态AI驱动的文档重构技术

1. 项目概述&#xff1a;当打印机和扫描仪开始“读懂”文档的真正意图你有没有遇到过这样的场景&#xff1a;客户用手机随手拍了一张合同&#xff0c;边缘歪斜、背景杂乱、光线不均&#xff0c;发到公司邮箱里&#xff1b;行政同事用老式扫描仪扫了一份带表格的报销单&#xff…...