我正在努力使用expo-av
制作一个逐帧视频播放器。
这就是我实际做的:
- 使用
ffmpeg-kit-react-native
(FFprobeKit.getMediaInformation(src)
)解析视频信息 - 手动计算帧长
- 当按下“下一帧”按钮时,我用
video.setPositionAsync(position + frameRateLength, { toleranceMillisBefore: 0, toleranceMillisAfter: 0 })
更新视频位置
虽然这对于大多数30fps的视频来说是可以的,但当以高帧率阅读从iPhone拍摄的视频时,它实际上非常有缺陷。我认为这是因为它们的帧率是可变的。
能够正确解析高帧率实际上是我希望我的应用程序做的,所以我有一种方法来解决这个问题使用expo-av
或其他视频库的React Native?
1条答案
按热度按时间6jjcrrmo1#
也许你可以尝试使用
expo-video-thumbnails
而不是使用ffmpeg来生成缩略图,有一种方法可以让你在特定的时间以毫秒为单位提取缩略图,所以它非常精确,然后你可以将缩略图显示为图片,而不是使用AV播放器。例如,如果您希望每16ms(约60fps)一帧