ffplay使用

ffplay使用1.ffplay是什么?简单的说,ffplay是一个使用了ffmpeg和sdl库的、一个简单的可移植的媒体播放器。2.ffplay使用方式命令行:ffplay[选项][‘输入文件’]3.ffplay可使用的选项3.1通用选项viewsourceprint?01.’-L’    显示lice

大家好,又见面了,我是你们的朋友全栈君。

1. ffplay 是什么?

简单的说,ffplay 是一个使用了 ffmpeg 和 sdl 库的、一个简单的可移植的媒体播放器。

2. ffplay 使用方式

命令行: ffplay [选项] [‘输入文件’]

3. ffplay 可使用的选项

3.1 通用选项
01.
'-L'    显示 license
02.
'-h, -?, -help, --help [arg]' 打印帮助信息;可以指定一个参数 arg ,如果不指定,只打印基本选项
03.
可选的 arg 选项:
04.
'long'    除基本选项外,还将打印高级选项
05.
'full'    打印一个完整的选项列表,包含 encoders, decoders, demuxers, muxers, filters 等的共享以及私有选项
06.
'decoder=decoder_name'    打印名称为 "decoder_name" 的解码器的详细信息
07.
'encoder=encoder_name'    打印名称为 "encoder_name" 的编码器的详细信息
08.
'demuxer=demuxer_name'    打印名称为 "demuxer_name" 的 demuxer 的详细信息
09.
'muxer=muxer_name'        打印名称为 "muxer_name" 的 muxer 的详细信息
10.
'filter=filter_name'      打印名称为 "filter_name" 的过滤器的详细信息
11.
 
12.
'-version'     显示版本信息
13.
'-formats'     显示有效的格式
14.
'-codecs'      显示 libavcodec 已知的所有编解码器
15.
'-decoders'    显示有效的解码器
16.
'-encoders'    显示有效的编码器
17.
'-bsfs'        显示有效的比特流过滤器
18.
'-protocols'   显示有效的协议
19.
'-filters'     显示 libavfilter 有效的过滤器
20.
'-pix_fmts'    显示有效的像素格式
21.
'-sample_fmts' 显示有效的采样格式
22.
'-layouts'     显示通道名称以及标准通道布局
23.
'-colors'      显示认可的颜色名称
24.
'-hide_banner' 禁止打印欢迎语;也就是禁止默认会显示的版权信息、编译选项以及库版本信息等

3.2 一些主要选项
01.
'-x width'        强制以 "width" 宽度显示
02.
'-y height'       强制以 "height" 高度显示
03.
'-an'             禁止音频
04.
'-vn'             禁止视频
05.
'-ss pos'         跳转到指定的位置(秒)
06.
'-t duration'     播放 "duration" 秒音/视频
07.
'-bytes'          按字节跳转
08.
'-nodisp'         禁止图像显示(只输出音频)
09.
'-f fmt'          强制使用 "fmt" 格式
10.
'-window_title title'  设置窗口标题(默认为输入文件名)
11.
'-loop number'    循环播放 "number" 次(0将一直循环)
12.
'-showmode mode'  设置显示模式
13.
可选的 mode :
14.
'0, video'    显示视频
15.
'1, waves'    显示音频波形
16.
'2, rdft'     显示音频频带
17.
默认值为 'video',你可以在播放进行时,按 "w" 键在这几种模式间切换
18.
 
19.
'-i input_file'   指定输入文件

3.3 一些高级选项
1.
'-sync type'          设置主时钟为音频、视频、或者外部。默认为音频。主时钟用来进行音视频同步
2.
'-threads count'      设置线程个数
3.
'-autoexit'           播放完成后自动退出
4.
'-exitonkeydown'      任意键按下时退出
5.
'-exitonmousedown'    任意鼠标按键按下时退出
6.
'-acodec codec_name'  强制指定音频解码器为 "codec_name"
7.
'-vcodec codec_name'  强制指定视频解码器为 "codec_name"
8.
'-scodec codec_name'  强制指定字幕解码器为 "codec_name"

3.4 一些快捷键
01.
'q, ESC'            退出
02.
'f'                 全屏
03.
'p, SPC'            暂停
04.
'w'                 切换显示模式(视频/音频波形/音频频带)
05.
's'                 步进到下一帧
06.
'left/right'        快退/快进 10 
07.
'down/up'           快退/快进 1 分钟
08.
'page down/page up' 跳转到前一章/下一章(如果没有章节,快退/快进 10 分钟)
09.
'mouse click'       跳转到鼠标点击的位置(根据鼠标在显示窗口点击的位置计算百分比)

4. ffplay 使用示例

01.
1) 播放 test.mp4 ,播放完成后自动退出
02.
ffplay -autoexit test.mp4
03.
 
04.
2) 以 320 240 的大小播放 test.mp4
05.
ffplay -x 320 -y 240 test.mp4
06.
 
07.
3) 将窗口标题设置为 "myplayer",循环播放 2 
08.
ffplay -window_title myplayer -loop 2 test.mp4
09.
 
10.
4) 播放 双通道 32K 的 PCM 音频数据
11.
ffplay -f s16le -ar 32000 -ac 2 test.pcm

更多 ffplay 可用选项,可以使用 ffplay -h 获取

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148631.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 软件工程之软件过程模型[通俗易懂]

    软件工程之软件过程模型[通俗易懂]软件过程模型软件过程模型习惯上也称为软件开发模型,它是软件开发全部过程、活动和任务的结构框架。瀑布模型:瀑布模型是将软件生存周期中的各个活动规定为依线性连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。瀑布模型是以文档作为驱动、适合于软件需求很明确的软件项目的模型。V模型V模型是瀑布模型的一个变体。V模型提供了

    2022年10月30日
  • Mybatis源码:@MapperScan解析过程

    Mybatis源码:@MapperScan解析过程目录0.说明1.@MapperScan2.MapperScannerRegister3.ClassPathMapperScanner4.MapperFactoryBean0.说明mybatis构建过程主要包括:解析mybatis配置文件,构造Configuration配置类对象和SqlSessionFactory; 利用@MapperScan注册BeanDe…

  • 后序遍历线索化二叉树_二叉树的中序线索链表

    后序遍历线索化二叉树_二叉树的中序线索链表#includetypedefstructThreadNode{intdata;structThreadNode*lchild,*rchild;intltag,rtag;}ThreadNode,*ThreadTree;//用二叉树中序遍历对二叉树线索化voidInThread(ThreadTree&p,ThreadTr

  • java object toarray,Object[] toArray()

    java object toarray,Object[] toArray()Object[]toArray()描述(Description)java.util.LinkedList.toArray()方法以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组。此方法充当基于数组的API和基于集合的API之间的桥梁。声明(Declaration)以下是java.util.LinkedList.toArray()方法的声明publicObject[]…

  • 数列极限定义详解「建议收藏」

    数列极限定义详解「建议收藏」数列极限的定义个人感觉不太好理解,我看了两天的教程才彻底明白数列极限的定义。在一般的教材里数列极限的定义为这说的比较抽象,我半天都理解不了N是怎么来的,n与N有什么区别,为什么要用去减a,这里我对自己的疑问做了个总结。首先是为什么要用去减a,两个数之间的接近程度可以用两个之差的绝对值来度量,差值越小,两个数就越接近(说法来源于《高等数学》同济大学)。两个数的接近程度小于任给的正数​…

  • Assert.assertEquals()方法参数详解

    Assert.assertEquals()方法参数详解junit.framework包下的Assert提供了多个断言方法.主用于比较测试传递进去的两个参数.Assert.assertEquals();及其重载方法:1.如果两者一致,程序继续往下运行.2.如果两者不一致,中断测试方法,抛出异常信息AssertionFailedError.查看源码,以Assert.assertEquals(intexpected,inta…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号