【FFmpeg】ffplay 命令行参数 ⑤ ( 设置音频滤镜 -af 参数 | 设置统计信息 -stats 参数 | 设置同步时钟类型 -sync 参数 )

文章目录

  • 一、ffplay 命令行参数 - 音频滤镜
    • 1、设置音频滤镜 -af 参数
    • 2、常用的 音频滤镜 参数
    • 3、音频滤镜链 示例
  • 二、ffplay 命令行参数 - 统计信息
    • 1、设置统计信息 -stats 参数
    • 2、关闭统计信息 -nostats 参数
  • 三、ffplay 命令行参数 - 同步时钟类型
    • 1、设置同步时钟类型 -sync 参数
    • 2、同步时钟类型参数选项列举





一、ffplay 命令行参数 - 音频滤镜



1、设置音频滤镜 -af 参数


ffplay 命令的 -af 参数用于 设置 音频滤镜 ( Audio Filter ) , 用于 对 音频流 应用 各种 处理 和 转换 效果 ;

多个 音频滤镜 可以组合在一起 , 形成一个 " 音频滤镜链 " , 音频滤镜 之间 使用 逗号 隔开 , 并按照指定的顺序 将 转换效果 应用于 正在播放的 音频 ;

" 音频滤镜链 " 是一个 描述 音频滤镜 及其 参数 的字符串 , 可以通过 该参数 来 设置 音效 , 调整音量 , 改变音频 采样率 , 进行 音频 重采样 ;

设置 " 音频滤镜链 " 会 降低 音频播放性能 , 尤其是 正在 处理高质量或高采样率的音频时 ;

使用 复杂的 " 音频滤镜链 " 时 , 建议关闭不必要的程序和功能 , 以确保流畅的播放体验 ;


单个 音频滤镜 示例 : 执行

ffplay -af "volume=0.5" fengjing.mp4

命令 , 将音量设置为 50% 音量 , 执行效果如下 :

在这里插入图片描述


2、常用的 音频滤镜 参数


ffplay 的 -af 参数 可以 设置 一个或多个 音频滤镜 , 这些 滤镜 可以改变音频的 音量 / 采样率 / 声道数 等效果 , 下面是 一些 常用的 -af 参数选项 :

  • volume=volume : 设置 音频音量 , volume 是一个 乘数 , 可以设置一个 小数 或 整数 ,

    • volume=0.5 就是将音量降低一半 ,
    • volume=2 是 将音量 提高为原来的 2 倍 ;
  • atempo=tempo : 设置 音频播放速度 , 参数值是一个浮点数 , tempo 参数值 > 1 时 音频播放速度加快 , 小于 1 时音频播放速度减慢 ;

    • atempo=0.5 设置 0.5 倍速度播放 ;
    • atempo=2.0 设置 2 倍速度播放 ;
  • aresample=resampler_options : 设置音频重采样 ; 该 音频滤镜 可以用来改变音频的 采样率 / 格式 / 声道布局 ;

    • aresample=44100 可以将 音频的采样率 从 原始值 改变为 44100 Hz ;
  • aformat=sample_fmts : 强制转换音频样本格式 , 如 : 修改 位深度 和 编码方式 ;

    • aformat=sample_fmts=s16 将 播放的音频 转为 16 位 有符号整数 编码 ;
    • ffplay 的 -af 参数主要用于实时应用音频效果 , 如调整音量 / 改变播放速度等 ;
    • 在 播放前 转换音频格式 , 建议使用 ffmpeg 命令 , 先转码 , 再使用 ffplay 播放 ;
  • achannelmap=channel_layout : 重新映射音频声道 ;

  • bass=gain : 调整低音增益 ;

  • treble=gain : 调整高音增益 ;


3、音频滤镜链 示例


多个 音频滤镜 示例 : 执行

ffplay -af "volume=0.25,atempo=2.0" fengjing.mp4

命令 , 将音量设置为 0.25 倍 , 播放速度设置为 2 倍 , 执行效果如下 :

在这里插入图片描述





二、ffplay 命令行参数 - 统计信息



1、设置统计信息 -stats 参数


ffplay 命令的 -stats 参数 用于 在 命令行 中 打印 统计信息 , 这些统计信息 包括

  • 显示流的持续时间
  • 编解码器参数
  • 流中的当前位置
  • 音频 / 视频同步差值 ;

该 参数 选项 在默认情况下 是 启用状态 , 在 默认的 视频播放 过程中 可以看到这些统计信息 ;


执行

ffplay fengjing.mp4

命令 , 下图中 红色矩形框 中的内容 , 就是 播放时的 统计信息 ;

在这里插入图片描述

统计信息内容如下 :

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'fengjing.mp4':  0B f=0/0Metadata:major_brand     : isomminor_version   : 512compatible_brands: mp41creation_time   : 2024-02-09T06:29:29.000000Zencoder         : Bandicam 4.5.0.1587 / GDI / Nvidia NVENCencoder-eng     : Bandicam 4.5.0.1587 / GDI / Nvidia NVENCDuration: 00:01:01.78, start: 0.000000, bitrate: 1783 kb/sStream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 752x420 [SAR 1:1 DAR 188:105], 1580 kb/s, 28.61 fps, 30 tbr, 30k tbn, 60 tbc (default)Metadata:creation_time   : 2024-02-09T06:29:29.000000Zhandler_name    : VideoHandlervendor_id       : [0][0][0][0]Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 195 kb/s (default)Metadata:creation_time   : 2024-02-09T06:29:29.000000Zhandler_name    : SoundHandlervendor_id       : [0][0][0][0]37.74 A-V: -0.030 fd=  67 aq=   30KB vq=  108KB sq=    0B f=0/0

部分内容解析 :

  • Duration: 00:01:01.78, start: 0.000000, bitrate: 1783 kb/s : 是 码流长度 1 分钟零 1 秒 , 开始时间 0 , 比特率是 1783 kb/s ;
  • 37.74 A-V: -0.030 : 当前播放到了 37.74 秒 , 音视频 差值 -0.030 秒 ;
  • creation_time : 2024-02-09T06:29:29.000000Z : 表示当前音频的创建时间是 2024 年 2 月 9 号 ;

2、关闭统计信息 -nostats 参数


ffplay 命令的 -nostats 参数 用于 关闭 统计信息 , 使用该参数后 , 不再显示 如下信息 :

  • 显示流的持续时间
  • 编解码器参数
  • 流中的当前位置
  • 音频 / 视频同步差值 ;

执行

ffplay -nostats fengjing.mp4

命令 , 可以关闭 统计信息 ;

在下图中 , 可以看到 下半部分 都是空白的 , 没有打印出 播放时 的 统计信息 ;

在这里插入图片描述





三、ffplay 命令行参数 - 同步时钟类型



1、设置同步时钟类型 -sync 参数


ffplay 命令的 -sync 参数 用于 设置 同步时钟类型 , 可以指定

  • 音频流时钟
  • 视频流时钟
  • 外部时钟

三种 时钟 选项 , 同步时钟类型 又称为 " 主时钟 " , 这是 ffplay 播放器 用于同步 音频流 和 视频流 的时钟 ;


执行

ffplay -sync audio fengjing.mp4

命令 , 将 音频流时钟 设置为 主时钟 ;

在这里插入图片描述


2、同步时钟类型参数选项列举


ffplay 命令 -sync 参数值 选项 :

  • audio : 将 音频流时钟 设置为 主时钟 , 该设置 是 默认设置 , ffplay 将 根据 音频流的播放速度 来 调整视频流 的播放速度 , 以确保 音频 和 视频 之间的同步 ;
  • video : 将 视频流时钟 设置为 主时钟 , ffplay 将 根据 视频流的播放速度 来调整 音频流的播放速度 ;
  • ext : 使用 外部时钟 ; 使用 外部设备 或 信号作为 主时钟 , 视频流的播放速度 和 音频流的播放速度 与 其他设备或信号 的 时钟 进行 同步 ;

执行

ffplay -sync video fengjing.mp4

命令 , 将 视频流时钟 设置为 主时钟 ;

在这里插入图片描述


执行

ffplay -sync ext fengjing.mp4

命令 , 将 外部电脑的时钟 设置为 主时钟 ;

在这里插入图片描述

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

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

相关文章

盘点2024年1月Sui生态发展,了解Sui近期成长历程!

2024年1月是Sui生态开门大吉的一个月,在2023交出优异的成绩单后,2024年的首月也圆满结尾。在BTC现货ETF通过的大背景之下,Web3行业多项指标持续展现增长趋势。Sui也紧随行业脚步,开展了一系列活动助力Web3行业和生态持续发展。 其…

改变终端安全的革命性新兴技术:自动移动目标防御技术AMTD

自动移动目标防御技术通过启用终端配置的自适应防御来改变终端检测和响应能力。产品领导者可以实施AMTD来确保实时威胁响应,并减少检测和响应安全威胁所需的时间。 主要发现 通过动态修改系统配置、软件堆栈或网络特征,自动移动目标防御(AMTD…

肯尼斯·里科《C和指针》第13章 高级指针话题(1)进一步探讨指向指针的指针变量的高级声明

13.1 进一步探讨指向指针的指针 上一章使用了指向指针的指针,用于简化向单链表插入新值的函数。另外还存在许多领域,指向指针的指针可以在其中发挥重要的作用。这里有一个通用的例子: 这些声明在内存中创建了下列变量。如果它们是自动变量&am…

第四篇:数据库安装(命令行)

数据库命令行界面安装 mysql官网,下载解压 https://dev.mysql.com/downloads/mysql/ 在安装之前先去检查一下,本地计算机的用户合组 winr(输入lusrmgr.msc) -点击组-双击administrator 如果只有这两个,那么就添加一下,提高网络服务的权限(避免出现mysql启动失败) …

Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasm

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasmBlazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端…

FPGA实现ISP用于无人车、无人机配送的方案调研

查到一个always 奥唯思公司做的用FPGA实现ISP的方案,采用易灵思钛金16nm的FPGA Ti60F225,通过MIPI CSI RX采集图像传感器的数据,在FPGA内部经过一系列复杂的ISP运算后,再通过MIPI CSI TX将图像数据发送给后端。 一套完整的ISP&a…

(2024,仅高频分量的蓝噪声与高斯噪声线性插值,时变噪声)扩散模型的蓝噪声

Blue noise for diffusion models 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 相关噪声 3.2 具有时变噪声的扩散模型 3.3 利用矫正…

Hexo更换Matery主题

引言 在数字化时代,拥有一个个人博客已经成为许多人展示自己技能、分享知识和与世界互动的重要方式。而在众多博客平台中,Hexo因其简洁、高效和易于定制的特点而备受青睐。本文将详细介绍如何为你的Hexo博客更换主题,让你的个人博客在互联网…

【前端高频面试题--Vue基础篇】

🚀 作者 :“码上有前” 🚀 文章简介 :前端高频面试题 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬前端高频面试题--Vue基础篇 Vue基本原理双向绑定与MVVM模型Vue的优点计算属性与监听属性计算属性监…

MySQL篇之回表查询

一、聚集索引 将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。特点:必须有,而且只有一个。 聚集索引选取规则: 1. 如果存在主键,主键索引就是聚集索引。 2. 如果不存在主键,将使用第一个唯一(UNIQUE&am…

【集合系列】TreeMap 集合

TreeMap 集合 1. 概述2. 方法3. 遍历方式4. 排序方式5. 代码示例16. 代码示例27. 代码示例38. 注意事项9. 源码分析 其他集合类 父类 Map 集合类的遍历方式 TreeSet 集合 具体信息请查看 API 帮助文档 1. 概述 TreeMap 是 Java 中的一个集合类,它实现了 SortedMap…

Aethir和Well-Link Tech携手革新云游戏,释放人工智能(AI)潜力

​Aethir将为Well-Link Tech的2亿用户提供先进的GPU计算能力,大幅提升他们的游戏体验。 新加坡,2024年2月7日 - 先驱性的去中心化GPU网络Aethir与实时云渲染技术领导者Well-Link Tech携手共创云游戏和元宇宙发展的新时代。 借助Well-Link Tech对领先游戏…

CTFSHOW命令执行web入门29-54

description: >- 这里就记录一下ctfshow的刷题记录是web入门的命令执行专题里面的题目,他是有分类,并且覆盖也很广泛,所以就通过刷这个来,不过里面有一些脚本的题目发现我自己根本不会笑死。 如果还不怎么知道写题的话,可以去看我的gitbook,当然csdn我也转载了我自己的…

kubernetes部署nacos2.3.0

一、nacos简介 nacos官网地址 简单易用 动态配置管理、服务发现和动态的一站式解决方案,20多种开箱即用的以服务为中心的架构特性,基本符合生产要求的轻量级易用控制台。 更适应云架构 无缝支持 Kubernetes 和 Spring Cloud,在主流公共云上…

每日一题——LeetCode1403.非递增顺序的最小子序列

方法一 个人方法: 按题目要求,尽可能先取出nums里最大的值,这样才能满足子序列尽可能短且元素之和最大 var minSubsequence function(nums) {nums.sort((a,b)>a-b)let sum1nums.reduce((a,b)>ab,0),sum20,res[]while(sum1>sum2){…

前端又又出新框架,这次没有打包了

最近,前端开发领域又迎来了一个新框架——ofa.js。它的独特之处在于,不依赖于现有的 nodes/npm/webpack 前端开发工作流程。与jQuery类似,只需引用一个脚本,您就能像使用React/Vue/Angular一样轻松地开发大型应用。 极易上手 如果…

LabVIEW伺服阀性能参数测试

LabVIEW伺服阀性能参数测试 伺服阀作为电液伺服系统中的核心元件,其性能参数的准确测试对保证系统整体性能至关重要。开发了一种基于LabVIEW软件开发的伺服阀性能参数测试系统,提高测试的自动化程度和精确性,同时降低操作复杂度和成本。 传…

java学习(多态)

一、多态 含义:方法或对象具有多种形态。是面向对象的第三大特征,多态是建立在封装和继承基础上的。 多态的具体体现: 1)方法的多态 (例如重写和重载) 2)对象的多态 多态注意事项&#xff1…

【小白开服日记】幻兽帕鲁服务器如何搭建?

玩转幻兽帕鲁服务器,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…

2023最新飞机即时通讯系统源码,支持PC、Android、IOS和WEB四端

(购买本专栏可免费下载栏目内所有资源不受限制,持续发布中,需要注意的是,本专栏为批量下载专用,并无法保证某款源码或者插件绝对可用,介意不要购买) 2023最新的飞机即时通讯系统源码已经经过测试,并在PC、Android、IOS和WEB四个平台上运行良好。 当初开始使用时,我们…