流媒体开发5ffmpeg命令帮助分类查询基础数据流
Posted 叮咚咕噜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流媒体开发5ffmpeg命令帮助分类查询基础数据流相关的知识,希望对你有一定的参考价值。
本章主要介绍ffmpeg的一些命令,对于ffmpeg的一些基础概念了解可以参考
【FFMpeg SDK使用】1、FFMPEG简介与视频处理工具的使用
一、FFMPEG如何查询命令帮助文档
1.1ffmpeg/ffplay/ffprobe区别
- ffmpeg: Hyper fast Audio and Video encoder超快音视频编码器(类似爱剪辑)
- ffplay: Simple media player简单媒体播放器
- ffprobe: Simple multimedia streams analyzer简单多媒体流分析器
1.2 ffmpeg命令查看帮助文档
-
基本信息:ffmpeg -h
-
高级信息:ffmpeg -h long
-
所有信息:ffmpeg -h full
- 若嫌打印过多: ffmepg -h full > ffmpeg_h_full.log,然后再打开
ffmpeg_h_full.log文件查看
- 若嫌打印过多: ffmepg -h full > ffmpeg_h_full.log,然后再打开
-
usage:
ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
1.3 ffplay命令查看帮助文档
- 所有信息:ffplay -h
- usage:
ffplay [options] input_file
1.4 ffprobe命令查看帮助文档
- 所有信息:ffprobe -h
- usage:
ffprobe [OPTIONS] [INPUT_FILE]
补充:
- ffmpeg/ffplay/ffprobe部分参数通用,部分参数不通用,在使用时需要注意。
- 在windows下查找某个参数:
ffmpeg -h full | findstr 264
二、FFMPEG音视频处理流程
以转码修改分辨率为例,简要概述ffmpeg转码的基本流程:
ffmpeg -i test_1920x1080.mp4 -acodec copy -vcodec libx264 -s 1280x720 test_1280x720.flv
数据流解析:
上图转码基本流程解析:
- 输入文件: test_1920x1080.mp4
- 解复用:即解封装,仍是编码数据包
- 解码:音频copy不变,视频解码
- 帧处理(filter):分辨率转换,1080P->720P(也可以改帧率等)
- 编码:视频264编码,音频copy不变
- 封装:按照flv格式封装
- 输出文件:flv格式,1280x720 test_1280x720.flv
三、ffmpeg命令分类查询
3.1介绍
可以使用下面命令查询该功能对应支持的格式:
-
buildconf:显示编译的配置
-
formats:D表示支持解复用,E支持复用,DE都支持
- -formats=muxers+demuxers
- -formats=muxers+demuxers
-
devices:查看当前支持的设备
- dshow:音频和视频的采集
- sdl:显示输出
- vfwcap:摄像头采集
-
codecs:
- 前面参数:解码、编码、视频、音频、字幕、仅帧内编码、无损压缩、有损压缩
- 前面参数:解码、编码、视频、音频、字幕、仅帧内编码、无损压缩、有损压缩
-
protocols:支持的协议
-
filters:加文字水印会使用
-
pix_fmts
- NB表示成分,YUV为3,RGB为3;BITS_PER_PIXEL表示每个像素点平均的位数
- NB表示成分,YUV为3,RGB为3;BITS_PER_PIXEL表示每个像素点平均的位数
-
sample_fmts:支持的采样格式
3.2查看具体分类所支持的参数
- 语法:ffmepg -h type=name
- 比如:ffmpeg -h muxer=flv
- ffmpeg -h filter=atempo (atempo调整音频播放速率)
- ffmpeg -h encoder=libx264
后面在使用的时候,例如编码,就可以查看一下编码支持哪些参数设置:
以上是关于流媒体开发5ffmpeg命令帮助分类查询基础数据流的主要内容,如果未能解决你的问题,请参考以下文章