文章详情页
java - Android如何快速获取视频每秒缩略图
浏览:180日期: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. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?2. java - Spring Boot中@EnableAutoConfiguration和@ComponengScan有什么区别?3. android 使用 glide 加载gif 的时候图片显示问题4. javascript - 安装cnpm一直出错5. ubuntu 远程管理KVM设置问题6. docker api 开发的端口怎么获取?7. angular.js - angularjs的自定义过滤器如何给文字加颜色?8. Java 中各种空(""、u0000、null)的区别?9. docker-compose中volumes的问题10. 什么是前后端分离?用vue angular等js框架就能实现前后分离了吗?
排行榜

网公网安备