ffplay是做什么的

news2025/7/27 13:42:39

目录

 

ffplay是什么

一、ffplay的基本使用

二、ffplay播放控制

三、常用参数 


ffplay是什么

        ffplay 是FFmpeg提供的一个极为简单的音视频媒体播放器(由ffmpeg库和SDL库开发),可以用于音视频播放、可视化分析 ,提供音视频显示和播放相关的图像信息、音频的波形等信息,也可以用作FFmpeg API的测试工具使用。由于是基于FFmpeg开发所以ffmpeg支持的视音频格式它基本上都支持,不过ffplay不是图形化界面需要通过CMD命令窗口来操作。

一、ffplay的基本使用

ffplay位于上一章节下载的share包中,如图;

 这个工具只能在cmd中使用, 使用的命令格式为:

ffplay [options] [input_url]

   我们选择一个视频使用最基本的命令查看视频:

  1. 打开终端,我使用的是win10系统,win+r ,输入cmd , 按回车。进入控制台
  2. cd 到测试视频的目录。
    cd F:\code\VC\study\FFmpeg\示例视频
    dir
    

  3. 输入以下命令
    ffplay test.mp4
    

  4. 视频会按照默认的视频大小播放。

二、ffplay播放控制

q, ESC退出播放
f全屏切换
p, SPC暂停
m静音切换
9, 09减少音量,0增加音量
a循环切换音频流
v循环切换视频流
t循环切换字幕流
c循环切换节目
w循环切换过滤器或显示模式
s逐帧播放
left/right向后/向前拖动10秒
down/up向后/向前拖动1分钟
鼠标右键单击拖动与显示宽度对应百分比的文件进行播放
鼠标左键双击全屏切换


 

三、常用参数 

-L显示license
-h , -? , -help显示帮助信息
-x width强制窗体以width宽度显示
-h height强制窗体以height宽度显示
-i input_file指定输入文件
-f  xxxxx强制指定 xxxxx 格式进行解析
-t duration设定播放的时常
-af filtergraph 设置音频的滤镜
-an禁止音频
-vn 禁止视频
-vf filtergraph设置视频的滤镜
-fs 设置全屏
-ec错误隐藏方法
-ss pos跳转到指定的位置(秒)
-ast audio_stream设置想播放的音频流
-vst video_stream设置想播放的视频流
-sst subtitle_stream设置想播放的字幕流
-version显示版本信息
-formats显示有效的格式
-codecs显示 libavcodec已知的所有编解码器
-decoders显示有效的解码器
-encoders显示有效的编码器
-bsfs显示有效的比特流过滤器
-protocols显示有效的协议
-filters显示 libavfilter 有效的过滤器
-pix fmts显示有效的像素格式
-sample fmts显示有效的采样格式
-layouts 显示通道名称以及标准通道布局
-colors显示认可的颜色名称
-hide banner禁止打印欢迎语:也就是禁止默认会显示的版权信息、编译选项以及库版本信息等
-autorotate自动旋转视频
-bytes按字节跳转
-nodisp禁止图像显示(只输出音频)
-window_title title设置窗口标题(默认为输入文件名)
-loop number循环播放“number”次(@将一直循环)
-showmode mode

设置显示模式

0:video(显示视频)

1:waves(显示音频波形)

2:rdft(显示音频频带)

-sync type设置主时钟为音频、视频、或者外部。默认为音频。主时钟用来进行音视频同步
-threads count设置线程个数
-autoexit播放完成后自动退出
-exitonkeydown任意键按下时退出
-exitonmousedown任意鼠标按键按下时退出
-acodec codec_name强制指定音频解码器为codec_name
-vcodec codec_name强制指定视频解码器为codec_name
-scodec codec_name强制指定字幕解码器为codec_name

使用的示例:ffplay -x 420 -y 768 -t 6  test.mp4

强制以 420x768的尺寸显示test.mp4, 且只显示6秒。

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

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

相关文章

微信小程序面试题之理论篇

本文内容,来源于极客学院的分享,这里只做引用。 说说你对微信小程序的理解?优缺点? 背景 小程序与H5 优缺点 优点:缺点: 说说微信小程序的生命周期函数有哪些? 应用的生命周期页面的生命期组件的生命周期执行过程 应…

从零开始的目标检测和关键点检测(二):训练一个Glue的RTMDet模型

从零开始的目标检测和关键点检测(二):训练一个Glue的RTMDet模型 一、config文件解读二、开始训练三、数据集分析四、ncnn部署 从零开始的目标检测和关键点检测(一):用labelme标注数据集 从零开始的目标检测…

Jmeter 汉化中文语言

找到 bin -> jmeter.propertise 修改参数:languageen --> languagazh_CN OK!

上位机底部栏 UI如何设置

上位机如果像设置个多页面切换: 位置: 代码如下: "tabBar": {"color": "black","selectedColor": "#d43c33","borderStyle":"black","backgroundColor": …

EVM6678L 开发教程: IBL-TFTP 引导 elf 文件

目录 EVM6678L 开发教程: IBL-TFTP 引导 elf 文件安装 Tftpd64测试工程测试说明 EVM6678L 开发教程: IBL-TFTP 引导 elf 文件 参考: "C:\ti\mcsdk_2_01_02_06\tools\boot_loader\examples\i2c\tftp\docs\README.txt" 此教程介绍如何在 EVM6678L 开发板上实现 IBL-…

【面试经典150 | 链表】旋转链表

文章目录 Tag题目来源题目解读解题思路方法一:遍历 其他语言python3 写在最后 Tag 【单向链表】 题目来源 61. 旋转链表 题目解读 旋转链表,将链表的每个节点向右移动 k 个位置。 解题思路 方法一:遍历 本题题目意思清晰,实现…

【Linux】jdk Tomcat MySql的安装及Linux后端接口部署

一,jdk安装 1.1 上传安装包到服务器 打开MobaXterm通过Linux地址连接到Linux并登入Linux,再将主机中的配置文件复制到MobaXterm 使用命令查看:ll 1.2 解压对应的安装包 解压jdk 解压命令:tar -xvf jdk 加键盘中Tab键即可…

企业级JAVA、数据库等编程规范之命名风格 —— 超详细准确无误

🧸欢迎来到dream_ready的博客,📜相信你对这两篇博客也感兴趣o (ˉ▽ˉ;) 📜 表白墙/留言墙 —— 初级SpringBoot项目,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学 📜 用户登录前后端…

作为网工有必要了解一下什么是SRv6?

什么是SRv6? 【微|信|公|众|号:厦门微思网络】 【微思网络http://www.xmws.cn,成立于2002年,专业培训21年,思科、华为、红帽、ORACLE、VMware等厂商认证及考试,以及其他认证PMP、CISP、ITIL等】 SRv6&…

MFC简单字符串压缩程序

一个mfc简单字符串压缩程序;按以下情况进行压缩; 1 仅压缩连续重复出现的字符。比如”abcbc”无连续重复字符,压缩后还是”abcbc”。 2 压缩的格式为”字符重复的次数字符”。例如,”xxxyyyyyyz”压缩后就成为”3x6yz”。 void …

Centos7环境下cmake3.25的编译与安装

文章目录 0 视频传送门1 卸载当前版本2 下载cmake3.25.0并且解压缩3 使用root用户进入解压缩的目录4 开始执行命令5 创建软连接6 检查版本 0 视频传送门 https://www.bilibili.com/video/BV1Gu4y1J7Ev/?vd_source3353f83539e46042d8cf76efb177a8e4 07-Centos7编译安装cmake3.…

接口请求的六种常见方式详解(get、post、head等)

一.接口请求的六种常见方式: 1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体) 2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建…

Leetcode—485.最大连续1的个数【中等】明天修改

2023每日刷题(十五) Leetcode—2.两数相加 迭代法实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l…

再现“换桥奇迹”|人大金仓助力中国移动完成营销系统国产化升级

堪称传统基建奇迹的“三元桥43小时换新桥”工程的相关报道还历历在目,而中国移动也经历着类似的考验,需要在2天内完成某在线营销系统整体升级。 作为中国移动的重要数据库产品与服务提供商,留给人大金仓的时间只有每天夜间的4小时&#xff0…

要在VMware(虚拟机)上获取相机连接状态并显示在主界面上,您可以使用以下步骤:

在VM上安装相机驱动程序:确保VM中已安装对应的相机驱动程序,以便能够连接和使用相机。 检查相机连接状态:在VM中,打开设备管理器(Device Manager)并检查相机是否显示为已连接状态。如果显示为已连接&#…

什么是 DevOps

DevOps是一套融合软件开发(Dev)和 IT 运营(Ops)的实践,旨在缩短应用程序开发周期并确保以高软件质量持续交付,通过采用 DevOps 实践,您可以帮助组织更可靠、更快速、更高效地交付软件。 什么是…

python 之正则表达式详解

文章目录 r与R原始字符串的特点:示例:正则表达式示例:文件路径示例: 有没有r 带来的影响使用 r 前缀的示例:不使用 r 前缀的示例: \b 作为单词的界限匹配以 "cat" 开头的单词:匹配以 …

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型 一、重写config文件二、开始训练三、ncnn部署 从零开始的目标检测和关键点检测(一):用labelme标注数据集 从零开始的目标检测和关键点检测…

第06章 索引的数据结构

第06章 索引的数据结构 1. 索引及其优缺点 1.1 索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 **索引的本质:**索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”&#xff…

Vue 监听属性 watchEffect

watchEffect 函数:自动收集依赖源,不用指定监听哪个数据,在监听的回调中用到哪个数据,就监听哪个数据。 而 watch 函数:既要指定监听的数据,也要指定监听的回调。 watchEffect 函数:类似于 co…