问题标签 [slowmotion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
517 浏览

ios - 48 fps 导致 activeVideoMinFrameDuration 更新上的信号

您好我正在使用 PBJVision 做一些视频处理 iOS。当设置为双倍默认帧速率 24 fps -> 48 fps。我收到以下错误:

这是发生错误的 PBJVision 的方法。我突出显示了错误所在的行。请注意,该方法supportsVideoFrameRate:返回 true。

这是supportsVideoFrameRate:方法

有人有什么想法吗?

0 投票
1 回答
1810 浏览

iphone - 在 Swift 中设置高帧率录制

我正在尝试创建一个应用程序来以 120fps 的速度录制视频,但我遇到了麻烦。

首先,什么时候print(device.activeFormat),我在日志中得到这个

但我的设备是支持 120fps 的 iPhone 5s,不知道为什么这里的范围是 2-30fps。

其次,当我device.activeVideoMaxFrameDuration = CMTimeMake(1, 120)将最大帧速率更改为 120 fps 时,我在日志中收到此错误:

我究竟做错了什么?

谢谢!

0 投票
2 回答
2465 浏览

android - 在 Android 上使用 MediaCodec 录制慢动作视频

我正在使用 Android 相机实现视频录制。我使用MediaCodec对来自 onPreviewFrame() 回调的帧进行编码。

现在我想录制慢动作视频。如何设置相机捕获率或帧率?我可以在哪里设置这些参数,例如,如果我想以 120 fps 录制并以 30 fps 播放?

以下是我研究过的:

我用 MOTO X(内置慢动作视频录制功能)录制了一段慢动作视频,并使用FFmpeg来检查它的 fps。我发现它以 110 fps(接近 120 fps)的速度录制并以 30 fps 的速度播放。这证明它为高帧率录制提供了硬件支持。

但是,当我使用getSupportedPreviewFpsRange检查其支持的 fps 范围时,只有 4 套支持的 fps 范围,没有一个大于 30fps:

min_fps: 15.0 , max_fps15.0

min_fps: 15.0 , max_fps20.0

min_fps: 15.0 , max_fps30.0

min_fps: 24.0 , max_fps30.0

我使用setPreviewFpsRange将 fps 设置得更高,但仍然不超过 30fps。我还尝试了设置MediaFormat的 KEY_FRAME_RATE 和 KEY_CAPTURE_RATE 。但它仍然不起作用。

我还通过使用 MediaRecorder 设置 CamcorderProfile 或 setVideoFrameRate 来搜索解决方案。但我正在使用 MediaCodec。

谁能帮我解决这个问题?

0 投票
0 回答
301 浏览

android - 慢动作相机预览android

似乎大多数 Android 设备,即使它们支持慢动作录制,也不会通过官方 API 公开这些设置。

在较新的三星手机上,您可以通过 CameraParameter 启用慢动作预览

如何支持所有其他供应商?

0 投票
1 回答
591 浏览

ios - 使用 SpriteKit 进行慢动作

我正在尝试在我的游戏中实现慢动作效果。到目前为止,我正在使用物理世界速度属性

而且效果很好。

但是我遇到的问题是,在我的场景中,某些其他节点使用物理体来执行诸如用脉冲射击之类的事情。这意味着如果我的玩家进入慢动作,所有其他使用物理体的节点也会减慢。

我可以实现相同的效果,但使其仅适用于我的播放器吗?

我一直在玩玩家的速度和速度属性,但似乎无法获得与减慢物理世界相同的效果。

请问有人有什么建议吗?

0 投票
1 回答
8016 浏览

android - 如何以编程方式在 android 上录制高速视频 (60-120fps)

我有一段代码可以使用 android 相机使用 MediaRecorder 和相机 api 1 以 QUALITY_HIGH 录制视频。

相机代码基于:https ://github.com/Glamdring/EasyCamera

视频录制可能类似于:如何在三星设备 android 上录制特定宽度和高度的视频?

我可以从文档http://developer.android.com/intl/es/reference/android/media/CamcorderProfile.html#QUALITY_HIGH_SPEED_HIGH看到有一个高速视频的配置文件但是......调用这个:

抛出异常说:

“E/MediaProfiles:未找到给定的摄像机配置文件摄像机 0 质量 2000”

调用:

运行但输出视频不是 100fps。

并调用:

抛出异常:

MediaRecorder:setVideoFrameRate 失败:-22

我可以使用内置的相机应用程序录制“慢动作视频”,该视频将以 120fps 的速度生成 mp4,因此我很确定该设备可以录制高速视频,但似乎缺少一些东西。

0 投票
1 回答
632 浏览

c# - 录制慢动作视频

我们有一个摄像头,可以记录高 FPS 率 - 163 的视频。

要在 C# 中从相机捕获,我们使用 AForge.Video 库。捕获工作正常。

为了将视频保存到文件,我们使用 AForge.Video.FFMPEG.VideoFileWriter 如下:

我们想要弄清楚的是如何使用 VideoFileWriter 来制作慢动作视频。

假设我们必须对视频文件输出的帧速率做一些事情?如果是这样,我们应该将帧速率设置为多少?如果不是,那么获得慢动作输出的正确方法是什么?

谢谢!

0 投票
1 回答
1562 浏览

android - Android 使用 CamcorderProfile 捕捉慢动作视频

我正在尝试在我的 Nexus 5x 上捕捉慢动作视频。这就是我配置媒体记录器的方式:

问题是,捕获的视频不是我的设备支持的 120 fps 慢动作视频。它们是常规的 29 fps 视频。

我经历了这个答案,它在官方文档中谈到了以下内容:

对于下面定义的所有高速配置文件((从 QUALITY_HIGH_SPEED_LOW 到 QUALITY_HIGH_SPEED_2160P),它们与普通录制配置文件相似,只是具有更高的输出帧率和比特率。因此,使用 setProfile(CamcorderProfile) 设置这些配置文件而不指定任何其他编码参数将产生高速视频而不是具有不同捕获和输出(播放)帧速率的慢动作视频。 要录制慢动作视频,应用程序必须通过 setVideoFrameRate(int) 和 setVideoEncodingBitRate 适当地设置视频输出(播放)帧速率和比特率(int) 基于慢动作因子。如果应用程序打算使用 MediaCodec 编码器进行视频录制,它必须根据此 CamcorderProfile 类似地设置 MediaFormat 的每个单独字段。

我不明白的是,setProfile已经调用了两个方法 setVideoFrameRate 和 setVideoEncodingBitRate,其参数源自所选的 CamcorderProfile。为什么我需要再次打电话给他们?我在这里想念什么?

任何帮助将不胜感激。为了我的一生,我无法让它工作!

编辑:我尝试过调用这样的方法,但它仍然可以捕获正常速度的视频:

1/4,因为 CamcorderProfile.QUALITY_HIGH_SPEED_HIGH 的广告帧速率为 120,我想捕捉 30 fps 的视频,如此处文档中所述

公共 int videoFrameRate

在 API 级别 8 中添加 目标视频帧速率(以每秒帧数为单位)。

如果应用程序通过 setProfile(CamcorderProfile) 配置视频录制而不指定任何其他 MediaRecorder 编码参数,则这是每秒目标录制视频输出帧速率。例如,对于高速质量配置文件(从 QUALITY_HIGH_SPEED_LOW 到 QUALITY_HIGH_SPEED_2160P),这是录制和播放视频的帧速率。如果应用程序打算创建具有高速质量配置文件的慢动作用例,它必须通过 setVideoFrameRate(int) 设置与所需输出(播放)帧速率相对应的不同视频帧速率。例如,如果 QUALITY_HIGH_SPEED_720P 在 CamcorderProfile 中宣传 240fps 的 videoFrameRate,并且应用程序打算创建 1/8 因子慢动作录制视频,则应用程序必须通过 setVideoFrameRate(int) 设置 30fps。否则将导致以正常速度播放帧速率(以上示例为 240fps)的高速视频。如果应用程序打算使用 MediaCodec 编码器进行视频录制,它必须根据此 CamcorderProfile 类似地设置 MediaFormat 的每个单独字段。

0 投票
0 回答
307 浏览

ios - 从相机播放慢动作视频会使其失去慢动作效果

所以,我有一个自定义选择器控制器,我可以在其中选择视频并播放它们。之前,我一直在努力播放慢动作视频(只播放非慢动作视频),但经过搜索,我在这里找到了解决方案。

如何使用 PhotoKit 访问慢动作视频的 NSData/NSURL

现在,慢动作视频正在播放,但以正常方式而不是慢动作方式播放。这个问题与问题有关。

https://devforums.apple.com/message/903937#903937

我看到很多评论说他们通过使用照片框架解决了这个问题,但我不知道如何实现这一点,他们也没有解释。可能需要做 PHAssetMediaSubtypeVideoHighFrameRate。那么,怎么可能播放慢动作视频呢?我需要以某种方式更改fps吗?

0 投票
1 回答
1847 浏览

android - android项目中视频中特定帧的速度慢

我需要实现一个应用程序,其中视频正在视频视图中显示。用户从视频中选择特定范围的帧,并且帧速度减慢。基本上我已经完成了显示视频帧,用户也可以选择一组帧。接下来不知道如何降低所选帧的音频和视频速度。