文章详情页
java - Android如何快速获取视频每秒缩略图
浏览:175日期:2023-12-26 09:09:04
问题描述
最近项目想要像新版微信那样只能分享10s以内的视频,需要对超过10s的视频进行裁剪和获取视频每秒的缩略图,裁剪压缩功能都已经实现,主要是获取视频每秒的缩略图功能,利用ffmpeg获取比较慢,需要等待很长时间,无法像微信那样进入视频编辑页面就可以直接浏览视频每秒的缩略图
利用ffmpeg获取视频每秒缩略图(每秒输出一个图像)
ffmpeg -i input.flv -vf fps=1 out%d.png
获取的时间较长,反编译微信发现微信里面也是利用ffmpeg,是否有更快速的命令获取?
也尝试过使用MediaMetadataRetriever.getFrameAtTime获取,获取时间更加漫长
大佬求教!!!
问题解答
回答1:ffmpeg支持同时输出多种格式,可以一边录像一边输出截图,比如 ffmpeg -i /path/to/stream/file -f rawvideo -pix_fmt nv21 -s 640x480 -r 15 video.mp4 -vf fps=1 out%d.png,其中 /path/to/stream/file 是Java方面创建的文件,把从摄像机获取的视频数据写进这个文件让ffmpeg读取。-f rawvideo -pix_fmt nv21 -s 640x480 -r 15都是配置视频的参数。
标签:
java
相关文章:
1. 为什么要使用javascript函数包装器(添加在coffeescript中)“。call(this)”2. docker网络端口映射,没有方便点的操作方法么?3. css3 - div中的div无法控制高度?我想控制右边几个蓝色div的高度4. angular.js - $emit(,)的具体意思是什么作用呢?5. docker-compose 为何找不到配置文件?6. MySQL的SELECT...FOR UPDATE究竟起什么作用7. javascript - vue使用keep-alive不能保持滚动位置问题。8. javascript - 在vuejs中如何根据变量去引用不同的css样式呢9. javascript - 一个字符串转换成数字,例子就是a="2,322.222",b=’1,211.21’,如何在angualr中执行相减10. python - Fiddler+Android模拟器抓取app,json数据被加密了,如何解析?
排行榜

网公网安备