当前位置:网站首页 > Haskell函数式编程 > 正文

ffmpeg查看视频格式(ffmpeg查看视频帧率)



一、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文件

 
音视频开源基础 - ffmpeg命令

将test_1920×1080的文件解复用成音频和视频(demuxer)

将数据包解码成数据帧(decoder)

将帧处理成不同分辨率(filter)

将处理后的数据帧编码成数据包(encoder)

将编码后的音频和视频数据包输出到文件(muxer)

四、 ffmpeg命令

4.1 命令分类查询

命令分页:下可采取

 

命令查找:

 

查询具体分类所支持的参数

 

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令


音视频开源基础 - ffmpeg命令

formats:如图所示(此命令包含muxers和demuxers),其中第一个参数为支持的复用器。其中D为支持解复用器,E为支持复用器

音视频开源基础 - ffmpeg命令

devices

音视频开源基础 - ffmpeg命令

  1. dshow:支持录制设备(比如摄像头、麦克风)lavfi:虚拟设备sdl,sdl2:代表支持sdl输出vfwcap:摄像头采集
  2. codes
音视频开源基础 - ffmpeg命令

其中第一个参数代表每个字母代表含义如下:

D…:解码支持

.E…:编码支持

…V…:视频编解码器(Video)

…A…:音频编解码器(Audio)

…S…:字母编解码器(Subtitle)

…I…:内幕帧编解码器,不需要参考别的帧(Intra frame-only )

…L.:有损的压缩(Lossy)

…S:无损的压缩(Lossless)

decoders

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令

pix_fmts

音视频开源基础 - ffmpeg命令

layouts

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令

colors

音视频开源基础 - ffmpeg命令

  • -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 格式带线啊哦

 

  1. 查看设备,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(显示长宽比)

语法:

 

音视频开源基础 - ffmpeg命令

 

裁剪 100x100 的区域,起点为(12,34)

 

裁剪中心区域,大小为 100x100

 

裁剪中心区域,大小为输入视频的 2/3

 

裁剪中心区域的正方形,高度为输入视频的高

 

裁剪偏移左上角 100 像素

 

裁剪掉左右 10 像素,上下 20 像素

 

裁剪右下角区域

 

 

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令

音视频开源基础 - ffmpeg命令

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查看视频帧率)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • hpm格式文件怎么打开(hpm是什么格式的文件)2025-10-15 18:54:04
  • max函数调用(如何调用max函数)2025-10-15 18:54:04
  • 安卓软件后缀格式(安卓手机软件后缀)2025-10-15 18:54:04
  • 指数与对数的转换公式欧式(指数与对数的相互转换)2025-10-15 18:54:04
  • esp8266 udp广播(esp8266udp广播模式)2025-10-15 18:54:04
  • redis哨兵模式连接命令(redis 哨兵模式配置)2025-10-15 18:54:04
  • 计算机零基础编程入门的书(零基础计算机编程培训)2025-10-15 18:54:04
  • modbus RTU报文格式(modbus RTU报文格式详解)2025-10-15 18:54:04
  • 多级列表样式怎么设置1.2变为2.1(多级列表样式怎么设置2016)2025-10-15 18:54:04
  • max函数是窗口函数(max函数是什么型函数)2025-10-15 18:54:04
  • 全屏图片