python - 使用 libav* 将每帧的时间戳编码和解码到 mp4
问题描述
我正在编写一个用于录制和播放视频的程序,以及另一个连接到我们销售的硬件的程序。这个其他程序从硬件收集数据,其中包含以固定采样率的“时间戳”计数器。
我正在寻找一种将这些时间戳(原始或转换为 unix)编码到输出的 mp4 文件中的方法。主要原因是视频流可能仅在硬件采集几分钟后才开始保存
记录:
timestamp
Main program ---------------> Video program
| |
| |
v v
Save hardware data Save frame data
and timestamp and timestamp
| |
| |
v v
Custom data format .mp4 file
后处理分析:
for i in range(0,datalen):
hardwareData, timestamp = readHardwareFile()
frame, timestamp = readMP4()
myData[timestamp].hardware = hardwareData
mydata[timestamp].video = frame
analyze(myData)
目标是当我想在 VLC 或 OpenCV 中播放时,我可以访问每一帧的时间戳。
我目前将它保存为带有时间戳和帧#的单独文本文件,但我想知道是否有更标准化的方法来执行此操作。
解决方案
推荐阅读
- azure - 注册 DPM 时收到 TCP 错误代码 10061:无法建立连接,因为目标机器主动拒绝它 127.0.0.1:6049
- elixir - Phoenix Live View Routes 可以指定一个 http 动词吗?
- python-3.x - TypeError:将列表转换为元组作为返回值时,“元组”对象不可调用
- tsql - TSQL - 选择具有相同 IS 的值
- dataframe - 如果组存在于数据框中使用 groupby.getgroup
- typescript - 如何在 TypeScript 的树状类型定义的所有级别中添加相同的属性?
- java - 为什么 Java 中的断言充当“缺少的返回语句”而 throw 语句却没有?
- shell - 使用相同矩阵配置运行的 Github Actions 作业
- php - Magento 1.9 的捆绑产品缺少产品图像
- python - 将新行追加到 DF