我对Java编程语言非常陌生,我想知道如果我要收集传感器数据以及视频录制,是否可以保存这两组数据并同时打开这两组数据进行查看。
我正在收集压力数据和引起压力变化的视频录制。我希望在收集数据时显示数据图表和视频。我想知道是否有可能保存这两组数据,然后能够重新打开这两组数据并将它们并排放置以便查看压力何时增加,并直观地看到是什么导致了压力增加。
我在寻找类似的东西,然后我发现了这个:
https://github.com/e-lab/VideoSensors
一款可以同时记录安卓智能手机视频和运动数据的应用程序。该应用程序允许您选择视频质量和数据保存速率。它可用于同时记录视频、加速度计、陀螺仪、指南针和GPS数据。是的,这是可能的。 您需要在一个线程中进行视频捕获,并在另一个线程中记录数据(保存传感器和时间戳)。 请记住,一旦您成功存储了来自两个流的数据,您将需要在它们之间进行一些同步。 通过某些预处理,您将需要检索与每个视频帧时间相对应的已记录数据。 完成此操作后,您可以播放视频以及与其同时收集的同步传感器数据。
如果您将捕获的传感器数据调制成音频信号,那么可能可以将其保存为视频录制文件本身的音轨,或保存到单独的音频格式文件中。
这将确保即使稍后处理视频,也能保持同步。只要音轨存在,数据就可以在任何未来时刻进行解调和解码。
数据可以以可听频率(例如旧模拟计算机调制解调器)进行调制,可以在播放期间听到,也可以以更高或更低的频率进行调制(例如,使数据可以与其他音频共存 - 如果没有其他音频,则可以在任何设备上播放视频,而无需首先剥离调制的数据,此时视频会显得静音)。
或者,您可以将数据存储到标准字幕格式(例如“.srt”)中,而不是保存为音频。这可能更容易以Java平台无关的方式完成。播放视频时,您记录的数据可以选择直接显示为字幕,覆盖在视频上方(使用常见播放器,如VLC),而不一定需要任何后期处理。
当视频录制开始时,将开始时间存储在一个变量中。每次想要记录新的数据片段时,从当前时间减去存储的“开始时间”(得到“从录制开始经过的时间”),您将拥有所有必要的数据来保持这样一个纯文本字幕数据文件。如果您将所有这些数据点及其相应的相对/经过时间保存在一个数组中,您可以等到视频录制完成后再创建纯文本字幕文件。它不是完全安全的,但实现可能更简单。