FFmpeg将有序帧(图片)转换成视频(解决了生成视频后播放闪烁的问题)
引言
随着目标检测算法在工程中的广泛应用,视频和批量图片的处理成为重要的环节。在对视频进行目标识别标记,主要采用opencv,每次读取一帧图像,然后送入网络,得到目标物所属类别,框的坐标信息和置信度,然后绘制到图像中,并把此帧图像实时显示。但无法保存带识别标记的视频(本人浅薄,暂且未找到opencv中合适方法)故本博客提出一种基于FFmpeg的批量标记帧图像生成视频方法。本文把识别好的每一帧图像按序号保存至某一独立文件夹,在运用FFmpeg将文件夹中的有序帧图像合成视频。
FFmpeg下载与安装
方法一:官网下载(非常慢)
FFmpeg官方下载地址
方法二:我在外网下载好,提供网盘链接
链接:ffmpeg-20200628-4cfcfb3-win64-static.zip
提取码:mmtx
安装FFmpeg
下载zip文件,解压,把bin目录下的ffmepg.exe,所在路径加入到系统环境变量path中,即可。参考博客
验证安装成功
win + R 打开,输入cmd,打开终端
输入ffmpeg -version
出现下图,安装成功。
探索解决方案
在对监控视频取帧进行目标识别+存储有序帧后,先后从两大方向,多个角度尝试,皆效果不理想。
- 运用opencv来实现有序帧转视频(转换后的视频播放出现帧间闪烁)
- 用Win10自带视频编辑器处理(手动调节每一帧播放时间,费时费力)
- PR视频剪辑软件生成(对帧的序号有严格要求,如000.jpg、001.jpg·······199.jpg)(而我在目标识别后保存的序号是1.jpg、2.jpg、3.jpg ···50.jpg、51.jpg···198.jpg、199.jpg;是按数字递增的并没有保持序号宽度一致)
当然,python熟练的可以在保存帧的时候,统一命名为序列宽度一致,并保存。
最终解决方案
运用FFmpeg针对有序帧转化为视频。
前提准备
安装好ffmpeg
带有有序标号的标记好的帧图像的文件夹(我的有序命名为 fram1.jpg、fram2.jpg、fram3.jpg···fram712.jpg )
命令行输入指令
当运用ffmpeg压缩视频时,推荐用libx264编码格式,根据经验,这样得到的视频,分辨率体积小。不同版本的ffmpeg会得到不同的输出文件。
例如文件夹中图像格式(fram1.jpg, fram2.jpg…. etc)此时运用以下指令:
ffmpeg -r 60 -f image2 -s 1920x1080 -i fram%d.jpg -vcodec libx264 -crf 25 -pix_fmt yuv420p test.mp4
主要修改 帧率、输入图片帧命名格式、输出
%04d 表示用零来填充直到长度为4,i.e 0001…0020…0030…2000 and so on.
如果没有填充,需要相应更改,如 pic%d.png or %d.png-r 帧率(fps)
-f image2 图像合成视频默认设置
-crf 画质,数值小意味着画质高,通常设置为15-25
-s 分辨率(1920x1080)
-pix_fmt yuv420p 像素格式
test.mp4 输出在当前文件夹,输出结果为test.mp4
参考资料
[1]https://blog.csdn.net/kaikai136412162/article/details/80746961
[2]http://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/
FFmpeg将有序帧(图片)转换成视频(解决了生成视频后播放闪烁的问题)相关推荐
- ffmpeg+easydarwin把rtmp流转换成m3u8
ffmpeg+easydarwin把RTSP流转换成m3u8 ffmpeg+easydarwin把rtmp流转换成m3u8 Windows 安装ffmpeg 安装easydarwin 安装Nginx ...
- 通过ffmpeg把图片转换成视频
ffmpeg是一个非常强大的工具,使用他可以转换视频格式,包括视频容器格式,视频编码格式.这里所说的视频,包括了视频和音频.可以更改视频的其他的参数,比如帧率-每秒播放的帧数, 视频的大小-尺寸等等. ...
- 把图片转换成视频-ffmpeg
把图片转换成视频-ffmpeg 2018年03月06日 22:05:08 zhangjundi 阅读数 4401更多 个人分类: Android开发 http://blog.csdn.net/huan ...
- JavaCV音视频开发宝典:实现Base64编码图片转换成图片文件通用转换器,以base64转png图片文件为例,其他图片格式也全部支持
<JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 在上一章中https://eguid.blog.csdn.net/artic ...
- 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式...
为什么80%的码农都做不了架构师?>>> 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式 using System; using ...
- html视频怎么转换成图片,WPS演示如何将图片转换成视频?
将图片转换成视频你是这么做的呢?WPS演示如何将图片转换成视频?现在的人们对于会动的事物都充满着好奇,就连好看的图片也需要转换成视频了.利用WPS演示,将图片转化成视频.本质上就是制作一个PPT文档, ...
- python矩阵变成图片_Python图片转换成矩阵,矩阵数据转换成图片
# coding=gbk from PIL import Image import numpy as np # import scipy def loadImage(): # 读取图片 im = Im ...
- java png生成webp图片_jpg、png格式的图片转换成webp后颜色失真的问题
今天简单的试用了一下 cweb.exe 将 jpg, png 格式的图片转换成 webp 格式. 我今天下载的是当前最新版:1.0.0 cwebp 3.jpg -q 85 -o 3.webp 发现图 ...
- 利用MATLAB将图片转换成coe文件、TXT文件、mif文件、bin文件
利用MATLAB将图片转换成coe文件.TXT文件.mif文件 利用MATLAB将图片转换成coe文件 利用MATLAB将图片转换成txt文件 利用MATLAB将图片转换成mif文件 利用MATLAB ...
最新文章
- Puppy Linux 8.0 发布,代号 BionicPup
- ajax html例子,AJAX实例
- 看完这篇文章保你面试稳操胜券——React篇
- SmartFoxServer学习总结(转载)
- wamp无法访问php,wamp无法访问phpmyadmin怎么办
- Visitor模式学习
- mysql 线程id_查找MySQL线程中死锁的ID的方法
- 按下键时蜂鸣器发出声音c语言,学习日记——蜂鸣器开关实例
- 在两个电子表格中找出相同的姓名
- java 图片与base64相互转化
- R数据科学-第六章用dplyr处理关系数据
- matlab常用函数,命令
- python飞行棋项目
- 4763: 雪辉[点分治+可持久化分块]
- 【Pandas】- pandas入门
- 高德地图获取地址坐标
- 怎么关闭win7计算机一键还原系统,Win7卸载一键还原功能后还会保留在开机启动菜单中怎么办...
- 火山视窗整数数组类增删查改操作
- Software for Developing
- 【Arduino 和 DS3231 实时时钟教程】