作者:爱在运动-666_517 | 来源:互联网 | 2023-07-01 11:12
https:www.imooc.comvideo167951基本信息查询命令ffmpeg-versionffmpeg-devicesffmpeg-formats|grepmp3
https://www.imooc.com/video/16795
1 基本信息查询命令
ffmpeg -version
ffmpeg -devices
ffmpeg -formats | grep mp3
2 录制命令
https://www.jianshu.com/p/fff726967ae3
FFmpeg录屏命令
2.1 安装screen capture recorder
https://sourceforge.net/projects/screencapturer/files/
2.2 查看是否安装成功
ffmpeg -list_devices true -f dshow -i dummy
DirectShow video devices (some may be both video and audio devices)
“screen-capture-recorder” //视频设备
DirectShow audio devices
“virtual-audio-capturer” //音频设备
2.3 录制
https://blog.csdn.net/shaosunrise/article/details/81068080
2.3.1 只录制音频
https://y.qq.com/n/yqq/singer/001fNHEf1SFEFN.html
ffmpeg -f dshow -i audio="virtual-audio-capturer" -acodec libmp3lame out.mp3
# 播放音频
ffplay out.mp3
2.3.2 只录制视频
ffmpeg -f dshow -i video="screen-capture-recorder" -r 5 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency MyDesktop.mp4
2.3.3 录制音频和视频
ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.flv
3 分解/复用命令
多媒体格式转换
# in.mp4转换成out.avi格式
ffmpeg -i in.mp4 -vcodec copy -acodec copy out.avi
# 播放视频
ffplay out.avi
# 抽取视频
ffmpeg -i in.mp4 -an -vcodec copy out.h264
# 播放视频
ffplay out.h264
# 抽取音频
ffmpeg -i in.mp4 -acodec copy -vn out.aac
# 播放音频
ffplay out.aac
4 处理原始数据命令
FFmpeg提取YUV数据
# 抽取yuv数据(原始数据)
ffmpeg -i in.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
# 播放(执行上面的命令会得到宽高)
ffplay -s 1280x720 out.yuv
FFmpeg提取PCM数据
# 提取PCM数据
ffmpeg -i in.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
# 播放(指定采样率/声道等基本信息)
ffplay -ar 44100 -ac 2 -f s16le out.pcm
5 裁剪与合并命令
FFmpeg音视频裁剪
# 裁剪视频 00:00:30后开始裁剪10s
ffmpeg -i in.mp4 -ss 00:00:30 -t 10 1.ts
# 播放
ffplay 1.ts
FFmpeg音视频合并
# 同一个视频 切片
ffmpeg -i in.mp4 -ss 00:00:10 -t 10 1.ts
ffmpeg -i in.mp4 -ss 00:00:30 -t 10 2.ts
input.txt
file 1.ts
file 2.ts
# 合并input.txt里面所列举的视频文件(视频大小格式需要一样 多个mp4文件合并是有问题的)
ffmpeg -f concat -i input.txt out.mp4
# 播放
ffplay out.mp4
6 图片/视频互转命令
FFmpeg视频转图片
ffmpeg -i in.mp4 -ss 00:00:10 -t 10 1.ts
# -r 指定转换图片的帧率是多少(1 每秒钟转出一张图片)
ffmpeg -i 1.ts -r 1 -f image2 image-%3d.jpeg
FFmpeg图片转视频
# 把前面生成的图片合成视频
ffmpeg -i image-%3d.jpeg out.mp4
# 播放
ffplay out.mp4
7 直播相关命令
https://blog.csdn.net/github_30662571/article/details/72466091
//----------------RTSP协议直播源----------------//
大熊兔(点播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
//----------------RTMP协议直播源----------------//
大熊兔(点播): rtmp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
湖南卫视: rtmp://58.200.131.2:1935/livetv/hunantv
广西卫视: rtmp://58.200.131.2:1935/livetv/gxtv
广东卫视: rtmp://58.200.131.2:1935/livetv/gdtv
东方卫视: rtmp://58.200.131.2:1935/livetv/dftv
# 湖南卫视
ffplay rtmp://58.200.131.2:1935/livetv/hunantv
直播推流
直播拉流
# q退出
ffmpeg -i rtmp://58.200.131.2:1935/livetv/hunantv -c copy dump.flv
# 播放
ffplay dump.flvffmpeg -i http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8 -c copy dump.m3u8
# 播放一个片段
ffplay dump3.ts
# 播放全部
ffplay dump.m3u8
8 各种滤镜命令
FFmpeg滤镜命令
8.1 裁剪视频
# 裁剪视频 宽度减少400 高度减少200 (默认中心点)
# crop 格式: crop=out_w:out_h:x:y
ffmpeg -i in.mp4 -vf crop=in_w-400:in_h-200 -c:v libx264 -c:a copy out.mp4
# 播放
ffplay out.mp4
8.2 添加水印
https://blog.csdn.net/m0_37684310/article/details/78257779
8.2.1 视频添加图片水印
https://img-blog.csdnimg.cn/20191124144137624.gif
水印在左上角
# 左上角添加(overlay指定x,y坐标的位置)
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=5:5" out.mp4
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=10:10" -codec:a copy out.mp4
# 播放
ffplay out.mp4
水印在右上角
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4
水印在左下角
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=10:main_h-overlay_h-10" -codec:a copy out.mp4
水印在右下角
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" -codec:a copy out.mp4
水印在中间
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2" -codec:a copy out.mp4
8.2.2 视频添加文字水印
ffmpeg -i in.mp4 -vf "drawtext=fOntfile=STKAITI.TTF:text='你好骚呀':x=100:y=10:fOntsize=24:fOntcolor=red:shadowy=0" out.mp4
- ttf 字体C:\Windows\Fonts\
- x:y 显示位置
- fontsize 文字大小
- fontcolor 文字颜色
- https://blog.csdn.net/tanhuifang520/article/details/79623978