这个需求还是比较广的吧。反正就是参考抖音的实现吧
假设用户选择了90秒的视频。需要生成10张缩略图,平均一张就是9秒。
思路如下:
1.直接用ffmpeg脚本命令:
/**
* ffmpeg -ss 0:0:00 -t 0:1:30 -i okinput.avi -vcodec copy -acodec copy okoutput.avi
//剪切视频
//-r 提取图像的频率,-ss 开始时间,-t 持续时间
*/
当然这里需要Android写对应能运行当前命令的代码
2.直接用ndk编译ffmpeg,
Test.mp4直接用decode 解码为yuv,然后获取每一帧的信息,通过AVFrame进行帧数据的存储保存,通过这个函数直接保存图片帧数据,进行输入av_guess_format()。
目前就这么点思路,等我把代码跑起来在继续整理当前项目。