云起工作室
15711107967
首页
笔记
全部
threejs
nuxtjs
flutter
php
docker笔记
ffmpeg
工具
GO
thinkphp
运维相关
qt笔记
目标网站汇总
js技巧
c++
vue笔记
python
linux
ffmpeg再在安装
windows下打开www.gyan.dev/ffmpeg/builds/下载 ffmpeg-release-full.7z 解压,将bin目录添加到环境变量即可linux或mac下git clone https://git.ffmpeg.org/ffmpeg.git查看信息./config --list-decoders 查看所有解码器 decoders./config --list-encoders 查看所有编码器 encoders直接输入 ffmpeg 回车查看都有哪些参数,有些参数 如debug、optimizations 不能在正式环境开启编译:./configure + configuration 后的所有内容如:./configure --prefix=/usr/local/ffmpeg --enable-gpl ……make && make install最后生成了三个文件ffmpeg ffplay ffprobe然后将这三个文件所在的目录添加到环境变量 ~/.bash_profile 里最后一行添加export PATH=$PATH:/ffmpeg 所在的目录nvm 装mp4格式ffmpeg -i 22.wmv -c:v libx264 -c:a aac 22.mp42、从一个视频文件中抽取一帧图像:ffmpeg -y -i test.mp4 -ss 00:03:22.000 -vframes 1 -an test.jpg
vim
命令行模式下执行yy:拷贝一行数据yw:拷贝一个词p:粘贴dd:删除一行dw:删除一个词h/j/k/l 左右上下移动光标gg 跳到文件头G 跳到文件尾^ 移动到行首$ 移动到行尾w/2w 向前移动 b/2b 向后移动 这是按单词移动/关键词 : 查找关键词:%s/关键词/替换词/gc 查找与替换 gc 查找本行所有符合的并替换,c是询问:21,23s/关键字/替换字/gc 21行~23行替换符合的字vim 多窗口split/vsplit 分窗口ctrl + ww/w[hjkl] 窗口间跳转
八大类型命令
yuv 视频原始数据pcm 音频原始数据1、基本信息查询命令 -version 显示版本 -demuxers 显示可用的demuxers -muxers 显示可用的muxers -devices 显示可用的设备 -codecs 显示所有编解码器 -decoders 显示可用的解码器 -encoders 显示所有的编码器 -bsfs 显示比特流filter -formats 显示可用的格式 -protocols 显示可用的协议 -filters 显示可用的所有过滤器 -pix_fmts 显示可用的像素格式 -samle_fmts 显示可用的采样格式 -layouts 显示channel名称 -colors 显示识别的颜色名称2、录制命令 2.1、ffmpeg -f avfoundation -i1-r30 out.yuv //录屏命令 -f : 指定使用(mac下的)avfoundation 采集数据 -i :指定从哪儿采集数据,他是一个文件索引号 这里是录屏,所以 -i是指屏幕 1是一个索引值,这里是屏幕的索引值,0是摄像头,1是屏幕 -r :指定帧率 out.yuv 将采集的数据收集成yuv数据(一种数据格式) ffmpeg -f avfoundation -list_devices true -i "" 列出avfoundation所支持的设备 2.2、ffmpeg -f avfoundation -i :0 out.wav 录制声音 :0 代表音频设备3、分解/复用命令 ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv mp4格式转flv格式 -i 输入的文件 -vcodec copy:视频编码处理方式 -acodec copy:音频编码处理方式 ffmpeg -i input.mp4 -an -vcodec copy out.h264 抽取视频 ffmpeg -i input.mp4 -acodec copy -vn out.aac 抽取音频 4、处理原始数据命令 4.1、ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmts yuv420p out.yuv 提取yuv数据 -an : 输出的数据不包括音频 -c:v 对视频进行编码 用rawvideo 格式进行编码(也就是原始视频) -pix_fmt 使用像素格式 4.2、ffmpeg -i out.mp4 -vn -ar 44100 -ac2 -f s16le out.pcm 提取pcm(音频)数据 -vn : 不要视频 r: 采样率 44.1k c: 声道 channel 2c 2声道 -f :指定数据存储格式5、裁剪与合并命令 5.1、ffmpeg -i input.mp4 -ss 00:00:00 -t 10 out.ts -ss:视频从什么时间点开始裁剪 -t:裁剪多长时间 10 是10秒 5.2、ffmpeg -f concat -i input.txt out.flv -f concat 即将对后边的文件进行拼接 input.txt 是个文本,是视频的文件列表 input.txt 的内容是 file '文件名.文件后缀' 每行都是以file开头 文件用引号包裹,不含标点符号6、图片/视频互转命令 6.1、ffmpeg -i input.flv -r 1 -f image2 image-%3d.jpeg 视频转图片 %3d 是个变量,即从001 开始的递增数字 -r: 指定转换图片的帧率是多少, 1代表每秒钟转换一张图片 -f:将多媒体转成什么格式,这是 image格式 6.2、ffmpeg -i image-%3d.jpeg out.mp4 将符合image-%3d.jpeg 的图片转成视频 7、直播相关命令 ffmpeg -rd -i out.mp4 -c copy -f flv rtmp://server/live/streamName 直播推流 ffmpeg -i rtmp://server/live/streamName -c copy dump.flv 直播拉流8、各种滤镜命令 ffmpeg -i input.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4 -re 减慢速度 -vf: 视频滤镜 crop in_w-200:视频本身宽度-200 in_h-200:视频本身高度减200 -c:v 使用的视频编码器是 libx264 -c:a 音频编码器 copy 直接拷贝,不进行处理