问题描述
- android视频加速播放可选择多少倍速播放
-
请问android视频加速播放是如何实现的!例如以1.5倍速播放视频。求教原理
解决方案
视频是由连续的帧形成的,一个帧对应一个画面,就像胶片电影。通过每秒切换多少帧形成连续的画面,当切换速度大于眼睛所能接受的速度时(貌似人眼每秒能接受24帧),那么我们就无法察觉这些变化了,我们大脑所接受的图像便是一段视频图像。这便是帧率。假如一个视频的默认帧率为60帧每秒,当我们在播放时采用120帧每秒的帧速率。那么我们看到的视频就以原来的2倍速度播放。声音也是如此。硬件是有运算极限的,当速率过大时,如果没有设置帧同步的情况下,硬件会忽略一些帧,如果设置了帧同步,那么硬件可能无法达到我们所设置的速率。
上面是通过gpu运算
另外一种通过cpu来控制,视频是有一定长度的,那么自然我们能通过控制时间线来控制播放速度,这样gpu只需要知道要绘制哪一帧就行了,但是这给cpu带来了承重的负担,他需要不断的读取文件,而且形成的画面也不再是连续的,通常这种方法是不可取的。
更多信息可以查询计算机图形,动画等资料
解决方案二:
这个应该是底层的音频解码的问题了
时间: 2024-09-17 04:50:32