Android相机延时摄影是如何实现的

Android相机延时摄影是如何实现的

关于Android相机的一些高阶能力,在前面的文章中我们聊到了如何拍摄RAW图,depth图和实现录制慢动作

Android 手机如何拍摄RAW图

使用Camera2获取depth图像

Android手机如何实现慢动作录制

本篇文章我们来简单聊聊如何实现延时摄影这个功能

什么是延时摄影

延时摄影又叫缩时摄影(Time-lapse)、间隔摄影或者定时定格摄影,是一种将画面拍摄频率设定在远低于一般观看连续画面所需要频率的摄影技术。

简单说就是以更小的帧率录制,常规视频帧率(24fps或30fps)进行播放,这样就达到了将几分钟甚至几天压缩在一个较短时间的效果(细心的同学可以发现延时摄影和慢动作刚好相反)

(延时摄影效果,素材来自网络,侵删~)

Android中实现延时摄影

参考手机系统相机,延时摄影为10X的效果

(录制到第10s时,视频文件才1s)

抓取延时摄影模式下的配置参数,标红的两个参数就是实现延时摄影的关键

代码语言:javascript代码运行次数:0运行复制mime = "video/hevc"

width = 1920

height = 1080

stride = 1920

slice-height = 1080

color-format = 2130708361

time-lapse-fps = 3.000000

bitrate = 10000000

bitrate-mode = 1

frame-rate = 30

i-frame-interval = 1实现录制延时摄影10X的效果,我们需要设置3个fps

相机帧率,常规设置即可frame-rate:30time-lapse-fps:frame-rate / 10 = 3.0frame-rate和time-lapse-fps的设置通过MediaRecorder提供的接口实现

setVideoFrameRate设置frame-rate

setCaptureRate设置time-lapse-fps

从文档注释中可以看到,延时摄影和慢动作模式一样,都是只有视频流而没有音频

setCaptureRate内部设置的两个参数

代码语言:javascript代码运行次数:0运行复制public void setCaptureRate(double fps) {

setParameter("time-lapse-enable=1");

setParameter("time-lapse-fps=" + fps);

}~~END~~

相关推荐

astroneer怎么联机
365体育竞彩足球

astroneer怎么联机

📅 08-14 👁️ 614
「云丁品牌」云丁是哪个国家的品牌
365bet体育在线赌博

「云丁品牌」云丁是哪个国家的品牌

📅 07-29 👁️ 5794
现实中的海怪,你可能连它的名字都不会念
365体育竞彩足球

现实中的海怪,你可能连它的名字都不会念

📅 08-13 👁️ 9554