ffmpeg介绍和简单实用方法

FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec —这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。

ffmpeg安装

下载ffmpeg包直接解压到指定路径,例如我解压到D:\ffmpeg,将这个目录的bin路径加到环境变量中

menu.saveimg.savepath20180816150842.jpg

然后在cmd中输入ffmpeg显示如下图说明安装成功!

menu.saveimg.savepath20180816151022.jpg


ffmpeg简单应用例子

将视频转换为图片

ffmpeg.exe -i 路径\待转换的文件名.mp4 -r 30 -s 640*480 转换后保存的路径\文件夹名/%d.jpg 
ffmpeg.exe -i C:\Users\Administrator\Desktop\video\20150407_174405.mp4 -r 30 -s 640x480 C:\Users\Administrator\Desktop\video/%d.jpg

-i 是选择被执行文件

-r 30 是转换后视频的帧率,就是每秒的帧数

-s 640*480 是转换后视屏的分辨率


ffplay用法介绍

ffplay 是一个使用了 ffmpeg 和 sdl 库的、一个简单的可移植的媒体播放器'-L'    显示 license

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


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

'-i input_file'   指定输入文件


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


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


1) 播放 test.mp4 ,播放完成后自动退出
    ffplay -autoexit test.mp4

2) 以 320 x 240 的大小播放 test.mp4
    ffplay -x 320 -y 240 test.mp4

3) 将窗口标题设置为 "myplayer",循环播放 2 次
    ffplay -window_title myplayer -loop 2 test.mp4

4) 播放 双通道 32K 的 PCM 音频数据
    ffplay -f s16le -ar 32000 -ac 2 test.pcm




内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/536.html