我可以从带时间戳的图像创建 VFR 视频吗?

2024-04-23

首先,我对图像制作视频的经验几乎为零。

我拥有的是一组带有 BMP 时间戳的图像,我想从中生成视频。 由于时间戳的间隔不相等,我不能简单地使用从图像创建恒定帧速率视频的软件。

一个可能的解决方案是在固定的时间间隔创建人造图像,但如果我无法制作 VFR 视频,我更愿意将其作为最后的手段。

关于如何实现我想要的有什么建议吗?


您可以结合使用两个工具来执行此操作:ffmpeg 和mp4fpsmod https://github.com/nu774/mp4fpsmod

Step 1就是使用ffmpeg生成恒定帧率文件

ffmpeg -i images%d.bmp -pix_fmt yuv420p ffmpeg-cfr.mp4

Step 2是生成一个如下所示的时间码文件,其中每一行包含一帧的相对时间戳(以毫秒为单位)。

# timecode format v2

0
33
88
100
120
160
200
230
330
347

Step 3就是使用mp4fpsmod生成VFR文件

mp4fpsmod -o vfr.mp4 -t timecodes.txt ffmpeg-cfr.mp4 

该文件按预期播放ffplay但某些玩家可能不会,在这种情况下运行

Step 4使用 FFmpeg 从 VFR 生成 CFR MP4

ffmpeg -i vfr.mp4 final-cfr.mp4

这是一个 CFR 文件,但时间关系按照 VFR 保留,但如果时间码间隔非常不规则,则会进行一些 PTS 调整。这可以通过指定高帧速率来解决-r N

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以从带时间戳的图像创建 VFR 视频吗? 的相关文章

  • 我可以从带时间戳的图像创建 VFR 视频吗?

    首先 我对图像制作视频的经验几乎为零 我拥有的是一组带有 BMP 时间戳的图像 我想从中生成视频 由于时间戳的间隔不相等 我不能简单地使用从图像创建恒定帧速率视频的软件 一个可能的解决方案是在固定的时间间隔创建人造图像 但如果我无法制作 V
  • Firefox:drawImage(视频)失败并显示 NS_ERROR_NOT_AVAILABLE:组件不可用

    尝试打电话drawImage with a video其来源是网络摄像头源似乎在 Firefox 中失败了NS ERROR NOT AVAILABLE Component is not available 我尝试等待视频标签触发的每个事件
  • 如何调试视频解码损坏?

    我刚刚开始为一家新公司工作 我的新角色要求我帮助调试他们通过解码帧接收到的视频损坏 尽管我打算深入研究代码并研究问题的具体细节 但它让我开始思考视频调试的总体情况 由于处理视频对我来说非常陌生 整个过程看起来相当复杂 而且似乎有很多地方可以
  • 当时间戳不属于索引时,如何按时间戳对数据帧进行切片?

    如何使用时间戳来分割我的 pandas 数据帧 我打电话时得到以下价格df30m Timestamp Open High Low Close Volume 0 2016 05 01 19 30 00 449 80 450 13 449 80
  • HTML 5 视频拉伸

    您能让视频 拉伸 到视频元素的宽度和高度吗 显然 默认情况下 视频会按比例缩放并适合视频元素 thanks 我已经使用 object fit fill in CSS 进行了测试 效果很好 video object fit fill 来自 M
  • MySQL from_unixtime 在 2038 年 1 月 19 日之后?

    我们将日期存储为 Unix 时间戳 为了允许用户根据时区设置搜索特定日期 我们在查询中转换该时间戳 以确保搜索 2012 05 03 不会找到上一个 下一个的结果日期取决于用户设置的时区 即如果日期存储为2012 05 03 23 00 U
  • 使用 jQuery 将播放/暂停/结束功能绑定到 HTML5 视频

    我正在尝试绑定play pause and ended使用 jQuery 的事件但有一个问题 当我右键单击视频并选择播放或暂停时 图标会正确更改 当我单击播放按钮时 它会更改为暂停 但如果我单击暂停按钮继续播放视频 它不会更改为再次播放 谁
  • 如何使用ijkplayer库

    我要使用 ijkplayergithub链接 https github com bbcallen ijkplayer 我下载了这个 然后通过 文件 gt 导入 gt 常规 gt 现有项目到工作区 将其导入到 eclipse 中 之后我有三个
  • 在 silverlight 中播放视频?

    如何使用 silverlight 播放视频 Visual Studio 是否内置了视频播放器组件 或者我需要制作一个视频播放器 通常情况下 这取决于您的要求 您可以使用Silverlight自带的媒体元素 msdn信息在这里 http ms
  • 在 FFmpeg 中使用 -filter_complex amerge 时混合流

    我目前遇到 ffmpeg 及其过滤器之一的问题 我正在尝试将视频的 2 个音频流合并为一个 为此我尝试了这个命令 ffmpeg i home maniaplanet Videos ManiaPlanet 2014 08 21 20 09 1
  • C# 从视频文件的一部分中提取帧

    使用 AForge ffmpeg 包装器 您可以使用 VideoFileReader 类从视频中提取帧并将其保存为位图 请参阅以下示例 提取 avi 文件的帧 https stackoverflow com questions 178256
  • 合并来自 ffmpeg 的两个视频

    我想使用 ffmpeg 将两个 mp4 视频组合成一个 mp4 视频 到目前为止我尝试过的是 ffmpeg i input1 mp4 i input2 mp4 output mp4 但是 每次我获取带有第一个输入的视频编解码器的视频而不是另
  • HTML 5

    尽管开放视频标准似乎处于某种危险之中 但它是一个好主意 我看到了一些关于运动跟踪的演示 只是概念验证 但仍然很有趣 现在 我想说像这样的概念really如果能够访问用户的网络摄像头 这将是一种收获 想象一下 双手举在半空中浏览 Flickr
  • 使用快速同步 h264_qsv 编码器时 ffmpeg avcodec_encode_video2 挂起

    当我使用 mpeg4 或 h264 编码器时 我能够使用 ffmpeg 3 1 0 的 API 成功编码图像以生成有效的 AVI 文件 但是 当我使用快速同步编码器 h264 qsv 时 avcodec encode video2 有时会挂
  • ffmpeg通过添加框或边框来扩展(而不是调整大小)视频大小

    假设我有一个特殊分辨率的视频 例如 1280x718 我想将其更改为 1280x720 但我宁愿只在顶部和底部添加一行 而不是将 718 像素垂直插值到 720 所以基本上 我正在寻找一种方法告诉 ffmpeg 创建 1280x720 的输
  • 创建带小数秒的时间戳

    awk可以使用 strftime 函数生成时间戳 例如 awk BEGIN print strftime Y m d H M S 2019 03 26 08 50 42 但我需要一个带有小数秒的时间戳 最好是纳秒 gnu date可以用 N
  • Android 上的 GStreamer

    谁能给我一些关于让 GStreamer 在 Android 上工作的提示 我以前从未使用过它 我想将它与 FFmpeg 一起使用 我已经编译了 FFmpeg 并且在 Android 上运行良好 我只是想使用 GStreamer 来帮助完成一
  • pandas 从日期时间转换为整数时间戳

    考虑 python 中的 pandas 数据框有一个名为time整数类型 我可以将其转换为datetime按照以下说明进行格式化 df time pandas to datetime df time unit s 所以现在该列有如下条目 2
  • Flask 无法播放 html 中的视频

    我有一个 Flask 应用程序 应该在加载页面时播放视频 但它只显示在左上角 并且不会从视频的第一帧开始改变 我已经尝试将其插入 html 代码但它不起作用 extends base html block content
  • 如何将视频转换为base64数据

    我有一个应用程序 可以从相机或图库中获取视频并将其转换为 Base64 数据 并将该数据发送到服务器 但问题是每当我转换 Base64 数据时 videodata 变量中的数据都不是正确的 为此我使用了下面的代码 FileInputStre

随机推荐

  • 如何在变量周围打印双引号?

    例如 我们有 word Some Random Word print word 有没有更好的方法在变量周围打印双引号 Update From Python 3 6 https docs python org 3 whatsnew 3 6 h
  • Oracle 相当于 information_schema.tables

    当我尝试在 Oracle 中执行以下查询时 出现 表或视图不存在 错误 SQL查询 SELECT table type table name FROM information schema tables WHERE table rows g
  • 当一个数字完全整除时,如何在 python 中显示两个小数点?

    目前我正在尝试解决一个问题 我应该将答案打印到小数点后两位不四舍五入 我为此目的使用了以下代码 import math a 1 175 value of a after some division print math floor a 10
  • Java:在 E4X 中解析 XML 的方法?

    我想知道是否有一种方法可以使用 E4X 或类似于 E4X 的方法来解析 XML 这样的框架 库存在吗 Thanks 您可以将 JavaScript 引擎 Rahino 与 Java 一起使用 它可以处理 E4X http blogs ora
  • 在 .NET Core (MS.DI) 中注册具有类型约束的泛型类型

    我有一个通用界面IPipelineBehavior
  • 如何使用 Curl 将文件从另一台服务器上传到另一台服务器?

    如何在 Shell 脚本和 PHP 中使用 Curl 将文件从另一台服务器上传到另一台服务器 我有一个 txt 文件存储在存储 Shell 脚本的服务器中 现在我希望将该 txt 文件上传到另一台服务器的特定文件夹中 2台服务器已经连接 t
  • ASP.NET 数据集与业务对象/ORM

    我正在考虑 ASP NET 应用程序的数据访问 来自一家使用大量带有客户端数据集的 Windows 应用程序的公司 自然而然地倾向于使用数据集方法来处理数据 我更热衷于业务对象方法 并且不喜欢在会话中缓存数据集然后应用更新的想法 有谁有任何
  • 在 MVC 应用程序中显示 jqGrid 页脚行中的数据

    我需要帮助在 jqGrid 页脚行中显示数据 这是我在服务器上的配置 注意用户数据 小时 line Format the data for the jqGrid var jsonData new total totalPages page
  • git config 命令返回:致命:无法读取配置文件'%HOMEDRIVE%%HOMEPATH%/.gitconfig':没有这样的文件或目录

    在我的 Windows 10 机器上 当我运行时 git config global l 它失败并显示消息 致命 无法读取配置文件 HOMEDRIVE HOMEPATH gitconfig 没有这样的文件或目录 两个环境变量看起来都不错 对
  • 用于指示存储库已弃用的 Git 挂钩

    我们有一个存储库 托管在 GitLab 实例上 少数项目仍在引用该存储库 但已被弃用 取而代之的是另一个解决方案 有什么方法可以将存储库标记为 已弃用 吗 理想情况下 每个fetch来自此存储库 作为git submodule update
  • 如果滚动位置为 0,ViewPager2 中的片段不会响应点击

    我很高兴谷歌发布了ViewPager2 https developer android com jetpack androidx releases viewpager2它基于 RecyclerView 构建 解决了旧 ViewPager 存
  • Android WebViewClient url重定向(Android URL加载系统)

    我尝试使用以下方法拦截 webview 请求 ShouldInterceptRequest 里面我用了HttpUrlConnection为了从服务器获取数据 我将其设置为遵循重定向 这对 webviewclient 是透明的 这意味着当我返
  • HTML5 文本画布在文本宽度大于允许的最大宽度时旋转

    朋友们 我发现旋转文本画布对象有点棘手 问题是 我正在绘制一个图形 但有时每个条形的宽度小于该条形的 值 所以我必须将 值 评定为 90 度 在大多数情况下它都会起作用 我正在做以下事情 a function x y text maxWid
  • 何时在 struts2 中使用重定向和链接结果类型

    在我的 struts 2 项目中 当使用重定向操作时 我丢失了所有值 例如操作错误和字段错误 我在网上查了一下 发现有2个选项 链条 这个用得不多 我不知道为什么 MessageStoreInterceptor 这需要放置在每个操作中 那么
  • Python检测关键字

    我正在做的应用程序执行以下操作 1 如果麦克风检测到一些噪音 它就会开始录制音频 直到检测不到噪音 之后 音频被录制到 wav 文件中 2 我必须检测上面的一些文字 只有 5 到 10 个单词需要检测 到目前为止 我的代码只执行第一部分 检
  • 在 GAME 上使用 Spring 3 MVC + Maven 2 找不到映射

    我在尝试将 Spring MVC 和 Maven 集成到 Google AppEngine Web 应用程序中时遇到了一个奇怪的问题 这是我的 web xml
  • 是否可以在不安装的情况下使用 MSBuild 扩展包?

    有没有一种方法可以将 MSBuild 扩展包与 本地 引用一起使用 而不需要运行安装程序 换句话说 您能否将目标存储在解决方案项目文件夹中 以便每个开发人员都不必安装它 你必须申报财产 扩展任务路径 在任务的导入语句之前 例如看一下
  • 如何避免 WCF 中的大量通信类?

    我的理解是 所有合约实现代码都必须位于单个类中 显然 该类可能会变得非常大 我该如何避免这种情况 我真的更喜欢让几个小班来完成与客户沟通的一部分 而不是一个庞大的班级 我能想到的唯一想法是使用由单个类分割实现的多个接口partial 但我认
  • 使用 Django 会话存储登录用户

    我正在创建一个以 REST 为中心的应用程序 它将针对大多数特定于域的模型使用某种 NoSQL 数据存储 对于我打算围绕 REST 数据框架构建的主站点 我仍然希望对用户 计费信息和域数据模型范围之外的其他元数据使用传统的关系数据库 有人告
  • 我可以从带时间戳的图像创建 VFR 视频吗?

    首先 我对图像制作视频的经验几乎为零 我拥有的是一组带有 BMP 时间戳的图像 我想从中生成视频 由于时间戳的间隔不相等 我不能简单地使用从图像创建恒定帧速率视频的软件 一个可能的解决方案是在固定的时间间隔创建人造图像 但如果我无法制作 V