Aka*_*ore 5 video camera android photo frame
我录制的视频时间有限.现在我想获取所有视频帧.我使用下面的代码,并使用它,我能够得到帧,但我没有得到所有的视频帧.重复3到4帧然后我有一个不同的帧.但是众所周知,我们可以在一秒钟内获得25-30帧来显示流畅的视频.如何获得所有帧.
for (int i = 0; i < 30; i++) {
Bitmap bArray = mediaMetadataRetriever.getFrameAtTime(
1000000 * i,
MediaMetadataRetriever.OPTION_CLOSEST);
savebitmap(bArray, 33333 * i);
}
Run Code Online (Sandbox Code Playgroud)
我不想使用NDK.我得到这个链接不知道应该是什么值"argb8888".我在这里得到错误.任何人都可以解释如何做到这一点. 从Android中的视频图像中获取帧
小智 9
我以前遇到过同样的问题,而Android MediaMetadataRetriever似乎没有适合这项任务,因为它没有很好的精确度.我用了一个"FFmpegMediaMetadataRetriever"在android studio中调用的库:
在模块应用程序下的build.graddle中添加以下行:
compile 'com.github.wseemann:FFmpegMediaMetadataRetriever:1.0.14'
重建您的项目.
使用FFmpegMediaMetadataRetriever该类来获取更高精度的帧:
FFmpegMediaMetadataRetriever med = new FFmpegMediaMetadataRetriever();
med.setDataSource("你的数据源");
在你的循环中你可以使用以下方法抓取框架:
Bitmap bmp = med.getFrameAtTime(i*1000000, FFmpegMediaMetadataRetriever.OPTION_CLOSEST);
Run Code Online (Sandbox Code Playgroud)
小智 2
你需要做:
看来解码视频将是最具挑战性的步骤。人们和公司花了数年时间开发各种视频格式的编解码器(编码器/解码器)。
使用此库JMF for FFMPEG。
| 归档时间: |
|
| 查看次数: |
13841 次 |
| 最近记录: |