基于ffmpeg的音视频转码、压制、录屏、裁切、合并、提取
ffmpeg转码、压制、录屏、裁切、合并、提取
- 1.ffmpeg介绍
- 2.转换格式
- 3.音频转码
- 4.视频转码
- 5.码率控制模式
- 6.合并、提取音视频
- 7.截取、连接音视频
- 8.截图、水印、动图
- 9. 录屏、直播
1.ffmpeg介绍
ffmpeg是一套用来处理视频和音频内容的开源工具库。
官网: http://ffmpeg.org/
ffmpeg: 媒体视频和音频处理的命令行工具
ffprobe:媒体参数分析命令行工具
ffplay:媒体播放命令行工具
ffmpeg -h:可以看到很多指令
2.转换格式
ffmpeg -i input.mov output.mp4
3.音频转码
编码: 就是压缩,目的都是缩小文件体积,便于传输和存储
ffmpeg -codecs
潮流编码:
MP4封装:H264视频编码 + AAC音频编码 (一般采用这个)
WebM封装:VP8视频编码 + Borbis音频编码
OGG封装:Theora视频编码 + Vorbis音频编码
音频转码:
ffmpeg -i in.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 out.mp3
-ar 44100:音频采样率为44.1khz
-ab 320k:指定音频的比特率
-.ac 2 : 设置声道指令(1为单声道,2为双声道立体声)
4.视频转码
ffmpeg -i in.webm -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 out.mp4
-preset medium : 编码器预设,控制编码速度
-profile:v high:指定编码器的配置,与视频压缩比有关
-level:v 4.1:对编码器具体的规范和限制
-crf 23: 设置码率控制模式
-r 30:设置视频帧率
-b:a 128k:指定音频的比特率
5.码率控制模式
画质越好,码率越高,文件体积越大,所谓码率控制就是为每帧画面分配多少比特数,这是在权衡文件体积和画面质量
ffmpeg支持三种码率控制模式:-qp、-crf、-b
6.合并、提取音视频
提取视频:
ffmpeg -i in.mp4 -vcodec copy -an v.mp4
-vcodec copy: 保持原编码格式不变
-an :用来静音,剔除音频
提取音频:
ffmpeg -i in.mp4 -vn -acodec copy a.m4a
有些视频具有多个音频流 -map 0:3 增加参数来提取指定音频流
合并音视频:
ffmpeg -i a.m4a -i v.mp4 -c copy out.mp4
7.截取、连接音视频
截取音频
ffmpeg -i in.mp3 -ss 00:01:0 -to 00:01:10 -acodec copy out.mp3
ffmpeg -i in.mp3 -ss 00:01:00 -t 10 -acodec copy out.mp3
-ss 00:01:00 -to 00:01:00 : 起始时间和结束时间
截取视频:
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 (用这一种)
连接多个视频:(参数是一样的,格式、宽高和码率)
ffmpeg -i “concat:01.mp4|02.mp4|03.mp4” -c copy out.mp4
推荐使用图形界面:
Avidemux,专门用来剪切和合并视频视频(开源)
连接多个音频:
?
8.截图、水印、动图
截图:
ffmpeg -i in.mp4 -ss 5 -vframes 1 img.jpg
-ss 5:第五秒
视频添加水印:
ffmpeg -i in.mp4 -i logo.png -filter_complex “overlay=20:20” out.mp4
-filter_complex: 用来添加滤镜
“overlay=20:20” : 水印的位置
制作gif动图:
ffmpeg -i in.mp4 -ss 7.5 -to 8.5 -s 640x320 -r 15 out.gif
9. 录屏、直播
录屏:
ffmpeg -f gdigrab -i desktop rec.mp4
推荐软件:OBS studio 免费、开源、强大
直播:
ffmpeg -re -i rec.mp4 按照网站要求编码 -f flv “你的rtmp地址/你的直播码”
基于ffmpeg的音视频转码、压制、录屏、裁切、合并、提取相关推荐
- 基于ffmpeg实现音视频转码
一.背景 偶然的机会接触了ffmpeg,当时是从B站下载的视频转移到笔记本上看.使用b站手机客户端下载的视频格式为m4s的两个文件(video.m4s和audio.m4s),需要转成普通播放器支持的m ...
- 基于FFMPEG的音视频截取(C++Qt 版)
基于FFMPEG的音视频截取(C++Qt 版) 这篇博客是基于上篇博客的: https://blog.csdn.net/liyuanbhu/article/details/121744275 上篇博客 ...
- 音视频6.3——安卓录屏实现编码成h264文件
音视频开发路线: Android 音视频开发入门指南_Jhuster的专栏的技术博客_51CTO博客_android 音视频开发入门 demo地址: GitHub - wygsqsj/videoPat ...
- JAVA调用FFmpeg实现音视频转码加水印功能
目录 目录 写在前面 MAVEN引用 获取音视频基本信息 音频转码成Mp3格式 视频转码成Mp4格式 视频转码成Mp4并添加文字水印 视频转码成Mp4并添加图片水印 测试代码 写在前面 如今各大云厂商 ...
- Python基于Flask框架实现视频直播,电脑桌面录屏web端展示,远程控制电脑
流媒体原理基本介绍 流媒体是一种技术,其中,服务器以数据块的形式响应请求. 非常大的响应 .对于非常大的响应而言,内存中收集的响应只返回给客户端,这是很低效的.另一种方法是将响应写入磁盘,然后使用fl ...
- 音视频转码FFmpeg
前言 音视频转码主要指这样的概念: 容器格式的转换,比如MP4转换为MOV 容器中音视频数据编码方式转换,比如H264编码转换成MPEG4编码,MP3换为AAC 音视频码率的转换,比如4M的视频码率降 ...
- ffmpeg学习(13)音视频转码(2)使用filter
ffmpeg学习(10)音视频文件muxer(1)封装格式转换 中介绍了媒体文件的封装格式转换,ffmpeg学习(11)音视频文件muxer(2)多输入混流 中介绍了音视频的混流,本文介绍基于ffmp ...
- 用FFMPEG SDK进行视频转码压缩时解决音视频不同步问题的方法(转) PTS DTS
用FFMPEG SDK进行视频转码压缩的时候,转码成功后去看视频的内容,发现音视频是不同步的.这个的确是一个恼火的事情.我在用FFMPEG SDK做h264格式的FLV文件编码Filter的时候就碰到 ...
- 基于FFMPEG 的跨平台视频编解码研究
第33卷 第11期 2011年11月 武 汉 理 工 大 学 学 报 JOURNALOF WUHANUNIVERSITYOFTECHNOLOGY Vol.33 No.11 췍췍췍췍췍췍췍췍췍췍췍췍췍췍 ...
最新文章
- 这次我让你彻底弄懂 RESTful
- mysql slave lock 跳过_处理 MySQL 因为 SLAVE 崩溃导致需要手动跳过 GTID 的问题 | 关于 GTID...
- vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
- OpenSSH(ssh + scp)+Telnet
- php中get结合mysql_php中,$_GET中的数值能被mySQL读到么?
- 机器学习与计算机视觉(移动端深度学习优化框架)
- UOJ276 [清华集训2016] 汽水 【二分答案】【点分治】【树状数组】
- linux rm 命令删除文件恢复_rm删除文件空间就释放了吗?天真!
- html 链接 vf,VFP中超链接实现方法
- 在Ubuntu上使用Netdata设置实时性能监控
- Spring5 系统架构
- word宏的使用——Selection对象
- 无限循环小数四则运算_无限循环小数的加减乘除及无限循环小数转换为分数形式-何长峻...
- 做网赚想要赚到钱,心态很重要
- 大疆不仅为工程师办比赛,还为他们量身制作了一部动画
- bom成本分析模型_各位成本会计,请问用BOM表算成本的大致思路是什么?
- 51单片机(十二)—— 单片机复位
- C#基础教程(一).NET框架
- 健身房信息管理系统(PHP+Html+MySQL)
- 鱼眼:一:一分钟详解鱼眼镜头标定基本原理及实现