学习笔记|(三)FFMPEG常用命令

常用命令.png

参考资料:https://ffmpeg.org/ffmpeg-all.html#Synopsis

一、基本信息查询命令:

  • ffmpeg -version显示版本信息

    版本信息.png

  • ffmpeg devices支持的设备

    ![可用的demuxers.png](https://upload-images.jianshu.io/upload_images/1340588-586df158a79aa8d4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

  • ffmpeg -demuxers显示可用的demuxers(解封装)
    ![所有的编解码器.png](https://upload-images.jianshu.io/upload_images/1340588-338010c5e0070aa2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  • ffmpeg -muxers 显示可用的muxers(封装)
    可用的muxers.png
  • ffmpeg -codecs显示所有的编解码器
    所有的编解码器.png
  • ffmpeg -decoders显示可用的解码器
    所有的解码器.png
  • ffmpeg -encoders显示可用的编码器

    所有的编码器.png

  • ffmpeg -bsfs显示比特流filter

    显示所有的比特流filter.png

  • ffmpeg -formats显示可用的格式
    ![
    显示可用的协议.png
  • ffmpeg protocols显示可用的协议
    显示可用的协议.png
  • ffmpeg -filters显示可用的过滤器

    可用的过滤器.png

  • ffmpeg -pix_fmts显示可用的像素格式

    可用的像素格式.png

  • ffmpeg -sample_fmts显示可用的采样格式

    可用的采样格式.png

  • ffmpeg -layout显示可用的chanel名称(声道)

    可用的声道.png

  • ffmpeg -color显示可识别的颜色名称

    可用的颜色名称.png

二、录制命令:

  • 录制桌面视频
    【MAC】 ffmpeg -f avfoundation -i 1 -r 30 out.yuv

-f:使用什么库采集数据,ios中使用的是avfoundation
-i:从哪采集数据(是一个文件索引)
-r:帧率
out.yuv:表示原始格式数据,采集到的是什么样,存储的就是什么样

  • 录制声音
    【MAC】ffmpeg -f avfoundation -i :0 out.wav

-f : 使用什么库采集数据,ios中使用的是avfoundation
-i : 采集谁的数据::xx 表示音频设备,xx : 表示视频设备

查看windows上的采集库:

下载ffempeg的源码http://ffmpeg.org/download.html,通过cygwin进入到源码的根目录下,执行命令./configure --list-indevs就可以看到所有支持的库了;

下载ffempeg的源码.png
查看win上的采集库.png

三、分解与复用命令

1.分解与复用:文件格式的转换(Mp4-->mov/flv等)

复用解复用流程.png

【MAC】ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv

-i : 输入文件(要对哪个文件做处理)
-vcodec copy : 视频编码处理方式
-acodec copy :音频编码处理方式
out.flv : 输出格式

2.处理原始数据:

原始数据:就是ffmpeg解码后的数据,音频就是pcm数据,对于视频就是yuv数据,

2.1. 从视频中提取yuv数据

【MAC】ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv

-i:输入数据,要对哪个文件做处理
-an:a指音频,n指no,即输出结果中不包括音频
-c:v:指对视频进行编码,用rawvideo方式(原始视频)
-pix_fmt : 既然是用原始数据编码,所以就要有像素格式,即yuv420p(yuv 4:2:0)
out.yuv : 输出文件

在播放yuv格式的视频的时候,要设置一个分辨率,否则会报错,Picture size 0x0 is invalid out.yuv,这里的分辨率可以在解码的过程中获取到
【MAC】播放视频 : ffplay -s 638x358 out.yuv

2.2.从音频中提取pcm数据

【MAC】ffmpeg -i out.mp4 -vn -ar 44100 -ac2 -f s16le out.pcm

-i :输入数据,也就是要对哪个文件做处理
-vn : video no,即输出结果中不包括视频
-ar : audio read,即音频的采样率,这里的44100表示44.1k
-ac : audio chennel,即声道,这里的ac2表示双声道
-f : format,即抽取出来的音频的存储格式是什么,s16le中s表示有符号的,有正有负,16表示每一个数值都是用16位表示,le : little end即小头,是一种存储方式;
out.pcm :输出的文件名字

【MAC】播放音频: ffplay -ar 44100 -ac 2 -f s16le out.pcm

四、滤镜命令

1.处理流程
滤镜处理流程.png
2.命令(有很多,比如加水印,去水印等)
  • 视频裁剪

【MAC】ffmpeg -i in.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4

-i : 要处理的文件
-vf : vedio filter视频滤镜,这里用的是crop滤镜,后面的in_w-200:in_h-200为滤镜参数,表示宽高为原始宽高-200
-c:v :视频的编码器,这里为libx264
-c:a : 音频编码器,copy表示不对音频做特殊处理
out.mp4 : 输出文件

五.裁剪合并编辑命令

  • 裁剪视频:
    【MAC】ffmpeg -i in.mp4 -ss 00:00:00 -t 10 out.ts

-i : 要处理的文件,指定多媒体文件是什么
-ss : 开始裁剪的时间(时分秒)
-t : 要裁剪的时长(单位:s)
out.ts : 输出文件

【MAC】播放:ffplay out.ts`

  • 音视频合并
    【MAC】ffmpeg -f concat -i inputs.txt out.flv

-f concat : 要对后面的文件进行拼接
-i : 要拼接的文件,inputs.txt中是一个列表,是要合并的视频名字
inputs.txt内容为:file filename格式
out.flv :输出文件的名字,这里的flv只是事例

【MAC】播放:ffplay out.flv

六、图片/视频互转命令

  • 视频转图片:
    【MAC】ffmpeg -i in.flv -r 1 -f image2 image-%3d.jpeg

-i : 要处理的文件
-r : 要转换图片的帧率,1表示每秒转一张图片
-f : 转换后的格式,image的第二版

image-%3d.jpeg :输出文件,%3d表示是以image开头,后面是三个数字

【MAC】查看第一张图片:open image-001.jpeg

  • 图片转视频:
    【MAC】ffmpeg -i image-%3d.jpeg out.mp4

【MAC】播放:ffplay out.mp4,这时候会一下子放完,是因为

Ffmpeg 会从多媒体文件中读取帧率,一般情况下多媒体文件都是有帧率的。但对于流是不知道其帧率的,所以对于流相关的要主动给他一个帧率

七、直播

参考的直播链接:https://blog.csdn.net/u014162133/article/details/81188410
1,RTMP协议直播源
香港卫视:rtmp://live.hkstv.hk.lxdns.com/live/hks
2,RTSP协议直播源
珠海过澳门大厅摄像头监控:rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp
大熊兔(点播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
3,HTTP协议直播源 香港卫视:http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8
CCTV1高清:http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8
CCTV3高清:http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8
CCTV5高清:http://ivi.bupt.edu.cn/hls/cctv5hd.m3u8
CCTV5+高清:http://ivi.bupt.edu.cn/hls/cctv5phd.m3u8
CCTV6高清:http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8
苹果提供的测试源(点播):http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/gear2/prog_index.m3u8

  • 直播推流
    【MAC】ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName

-re : 表示减慢帧率速度
-i :要推的流
-c : 音视频编解码,具体的音频编码是-acodec,视频编码是-vcodec,copy表示音视频的参数不变
-f : 推出的文件格式,这里是flv
rtmp : 表示推送到这个地址上面去

  • 直播拉流
    【MAC】ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

-i : 表示从哪拉流
-c : 拉到的流是否重新编码,copy 表示不重新编码
dump.flv : 保存的文件

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 写在前面: 今天往移动硬盘上拷电影的时候忽然遇见文件过大无法拷贝的问题。因为一个移动硬盘如果分区为NTFS格式,那...
    vincentgemini阅读 14,193评论 0 9
  • 【 ffmpeg 官网 】 补充些有用的参数:-write_empty_segments 1 视频断的-segm...
    _49_阅读 2,961评论 0 0
  • 分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_...
    nenhall阅读 6,334评论 2 6
  • 昨天一顺身体不舒服,整宿没有好好休息。早晨我早早起床,熬好小米粥,便叫她起床,询问她今天感觉怎么样,她说还...
    一帆风顺平平安安阅读 197评论 0 0
  • 月光如水 我是曝晒了一天的鱼 等最后一缕晚霞燃尽 终于被夜幕捧入水中 得以贪婪的呼吸 夜空中那皎洁的倩影 是我悄悄...
    失忆的诗意的失阅读 249评论 5 11