把每个视频封装格式也统一为ts,拼接输出的时候再输出你需要的封装格式
视频分辨率可以不同,但是编码格式需要统一
音频编码格式需要统一,音频参数(采样率/声道等)也需要统一
4.2.18 截取图片
-y 覆盖
-f 格式
image2 格式
-vframes 帧,日光IP大于1那么输出加%03d test%03d.jpg
-s 格式带线啊哦
# 截取图片ffmpeg -i test.mp4 -y -f image2 -ss 00:00:02 -vframes 1 -s 640x360 test.jpgffmpeg -i test.mp4 -y -f image2 -ss 00:00:02 -vframes 1 -s 640x360 test.bmp# 转化视频位图片,每帧一张图ffmpeg -i test.mp4 -t 5 -s 640x360 -r 15 frame%03d.jpg# 图片转换为视频ffmpeg -f image2 -i frame%03d.jpg -r 25 video.mp4# 从视频中生成GIF图片ffmpeg -i test.mp4 -t 5 -r 1 image1.gifffmpeg -i test.mp4 -t 5 -r 25 -s 640x360 image2.gif# 将 GIF 转化为 视频ffmpeg -f gif -i image2.gif image2.mp44.2.19 视频录制
- 查看设备,windows最好装下https://sourceforge.net/projects/screencapturer/files/
ffmpeg -list_devices true -f dshow -i dummy[dshow @ 033bd280] DirectShow video devices (some may be both video and audio devices)[dshow @ 033bd280]"Integrated Camera"[dshow @ 033bd280]Alternative name "@device_pnp_\?usb#vid_04f2&pid_b6d9&mi_00#6&850bcba&1&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}global"[dshow @ 033bd280]"screen-capture-recorder"[dshow @ 033bd280]Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}{4EA6930A-2C8A-4AE6-A561-56E4B5044439}"[dshow @ 033bd280] DirectShow audio devices[dshow @ 033bd280]"楹﹀厠椋?(Realtek(R) Audio)"[dshow @ 033bd280]Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}wave_{2290534C-E8B7-4A5D-93CC-94AF1DA12D4D}"[dshow @ 033bd280]"virtual-audio-capturer"[dshow @ 033bd280]Alternative name "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}{8E14549B-DB61-4309-AFA1-3578E927E935}"# 查看视频录制的可选参数ffmpeg -f dshow -list_options true -i video="screen-capture-recorder"# 查看音频录制的可选参数ffmpeg -f dshow -list_options true -i audio="virtual-audio-capturer“ffmpeg -f dshow -list_options true -i audio="麦克风 (Realtek Audio)"音视频录制# 录制视频(默认参数)# 桌面ffmpeg -f dshow -i video="screen-capture-recorder" v-destop.mp4 # 摄像头ffmpeg -f dshow -i video="Integrated Camera" -y v-camera.flv (要根据自己摄像头名称)# 录制声音(默认参数)# 系统ffmpeg -f dshow -i audio="virtual-audio-capturer" a-system.aac# 系统+麦克风声音:ffmpeg -f dshow -i audio="麦克风 (Realtek(R) Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complexamix=inputs=2:duration=first:dropout_transition=2 record_audio.aac(中文会乱码)#同时录制声音和视频(默认参数)ffmpeg -f dshow -i audio="麦克风 (Realtek Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f dshow -i video="screen-capture-recorder" -y av-out.flv(中文会乱码)指定参数录制ffmpeg -f dshow -i audio="virtual-audio-capturer" -f dshow -video_size 1920x1200 -framerate 30 -pixel_format yuv420p -i video="screen-capture-recorder" -vcodec h264_qsv -b:v 3M -y av-out.flv4.3 ffmpeg转码4.4 ffmpeg流媒体4.4.1 ffmpeg和ffplay拉取直播流ffplay rtmp://server/live/streamName # 对于不是rtmp的协议 -c copy要谨慎使用ffmpeg -i rtmp://server/live/streamName -c copy dump.flv4.5 ffmpeg滤镜4.5.1 滤镜分类
按照处理的类型,可分为:
音频filter
视频filter
字幕filter
按照编解码的的位置划分:
prefilter:解码前
intrafilters:解码时
postfilter:解码后
FFmpeg 中 filter 分为:
source filter (只有输出)
audio filter
video filter
Multimedia filter
sink filter (只有输入)
除了 source 和 sink filter,其他 filter 都至少有一个输入、至少一个输出 。
4.5.2 裁剪语法
将输入视频帧的宽度和高度从x和y值表示的位置裁减到指定的宽度和高度,x和y是输出的左上角坐标,协调系统的中心是输入视频帧的左上角 。
如果使用了可选的keep_aspect参数,将会改变输出SAR(样本宽比)以补偿新的DAR(显示长宽比)
语法:
crop=ow[:oh[:x[:y[:keep_aspect]]]] 
文章插图
4.5.3 裁剪实例
# 可以直接看效果# iw/3裁剪的宽度为源宽度的1/3,ih裁剪的高度为源高度,iw/3*2从图像的宽2/3处开始裁剪,0从源高度就开始裁剪ffplay -i input.jpg -vf crop=iw/3:ih:iw/3*2:0ffmpeg -i input.jpg -vf crop=iw/3:ih:iw/3*2:0 out.jpg
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 李想|拿下AEB主动安全测试冠军!理想汽车:将开源AEB算法
- 防雷接地系统基础知识
- 压缩|时隔半年才更新!免费开源压缩软件7-Zip 22.00发布:仅1.5MB
- 搭建开源美观的数据库监控系统-Lepu
- 音视频系列:Webrtc音视频通话
- 退休工资如何计算?
- 短发|基础款T恤怎么挑,不管是“圆脸”还是“宽肩”,都要注意这三点
- 为什么抖音视频转发不到朋友圈,抖音为什么转发不到微信朋友圈-
- 翡翠|《基础知识-翡翠是玉石吗》
- Linux|开源软件巨头发布Euler Linux 2.0:支持华为鲲鹏、飞腾处理器
