目录

01.下载,配置

02.简介,上手(FFmpeg FFprobe FFplay)

03.转换格式(文件格式,封装格式)

04.改变编码 上(编码,音频转码)

05.改变编码 中(视频压制)

06.改变编码 下(码率控制模式)

07.合并,提取音视频

08.截取,连接音视频

09.截图,水印,动图

10.录屏,直播


笔记来源
https://www.bilibili.com/video/av40146374

01.下载,配置

用的系统是Ubuntu18.04,所以直接apt-get就可以了
sudo apt-get install ffmpeg

02.简介,上手(FFmpeg FFprobe FFplay)

(1)查看ffmpeg的帮助说明,提供的指令
ffmpeg -h
(2)播放媒体的指令
ffplay video.mp4
ffplay music.mp3
(3)常用快捷键
按键"Q"或"Esc":退出媒体播放
键盘方向键:媒体播放的前进后退
点击鼠标右键:拖动到该播放位置
按键"F":全屏
按键"P"或空格键:暂停
按键"W":切换显示模式
(4)查看媒体参数信息
ffprobe video.mp4

03.转换格式(文件格式,封装格式)

(1)文件名可以是中英文,但不能有空格。
(2)转换格式
ffmpeg -i video.mp4 video_avi.avi

04.改变编码 上(编码,音频转码)

(1)查看编解码器
ffmpeg -codecs
(2)网站常用编码
MP4封装:H264视频编码+ACC音频编码
WebM封装:VP8视频编码+Vorbis音频编码
OGG封装:Theora视频编码+Vorbis音频编码
(3)无损编码格式.flac转换编码
ffmpeg -i music_flac.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 music_flac_mp3.mp3
说明:
acodec:audio Coder Decoder 音频编码解码器
libmp3lame:mp3解码器
ar:audio rate:音频采样率
44100:设置音频的采样率44100。若不输入,默认用原音频的采样率
ab:audio bit rate 音频比特率
320k:设置音频的比特率。若不输入,默认128K
ac: aduio channels 音频声道
2:声道数。若不输入,默认采用源音频的声道数

概括:设置格式的基本套路-先是指名属性,然后跟着新的属性值

查看结果属性
ffprobe music_flac_mp3.mp3

05.改变编码 中(视频压制)

(1)视频转码
ffmpeg -i video.mp4 -s 1920x1080 -pix_fmt yuv420p -vcodec libx264 -preset medium -profile:v high -level:v 4.1 -crf 23 -acodec aac -ar 44100 -ac 2 -b:a 128k video_avi.avi
说明:
-s 1920x1080:缩放视频新尺寸(size)
-pix_fmt yuv420p:pixel format,用来设置视频颜色空间。参数查询:ffmpeg -pix_fmts
-vcodec libx264:video Coder Decoder,视频编码解码器
-preset medium: 编码器预设。参数:ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo
-profile:v high :编码器配置,与压缩比有关。实时通讯-baseline,流媒体-main,超清视频-high
-level:v 4.1 :对编码器设置的具体规范和限制,权衡压缩比和画质。
-crf 23 :设置码率控制模式。constant rate factor-恒定速率因子模式。范围0~51,默认23。数值越小,画质越高。一般在8~28做出选择。
-r 30 :设置视频帧率
-acodec aac :audio Coder Decoder-音频编码解码器
-b:a 128k :音频比特率.大多数网站限制音频比特率128k,129k
其他参考上一个教程

06.改变编码 下(码率控制模式)

ffmpeg支持的码率控制模式:-qp -crf -b
(1)
-qp :constant quantizer,恒定量化器模式
无损压缩的例子(快速编码)
ffmpeg -i input -vcodec libx264 -preset ultrafast -qp 0 output.mkv
无损压缩的例子(高压缩比)
ffmpeg -i input -vcodec libx264 -preset veryslow -qp 0 output.mkv
(2)
-crf :constant rate factor,恒定速率因子模式
(3)
-b :bitrate,固定目标码率模式。一般不建议使用

3种模式默认单遍编码

VBR(Variable Bit Rate/动态比特率) 例子
ffmpeg -i input -vcodec libx264 -preset veryslow output
ABR(Average Bit Rate/平均比特率) 例子
ffmpeg -i input -vcodec libx264 -preset veryslow -b:v 3000k output
CBR(Constant Bit Rate/恒定比特率) 例子
... -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k ...

07.合并,提取音视频

(1)单独提取视频(不含音频流)
ffmpeg -i video.mp4 -vcodec copy -an video_silent.mp4
(2)单独提取音频(不含视频流)
ffmpeg -i video.mp4 -vn -acodec copy video_novideo.m4a

具备多个音频流的,如
Stream #0:2[0x81]:Audio:ac3,48000Hz,5.1,s16,384kb/s
Stream #0:3[0x82]:Audio:ac3,48000Hz,5.1,s16,384kb/s
Stream #0:4[0x80]:Audio:ac3,48000Hz,5.1,s16,448kb/s

针对性的单一的提取,例如提取第2条,用指令: -map 0:3
(3)合并音视频
ffmpeg -i video_novideo.m4a -i video_silent.mp4 -c copy video_merge.mp4

08.截取,连接音视频

(1)截取
ffmpeg -i music.mp3 -ss 00:00:30 -to 00:02:00 -acodec copy music_cutout.mp3
截取60秒
ffmpeg -i music.mp3 -ss 00:00:30 -t 60 -acodec copy music_cutout60s.mp3

-sseof : 从媒体末尾开始截取

ffmpeg -i in.mp4 -ss 00:01:00 -to 00:01:10 -c copy out.mp4
ffmpeg -ss 00:01:00 -i in.mp4 -to 00:01:10 -c copy out.mp4
ffmpeg -ss 00:01:00 -i in.mp4 -to 00:01:10 -c copy -copyts out.mp4

把-ss放到-i之前,启用了关键帧技术,加速操作。但截取的时间段不一定准确。可用最后一条指令,保留时间戳,保证时间准确。
(2)连接音视频
ffmpeg -i "concat:01.mp4|02.mp4|03.mp4" -c copy out.mp4

不同格式的音视频可以连接在一起,但不推荐不同格式连接在一起。
建议使用Avidemux软件连接

09.截图,水印,动图

(1)截图.
截取第7秒第1帧的画面
ffmpeg -i video.mp4 -ss 7 -vframes 1 video_image.jpg
(2)水印
ffmpeg -i video.mp4 -i qt.png -filter_complex "overlay=20:80" video_watermark.mp4
(3)截取动图
ffmpeg -i video.mp4 -ss 7.5 -to 8.5 -s 640x320 -r 15 video_gif.gif

10.录屏,直播

(1)录屏
windows: ffmpeg -f gdigrab -i desktop rec.mp4
ubuntu: sudo ffmpeg -f fbdev -framerate 10 -i /dev/fb0 rec.mp4

gdigrab :ffmpeg中的一个组件。
只捕获视频.若要录屏,录音,获取摄像头,麦克风,换组件,用OBS Studio软件

(2)直播
ffmpeg -re i rec.mp4 按照网站要求编码 -f flv "你的rtmp地址/你的直播码"

官方教程
http://ffmpeg.org/ffmpeg-all.html

【FFmpeg】转码、压制、录屏、裁切、合并、提取、直播...(ffmpeg笔记)相关推荐

  1. obs多推流地址_EV录屏推流抖音直播教程——墨涩网

    EV录屏 免费无水印,集视频录制与直播功能于一身的桌面录屏软件,支持录屏涂鸦.实时按键显示.视频体积压缩等实用功能.无水印.无限制,想录就录,以下功能均无使用限制,永久免费.视频录制,桌面.摄像头组合 ...

  2. Qt C++ 录屏录音功能实现(avilib+ffmpeg)以及动态库生成

    实现一个录屏+录音的功能且需要快速开发,Qt无疑是一个非常好的选择.他有丰富的类库和接口可以很好的满足开发需求. 完整demo代码在文章最下方的百度网盘链接中,有需要的各位可以随意下载. 录屏部分 录 ...

  3. 基于ijkplayer封装ffmpeg播放器的录屏实现

    关于ijkplayer我自己提出的issue的https://github.com/Bilibili/ijkplayer/issues/1166的一个小总结,还先不要期望我有完整代码给出,如果只想知道 ...

  4. ffmpeg和免费的录屏软件

    [原创]FFMPEG录屏入门指南 - 浅笑风尘 - 博客园 这篇文章后面有推荐: OBS:(首推!后期有时间会出一篇有心得的原创使用教程,敬请关注.)下载地址:https://obsproject.c ...

  5. ffmpeg使用一:录屏保存为yuv420p

    最近要实现屏幕广播功能,本来的想法是截屏发送图片,只要1秒内能达到25张图片,就能观看到连续的广播,但由于机器可能不在一个网段内,无法用udp广播,二用tcp循环发送,会有延迟,且只要其中一个机器的网 ...

  6. 简单好用的录屏截图软件captura缺少FFmpeg处理

    Captura是一款免费开源的屏幕录制工具,它能够将屏幕上的任意区域.窗口录制成视频,可以选择是否显示鼠标.记录鼠标点击.键盘按键.声音. 目录 安装包打包下载 安装captura 下载安装 语言选择 ...

  7. Captura – 带键盘按键录制的录屏工具,支持直播[Windows]

    简介: Captura 是一款开源的 Windows 录屏工具,支持录制屏幕.摄像头.音频,显示键盘点击.计时器.直播串流等功能,非常全面小巧的开源录屏工具. 感谢 tg 好友 William 的推荐 ...

  8. rtmp推流工具_小熊录屏:支持RTMP直播录屏的手机APP——墨涩网

    小熊录屏软件 小熊录屏是一款支持手机应用介绍小熊录屏(原安卓录屏大师)是一款稳定且优质的免费屏幕录制应用,能帮助你录制流畅清晰的屏幕视频.小熊录屏功能丰富,无需root即可使用,让你轻松录制游戏过程. ...

  9. ffmpeg录屏鼠标闪烁问题解决方法

    场景: 平台:win7 x64.显卡很差的电脑,使用ffmpeg录屏,鼠标闪烁的几乎看不到.录屏实现方法是使用ffmpeg,源采用的是gdigrab. 解决方法: 安装screen capture r ...

  10. ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制

    ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制 2014年 四月 19日 周六 | tags: ffmpeg, rtmp, rtmpdump, nginx, -- (perm ...

最新文章

  1. 程序员因中年危机从北京回老家事业单位:工资从60万爆降到6万
  2. 有一种尴尬,叫大厂中层
  3. navicat 结构同步会加锁吗_被柜员怠慢的张小波,真的会永久地转走几个亿的结构性存款吗?...
  4. c语言程序设计电大形考作业答案,2016年电大-电大c语言程序设计形成性考核册答案(-).doc...
  5. SQL Server 2008 报表服务入门
  6. Spring 核心框架体系结构
  7. 如何制作学术Poster?
  8. 计算机重启打印服务关闭,电脑打印机消失print spooler服务启动后自动停止
  9. log4j配置文件配置及解读
  10. SOAP协议是什么,它的优点是什么
  11. WIN10系统“计算机无法访问,您可能没有权限使用网络资源.请与这台服务器的管理员联系“的解决办法
  12. cogs2398 切糕 最小割
  13. 机器视觉系统——光源及打光
  14. php的常见加密方式,记录接口中常见的简单内容加密方式:恺撒加密的PHP实现
  15. 心电图心电轴怎么计算_心电图心电轴计算表
  16. 让数字人出圈的技术秘籍,华为率先公开了
  17. iOS开发 Tips 保存视频文件到相册
  18. 二元关系的关系性质判断
  19. SaaS 软件开发为企业数字化转型赋能
  20. ubuntu多显卡风扇转速控制

热门文章

  1. Oauth2.0的安全运行是否必须使用Https协议?官方总结的安全问题有哪些?(附英文文档分析)
  2. map映照容器(常用的使用方法总结)
  3. COMPFEST 14 - Preliminary Online Mirror (Unrated, ICPC Rules, Teams Preferred) H. Hot Black Hot Whit
  4. Nginx日志切割及配置
  5. pinia的简单用法
  6. Android出现“XXX 无响应”分析与解决方案
  7. MQTT协议详解01
  8. 复变量的指数函数 欧拉公式
  9. MT6571 摄像头驱动
  10. 【帝国CMS】输出带序号的列表(数字排序适用于排行榜)