FFmpeg 提取图片、剪切视频、编码视频、连接视频相关记录
2016-11-21 18:44
323 查看
1、提取图片
FFmpeg -ss start_time -t last_time -i video_path -f image2 -r fps -q:v 2 image_path
其中:start_time 表示起始时间,一般表现为 00:00:00,last_time 表示持续时间,格式同起始时间。-to 可以指定结束时间,单位以秒记。
-f iamge2 指定图片编码格式,-r 指定提取频率,-q:v 指定图片高质量,image_path 为图片输出路径,提取多个图片可用 path_%d 命名。
采样频率 r 建议按照视频自身帧率来采。如视频15帧,而以30的帧频来采集图像,则两帧一重复。同理设置成15以下,采集出的图像数肯定小于总帧数。
貌似 jpg 与 bmp 无明显差异,体积大小不同。理论上 jpg 更耗时,有圧缩过程。默认情况下,jpg 压缩率一般可达到 10.
4K 视频图像尺寸 3840x2160,bmp可达到23-24M。
2、编码视频
FFmpeg -i image_path -vcodec code -acodec code -r fps video_path
该命令可以对规则命名的图片群进行编码,code 表示视频及音频编码方式, fps 为帧频
-r,此处 r 据说是硬砍,不懂专业术语。建议 framerate 替代。
不过貌似 ffmpeg 帧频限制在了 25,低于25时默认25.
3、剪切视频
FFmpeg -ss start_time -t last_time -i video_path -vcodec code -acodec code -r fps video_path
剪切视频命令与图片提取命令时间设置相似,编解码参数设置与编码视频命令设置相似
4、连接视频
windows系统与Linux系统操作略有差异,仅试了Windows系统。
copy /b path_in1+path_in2+...+path_inN path_all
FFmpeg -i path_all path_out
Linux系统下貌似用cat命令,未测试
cat path_in1+path_in2+...+path_inN path_all
其中各子文件需要相同的格式,包括编码格式、帧频等。
如果文件类型不同,可先FFmpeg处理一致。
5、添加水印
ffmpeg -i inputvideo -vf "movie=1.jpg,scale=150:300[watermask];
[in][watermask] overlay=100:100[out]" -y outputvideo
scale:水印大小,水印长度*水印的高度;
overlay:水印的位置,距离屏幕左侧的距离*距离屏幕上侧的距离;
FFmpeg -ss start_time -t last_time -i video_path -f image2 -r fps -q:v 2 image_path
其中:start_time 表示起始时间,一般表现为 00:00:00,last_time 表示持续时间,格式同起始时间。-to 可以指定结束时间,单位以秒记。
-f iamge2 指定图片编码格式,-r 指定提取频率,-q:v 指定图片高质量,image_path 为图片输出路径,提取多个图片可用 path_%d 命名。
采样频率 r 建议按照视频自身帧率来采。如视频15帧,而以30的帧频来采集图像,则两帧一重复。同理设置成15以下,采集出的图像数肯定小于总帧数。
貌似 jpg 与 bmp 无明显差异,体积大小不同。理论上 jpg 更耗时,有圧缩过程。默认情况下,jpg 压缩率一般可达到 10.
4K 视频图像尺寸 3840x2160,bmp可达到23-24M。
2、编码视频
FFmpeg -i image_path -vcodec code -acodec code -r fps video_path
该命令可以对规则命名的图片群进行编码,code 表示视频及音频编码方式, fps 为帧频
-r,此处 r 据说是硬砍,不懂专业术语。建议 framerate 替代。
不过貌似 ffmpeg 帧频限制在了 25,低于25时默认25.
3、剪切视频
FFmpeg -ss start_time -t last_time -i video_path -vcodec code -acodec code -r fps video_path
剪切视频命令与图片提取命令时间设置相似,编解码参数设置与编码视频命令设置相似
4、连接视频
windows系统与Linux系统操作略有差异,仅试了Windows系统。
copy /b path_in1+path_in2+...+path_inN path_all
FFmpeg -i path_all path_out
Linux系统下貌似用cat命令,未测试
cat path_in1+path_in2+...+path_inN path_all
其中各子文件需要相同的格式,包括编码格式、帧频等。
如果文件类型不同,可先FFmpeg处理一致。
5、添加水印
ffmpeg -i inputvideo -vf "movie=1.jpg,scale=150:300[watermask];
[in][watermask] overlay=100:100[out]" -y outputvideo
scale:水印大小,水印长度*水印的高度;
overlay:水印的位置,距离屏幕左侧的距离*距离屏幕上侧的距离;
相关文章推荐
- ffmpeg 视频转换、图片批量提取
- 利用ffmpeg提取视频中的图片
- 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
- ffmpeg从视频(如avi)提取图片序列以及裁剪视频画面
- 利用ffmpeg进行摄像头提取视频编码为h264通过RTP发送数据到指定的rtp地址
- FFmpeg常用命令记录(1):录取屏幕、剪切视频、将视频转化为GIF
- libpng库编码图片为png(RGB压缩为png图片:与ffmpeg视频解码存储为png图片)
- 如何使用ffmpeg从视频中提取图片
- 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
- 调用opencv相关函数,从视频流中提取出图片序列&&&&jpg图片序列,转化成avi格式视频
- 利用ffmpeg进行摄像头提取视频编码为h264通过RTP发送数据到指定的rtp地址
- libjpeg库编码图片为jpg(ffmpeg解码视频存储图片:RGB格式位图压缩为jpg格式图片)
- ffmpeg视频关键帧提取保存为图片
- 使用ffmpeg将BMP图片编码为x264视频文件,将H264视频保存为BMP图片,yuv视频文件保存为图片的代码
- Linux下使用ffmpeg从视频提取图片
- 如何使用ffmpeg从视频中提取图片
- libjpeg库编码图片为jpg(ffmpeg解码视频存储图片:RGB格式位图压缩为jpg格式图片)
- ffmpeg视频编码(3)
- ffmpeg视频转换为flv格式,视频截取图片
- 音视频编码格式相关知识