一、ffmpeg、ffplay、ffprobe区别
ffmpeg:超快音视频编码器(类似爱剪辑)
ffplay:简单媒体播放器
ffprobe:简单多媒体流分析器
二、帮助文档查看
2.1 ffmpeg查看帮助文档
基本信息:ffmpeg -h
高级信息:ffmpeg -h long
所有信息:ffmpeg -h full
2.2 ffplay、ffprobe帮助文档
ffplay:ffpay -h
ffprobe:ffprobe -h
注意:ffmpeg、ffplay、ffprobe部分参数通用,部分不通用
三、ffmpeg命令处理流程
如下一条命令将1920×1080的MP4文件转码成1280×720的flv文件
将test_1920×1080的文件解复用成音频和视频(demuxer)
将数据包解码成数据帧(decoder)
将帧处理成不同分辨率(filter)
将处理后的数据帧编码成数据包(encoder)
将编码后的音频和视频数据包输出到文件(muxer)
四、 ffmpeg命令
4.1 命令分类查询
命令分页:下可采取
命令查找:
查询具体分类所支持的参数
formats:如图所示(此命令包含muxers和demuxers),其中第一个参数为支持的复用器。其中D为支持解复用器,E为支持复用器
devices
- dshow:支持录制设备(比如摄像头、麦克风)lavfi:虚拟设备sdl,sdl2:代表支持sdl输出vfwcap:摄像头采集
- codes
其中第一个参数代表每个字母代表含义如下:
D…:解码支持
.E…:编码支持
…V…:视频编解码器(Video)
…A…:音频编解码器(Audio)
…S…:字母编解码器(Subtitle)
…I…:内幕帧编解码器,不需要参考别的帧(Intra frame-only )
…L.:有损的压缩(Lossy)
…S:无损的压缩(Lossless)
decoders
pix_fmts
layouts
colors
- -i 设定输入流
- -f 设定输出格式
- -ss 开始时间
- -t 时间长度(毫秒)
- -aframes 设置要输出的音频帧数
- -b:a 音频码率
- -ar 设定采样率
- -ac 设定声音的Channel数
- -acodec 设定声音编解码器,如果用copy表示原始编解码数据必须被拷贝。
- -an 不处理音频
- -af 音频过滤器
4.2.3 视频处理
-vframes 设置要输出的视频帧数
-b 设定视频码率
-b:v 视频码率
-r 设定帧速率
-s 设定画面的宽与高
-vn 不处理视频
-aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777
-vcodec 设定视频编解码器,如果用copy表示原始编解码数据必须被拷贝。
-vf 视频过滤器
4.2.4 提取音频数据
-pix_fmt
-s
把每个视频封装格式也统一为ts,拼接输出的时候再输出你需要的封装格式
视频分辨率可以不同,但是编码格式需要统一
音频编码格式需要统一,音频参数(采样率/声道等)也需要统一
4.2.18 截取图片
-y 覆盖
-f 格式
image2 格式
-vframes 帧,日光IP大于1那么输出加%03d test%03d.jpg
-s 格式带线啊哦
- 查看设备,windows最好装下https://sourceforge/projects/screencapturer/files/
音视频录制
指定参数录制
4.5 ffmpeg滤镜
4.5.1 滤镜分类
按照处理的类型,可分为:
音频filter
视频filter
字幕filter
按照编解码的的位置划分:
prefilter:解码前
intrafilters:解码时
postfilter:解码后
FFmpeg 中 filter 分为:
source filter (只有输出)
audio filter
video filter
Multimedia filter
sink filter (只有输入)
除了 source 和 sink filter,其他 filter 都至少有一个输入、至少一个输出。
4.5.2 裁剪语法
将输入视频帧的宽度和高度从x和y值表示的位置裁减到指定的宽度和高度,x和y是输出的左上角坐标,协调系统的中心是输入视频帧的左上角。
如果使用了可选的keep_aspect参数,将会改变输出SAR(样本宽比)以补偿新的DAR(显示长宽比)
语法:
裁剪 100x100 的区域,起点为(12,34)
裁剪中心区域,大小为 100x100
裁剪中心区域,大小为输入视频的 2/3
裁剪中心区域的正方形,高度为输入视频的高
裁剪偏移左上角 100 像素
裁剪掉左右 10 像素,上下 20 像素
裁剪右下角区域
5.5 其他选项
http://www.ffmpeg.org/ffplay.
5.6 播放示例
播放本地文件
ffplay -window_title “test time” -ss 2 -t 10 -autoexit test.mp4
ffplay buweishui.mp3
播放网络流
ffplay -window_title “rtmp stream” rtmp://202.69.69.180:443/webcast/bshdlive-pc
强制解码器
mpeg4解码器:ffplay -vcodec mpeg4 test.mp4
h264解码器:ffplay -vcodec h264 test.mp4
禁用音频或视频
禁用音频:ffplay test.mp4 -an
禁用视频:ffplay test.mp4 -vn
播放YUV数据
ffplay -pixel_format yuv420p -video_size 320x240 -framerate 5 yuv420p_320x240.yuv
播放RGB数据
ffplay -pixel_format rgb24 -video_size 320x240 -i rgb24_320x240.rgb
ffplay -pixel_format rgb24 -video_size 320x240 -framerate 5 -i rgb24_320x240.rgb
播放PCM数据
ffplay -ar 48000 -ac 2 -f f32le 48000_2_f32le.pcm
-ar set audio sampling rate (in Hz) (from 0 to INT_MAX) (default 0)
-ac set number of audio channels (from 0 to INT_MAX) (default 0)
5.7 过滤器
视频旋转
视频反转
视频旋转和反转
视频变速播放
音视频同时变速
5.8参考资料
http://www.ffmpeg.org/ffmpeg-filters.html
播放PCM数据
ffplay -ar 48000 -ac 2 -f f32le 48000_2_f32le.pcm
-ar set audio sampling rate (in Hz) (from 0 to INT_MAX) (default 0)
-ac set number of audio channels (from 0 to INT_MAX) (default 0)
5.7 过滤器
视频旋转
视频反转
视频旋转和反转
音频变速播放
视频变速播放
音视频同时变速
http://www.ffmpeg.org/ffmpeg-filters.html
到此这篇ffmpeg查看视频格式(ffmpeg查看视频帧率)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/12858.html