《FFmpeg Basics》中文版-06-填充视频

news2024/11/16 8:42:56

正文

填充视频意味着向视频帧添加额外的区域以包含额外的内容。当输入应在具有不同宽高比的显示器上播放时, 通常需要填充视频。

填充视频基础知识

对于视频填充,我们使用表格中描述的填充过滤器。

描述在输入视频帧中添加彩色填充,该帧位于协调系统中的[x,y]点,其中输出帧的左上角是[0,0]。 输出的大小由宽度和高度参数设置。
语法pad=width[:height[:x[:y[:color]]]]
中括号里面的参数都是可选的
***********参数的描述
color十六进制形式的RGB颜色值:0xRRGGBB [@AA],其中AA的范围是(0,1)中的十进制值或任何有效的颜色名称,如白色,蓝色,黄色等,默认值为黑色
width, height带填充的输出帧的宽度和高度,宽度的值可以从高度导出,反之亦然,两个参数的默认值都是0
x, y输入左上角的坐标(偏移量)与输出帧的左上角有关,两个参数的默认值均为0
***********参数的高度,宽度,x, y的表达式的可用变量
a纵横比,与iw/ih相同
dar输入显示宽比,与*sar相同
hsub, vsub水平和垂直的色度子样本值,对于像素格式yuv422p, hsub的值为2,vsub为1
in_h, ih输入的高度
in_w, iw输入的宽度
n输入框的数目,从0开始
out_h, oh输出高度,默认值=高度
out_w, ow输出宽度,默认值=宽度
pos位置在输入框的文件中,如果不知道NAN
sar输入样本比例
t时间戳以秒表示,如果输入时间戳未知
x, yx和y的偏移量由x和y表示,或者NAN如果没有指定

例如,为了在一个svga大小的照片周围创建一个30像素宽的粉红色框架,我们可以使用以下命令:

ffmpeg -i photo.jpg -vf pad=860:660:30:30:pink framed_photo.jpg

  • 这里面给大家说一下,我自己测试的结果是,我首先用了一张1920*1200大小的图片,一点问题都没有,命令如下:

      ffmpeg -i /Users/zhangfangtao/Desktop/Work/002.jpg -vf pad=1980:1260:30:30:pink /Users/zhangfangtao/Desktop/Work/003.jpg 
    

【学习地址】:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发
【文章福利】:免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

  

原来的图片如下图:

原来的图片

新的图片如下图:

新的图片

后来我又用了一下一个尺寸是250*250的图片,做实验,结果发现乱码了:
指令如下:

ffmpeg -i /Users/zhangfangtao/Desktop/Work/001.jpg  -vf pad=310:310:30:30:pink /Users/zhangfangtao/Desktop/Work/003.jpg

原图如下:

001.jpg

生成的图片如下:(虽然你们看到的没花屏,不过在我这儿确实是花的)

003.jpg

我看到的,其实这是一张图,我上传上去就正常了

见了鬼的图片。。。。

从4:3到16:9的填充视频

有些设备只能以16:9的宽高比播放视频,而4:3宽高比的视频必须在两种尺寸的水平方向上进行填充。 在这种情况下,高度保持不变,宽度等于高度值乘以16/9。 x值(输入视频帧水平偏移量)从表达式(output_width - input_width)/ 2开始计数,因此填充的语法为:

ffmpeg -i input -vf pad=ih*16/9:ih:(ow-iw)/2:0:color output

例如,不知道电影的确切分辨率。mpg文件有4:3的长宽比,我们可以在默认的黑色中添加所谓的“pillarbox”命令:

ffmpeg -i film.mpg -vf pad=ih*16/9:ih:(ow-iw)/2:0 film_wide.avi

从16:9到4:3的填充视频

为了显示在4:3高宽比的显示中所创建的视频,我们应该垂直地填充两个大小的输入。因此,宽度保持不变,高度为宽* 3/4。y值(输入视频帧垂直偏移)是从表达式(output_height - input_height)/2中计算的,填充的语法为:

ffmpeg -i input -vf pad=iw:iw*3/4:0:(oh-ih)/2:color output
  • 为啥我自己测试的时候都是失败的呢%>_<%。。。

     

    语法错误

例如,如果不知道输入文件的确切分辨率,我们可以在hd_video中添加默认为黑色的“letterbox”。avi文件在16/9宽比与命令:

ffmpeg -i hd_video.avi -vf pad=iw:iw*3/4:0:(oh-ih)/2 video.avi

*同样是语法错误。。。我测试不了%>_<%

填充从和到不同的纵横比

描述了4:3和16:9的填充率是最常见的,但例如,电视广告在14:9的长宽比中创建,一些电影的比例比16/9大。

Pillarboxing - adding boxes horizontally

为了调整较小的宽高宽比,我们需要增加输出宽度,它的值将是高度值乘以一个新的纵横比(ar)。通用公式是:

ffmpeg -i input -vf pad=ih*ar:ih:(ow-iw)/2:0:color output

Letterboxing - adding boxes vertically

为了调整更大的宽高宽比,我们需要增加输出高度,它的值将是宽度值除以新的纵横比(ar)。通用公式是:

ffmpeg -i input -vf pad=iw:iw*ar:0:(oh-ih)/2:color output

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/12237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML+CSS+JS大作业:商城网购网站设计——淘宝1页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 在线商城购物 | 水果商城 | 商城系统建设 | 多平台移动商城 | H5微商城购物商城项目 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&a…

微信小程序获取用户头像昵称组件封装(最新版)

一、前言 微信小程序将在2022年11月08日对获取用户头像昵称信息的API再一次进行改动&#xff0c;这次的改动比较大。 更多详情查看公告&#xff1a;公告直达链接 我的项目比较多&#xff0c;而且大部分都是只需要获取用户的头像以及昵称&#xff0c;并不需要像官方的“最佳实…

袋鼠云数栈UI5.0体验升级背后的故事:可用性原则与交互升级

最近&#xff0c;我们袋鼠云的UED部⻔小伙伴们&#xff0c;不声不响地⼲了⼀件⼤事——升级了全新设计语言「数栈UI5.0」。 众所周知&#xff0c;用户在使用产品时&#xff0c;是一个动态的过程&#xff0c;用户和产品之间进行交互的可用性&#xff0c;能否让用户愉悦、快速地…

uni-app - H5 页面路由不存在时,跳转到自己定制的 404.vue 页面(当路由不存在时自动重定向到自定义的 404 组件)超详细简约高效的解决方案

前言 在 uni-app 开发 H5 移动端项目中,如果访问一个不存在的路由路径后,自定跳转重定向到自己定义的 404 页面。 本文带您从 0-1 一路复制,仅需 2 步完成 当页面 router 路由不存在,自动跳转到指定的 404 页面, 用最简单且最高效的方式完成,助您轻松完成该功能, 如下图…

【好文鉴赏】初创公司到底值不值得去?从以下几点考虑

关键词&#xff1a;【初创公司】【职业发展】【就业】 原文链接&#xff1a; https://tech.sina.cn/csj/2018-09-10/doc-ihiixyeu5565677.d.htmlhttps://www.zhihu.com/question/312725868/answer/693656577 有人说初创公司管理不成熟&#xff0c;未来不稳定&#xff1b; 有…

最小二乘法,加权最小二乘法,迭代重加权最小二乘法

文章目录一&#xff1a;最小二乘法&#xff08;OLS&#xff09;1&#xff1a;概述2&#xff1a;代数式3&#xff1a;矩阵式&#xff08;推荐&#xff09;3.1&#xff1a;实现代码二&#xff1a;加权最小二乘法&#xff08;WLS&#xff09;1&#xff1a;增加对角矩阵 W1.1&#…

oracle数据库控制语言—DCL

文章目录1、授予系统权限1.1 授予创建其他对象权限2、撤销系统权限2.1 示例3、oracle 中的角色3.1 什么时角色3.2 创建角色并且授予权限给角色3.2.1 创建角色3.2.1.1 示例3.2.2 授予权限给一个角色3.2.2.1 示例3.2.3 授予一个角色给用户3.2.3.1 示例一3.2.3.2 示例二3.2.3.3 示…

基于MySQL的事务管理

目录 概念&#xff1a;多条语句组成一个执行单位 事务的基本操作 MySQL中的事务必须满足A,C,I,D这四个基本特性 事务操作举例——&#xff08;转账&#xff09; 事务保存点——SAVEPOINT 事务隔离级别——多线程(并发同时访问) 总结 概念&#xff1a;多条语句组成一个执…

Mongo的数据操作

文章目录一&#xff0c;创建数据库二&#xff0c;插入数据&#xff08;一&#xff09;插入单条数据1&#xff0c;insert2&#xff0c;save&#xff08;二&#xff09;插入多条数据三&#xff0c;修改数据四&#xff0c; 更新所有找到匹配的数据五&#xff0c;数据删除&#xff…

极速Go语言入门(超全超详细)-基础篇

文章目录 GoLang概述 Go语言三大牛谷歌创造Golang的原因Golang 的发展历程Golang 的语言的特点 Go语言开发工具Go开发环境配置(sdk下载及配置) 使用开发工具创建第一个Go项目 Go 程序开发的注意事项 官方参考文档 Go学习 Go变量 数据类型 标识符 运算符 键盘输入语句 程序流程…

[附源码]计算机毕业设计JAVA高校贫困生认定系统

[附源码]计算机毕业设计JAVA高校贫困生认定系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM myba…

列表的嵌套--Python

#列表的嵌套&#xff1a;在每一个列表中都包含其他列表元素 #获取李四所在列表的值? #获取李四所在的子列表索引&#xff0c;并通过索引获取改子列表值 name_list [[小明,小红,小绿],[Tom,Lily,Rose],[张三,李四,王五]] print(name_list[2]) #在从子列表中通过李四所在的索引…

[翻译] 使用FXGL创建一个非常基本的游戏

游戏要求 首先&#xff0c;让我们为我们的简单游戏定义一些要求: 一个600x600的窗口。屏幕上的玩家&#xff0c;由蓝色矩形表示。可以通过按键盘上的W、S、A或D来移动玩家。UI由一行文本表示。当玩家移动时&#xff0c;UI文本会更新以显示玩家在其生命周期内移动了多少像素。 …

今天给在家介绍一篇基于jsp的旅游网站设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

zookeeper报错length is greater than jute.maxbuffer=1048575

1、场景 最近在给上云项目部署系统&#xff0c;通过压测都已经正式上生产后发现kafka存在异常错误&#xff0c;经排查发现zookeeper也存在错误&#xff0c;怀疑kafka的问题可能是由于zk异常到的&#xff0c;报错如下 2022-11-17 06:26:43,052 [myid:] - WARN [NIOWorkerThr…

HTML学生个人网站作业设计:游戏网站设计——原神首页 1页 带轮播图

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 游戏官网 | 游戏网站 | 电竞游戏 | 游戏介绍 | 等网站的设计与制作 | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&#xff1a;结构 …

Burpsuite简介及MIME上传绕过实例

目录预备知识1.了解burpsuite2.了解服务端MIME类型检测实验目的实验环境实验步骤一使用Burpsuite的代理功能Target模块实验步骤二使用burpsuite上传绕过服务端MIME类型检测预备知识 1.了解burpsuite Burp Suite是用于攻击web应用程序的集成平台。包含了许多工具&#xff0c;并…

[附源码]Python计算机毕业设计 学生宿舍管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

我们与元宇宙的距离

元宇宙的发展是一个循序渐进的过程&#xff0c;需要经过初始阶段、规划阶段、系统阶段和优化阶段。当前&#xff0c;虽然已经有许多元宇宙完成了搭建&#xff0c;但都是针对单一特定场景的模拟仿真&#xff0c;并且没有实现全面的推广应用&#xff0c;因此我们仍处于元宇宙的初…

浅析多通道接收单元噪声系数的测试

之前一个朋友要测试低噪声放大器(LNA)的噪声系数&#xff0c;但是声称遇到一些麻烦。LNA噪声系数的测试采用Y因子法非常简便&#xff0c;校准完成后直接连接待测件即可测试&#xff0c;可操作性非常强。麻烦在哪里呢&#xff1f; 原来待测件是一个含有四个通道的接收模块&…