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

什么是延时摄影
延时摄影又叫缩时摄影(Time-lapse)、间隔摄影或者定时定格摄影,是一种将画面拍摄频率设定在远低于一般观看连续画面所需要频率的摄影技术。简单说就是以更小的帧率录制,常规视频帧率(24fps或30fps)进行播放,这样就达到了将几分钟甚至几天压缩在一个较短时间的效果(细心的同学可以发现延时摄影和慢动作刚好相反)

Android中实现延时摄影
参考手机系统相机,延时摄影为10X的效果图片(录制到第10s时,视频文件才1s)抓取延时摄影模式下的配置参数,标红的两个参数就是实现延时摄影的关键

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:30
  • time-lapse-fps:frame-rate / 10 = 3.0

frame-rate和time-lapse-fps的设置通过MediaRecorder提供的接口实现

setVideoFrameRate设置frame-rate

图片

setCaptureRate设置time-lapse-fps图片从文档注释中可以看到,延时摄影和慢动作模式一样,都是只有视频流而没有音频setCaptureRate内部设置的两个参数

public void setCaptureRate(double fps) {
    setParameter("time-lapse-enable=1");
    setParameter("time-lapse-fps=" + fps);
}

作者:雪月清,公众号:雪月清的随笔

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(1)

相关推荐

发表回复

登录后才能评论