H264 字节流到图像文件

2024-05-12

第一次来这里所以要温柔。

我已经在给定的 H.264 字节流上工作了几个星期:

一般注意事项:

  1. 字节流不是来自文件,它是从外部源实时提供给我的。
  2. 字节流使用 Android 的媒体编解码器进行编码。
  3. 当将流写入扩展名为.H264的文件时,VLC能够正常播放。

我想实现什么目标?以下之一:

  1. 将 H264 流的帧转换为可保存的图片文件(png/jpeg 等)

  2. 将 H264 原始字节转换为可通过浏览器作为源播放的 MP4 流。

我已经尝试使用JavaCV(FFmpegFrameGrabber)但没有成功,我的主要问题是我不知道如何解析字节流或每个“数据包”的含义

因此,我附加了一个文本文件,其中包含我从流中获取的一些数据包 H264 数据包 https://drive.google.com/open?id=16Yztd36IAzXKwDhhijztlcT8WHBpzKYF


将 H264 流的帧转换为可保存的图片文件(png/jpeg 等)

假设您正在使用ffmpeg命令行工具。

单张图像:

ffmpeg -framerate 25 -i input.h264 -frames:v 1 output.png

时间戳为 01:23:45 的单张图像:

ffmpeg -framerate 24 -i input.h264 -ss 01:23:45 -frames:v 1 output.png

所有图像。将会被命名output_0001.png, output_0002.png, output_0003.png等无需设置-framerate or -frames:v在这种情况下。

ffmpeg -i input.h264 output_%04d.png

See FFmpeg 图像混合器 https://ffmpeg.org/ffmpeg-formats.html#image2-2了解更多信息。

将 H264 原始字节转换为可通过浏览器作为源播放的 MP4 流。

ffmpeg -framerate 24000/1001 -i input.h264 -c copy -movflags +faststart output.mp4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

H264 字节流到图像文件 的相关文章

  • 如何让 BlazeDS 忽略属性?

    我有一个 java 类 它有一个带有 getter 和 setter 的字段 以及第二对 getter 和 setter 它们以另一种方式访问 该字段 public class NullAbleId private static final
  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Spring应用中Eureka健康检查的问题

    我正在开发一个基于 Spring 的应用程序 其中包含多个微服务 我的一个微服务充当尤里卡服务器 到目前为止一切正常 在我所有其他微服务中 用 EnableEurekaClient 我想启用这样的健康检查 应用程序 yml eureka c
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供

随机推荐

  • 使用 ASP.NET 2.0 处理过期会话的最有效方法是什么

    在我们正在建设的网站上 当用户的会话结束时 我们需要能够将用户重定向到默认页面 乍一看 我们使用 Session End 和 Response Redirect 来完成这项工作 Sub Session End ByVal sender As
  • 从三行菜单到十字菜单的动画变换

    我有一个三行动画菜单 当您单击它时 它会切换为十字 首先 您会看到三条线变成一条线 然后切换到十字线 但我想跳过从三行到一行的步骤 我怎样才能做到这一点 这是小提琴http jsfiddle net adyocsm9 http jsfidd
  • 使用ajax发送表单数据

    我想用 ajax 以表单形式发送所有输入 我有一个这样的表单
  • withTransaction 和 withNewTransaction 有什么区别?

    以下动作有什么区别 def someAction User withTransaction and def someAction User withNewTransaction 我什么时候用什么 当 grails 操作仅包含 Transac
  • QDesktopServices::openUrl 在资源管理器中选择指定文件

    在大多数编码程序中 您可以右键单击该项目 然后单击 在资源管理器中显示 它会在资源管理器中显示选定项目的文件 在 Qt 中使用 QDesktopServices 如何做到这一点 或在 QT 中执行此操作的任何方式 您可以使用此方法在 Win
  • npm install 始终使用神器注册表并忽略 .npmrc 文件

    我的 npmrc 文件以前包含registry https company jfrog io如此一来npm install使用了该注册表 现在我想在我的个人项目中使用公共注册表 但即使我删除了 npmrc 文件 甚至在包含公共注册表的项目根
  • JQuery - 使用变量处理多个元素的一个处理程序

    我有两个这样定义的变量 var a a b b 如何使用 a 和 b 重写以下行 a b click function e a get 0 b get 0 click function e
  • Rust 中如何将字符串转换为二进制字符串?

    我有一个字符串 我想将其转换为二进制字符串 let content request version to string request length to string request json 您可能指的是类型中字符串的二进制表示形式St
  • 获取计算机的MAC地址

    我想使用c 访问计算机的mac地址 我使用以下代码来访问 mac 地址 但此代码存在一些问题 Code 1 foreach NetworkInterface nic in NetworkInterface GetAllNetworkInte
  • 在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果

    我目前使用 CollapsingToolbarLayout 遇到的主要问题是 无论我尝试什么 工具栏的 minHeight 属性都没有任何效果 我想要的结果是这样的 CollapsingToolbarLayout 具有一定的展开高度和一定的
  • 在 Tomcat 上部署 Java Web 项目,无需 WAR 或 EAR

    我有一个 Java Web 项目 Struts Spring 在我的本地主机上完美运行 我必须将其部署在我的网站上 但虚拟主机提供的 Tomcat Manager 界面显示 由于安全原因 它无法上传 WAR 文件 当联系技术支持时 我被告知
  • 我可以为CSS写一个循环吗

    我有一个场景 我得到像这样生成的 ID div class containerLength div div div div div div div div div 等等 有没有办法我可以编写一些CSS来通过循环来定位它们 也许像 new i
  • 在 UserClosing 和 this.close 上触发关闭事件

    我有一个表单 上面有一个 LogOutEvent 和一个表单关闭事件 这是代码 private void btnLogOut Click object sender EventArgs e DialogResult yesNo Messag
  • 仅在可能的情况下转换为 E164?

    我能否确定用户输入的电话号码是否可以安全地格式化为 E164 对于德国 这要求用户以本地区号开始输入 例如 123456可能是他所在城市的用户号码 但无法格式化为 E164 因为我们不知道他的本地区号 然后我想保持条目原样 相反 输入089
  • 从核心数据存储创建 .sqlite 文件?

    我在书籍和提供 sqlite 文件下载的网站上看到过教程 sqlite 文件用于核心数据 如何获取 sqlite 文件FROM应用程序或核心数据存储TO我的桌面 如果您要创建一个预填充的 sqlite 文件以与 Core Data 一起使用
  • Python 添加/更新任意深度的 dict 元素

    有一个像这样的字典 my pets Rudolf animal cat legs 4 达到低于同等水平的更清洁的方法是什么 my pets Rudolf legs front right injured True my pets Rudol
  • Webpack将js/css文件内容直接注入到index.html

    我有这样的代码
  • Meteor 抛出 throwIfSelectorIsNotId 异常

    运行某些代码时 Meteor 会抛出 throwIfSelectorIsNotId 异常 我有两个客户端运行相同的代码 当第二个客户端运行相同的代码时会引发异常 无法弄清楚这个异常的含义以及抛出的原因 希望有人能够解释一下 对于客户端上的某
  • WPF:在 DependencyProperty.UnsetValue 上触发

    在回答中这个问题 https stackoverflow com questions 2596847 wpf applying a trigger on binding failure作出以下声明 理论上 可能 触发 x Static De
  • H264 字节流到图像文件

    第一次来这里所以要温柔 我已经在给定的 H 264 字节流上工作了几个星期 一般注意事项 字节流不是来自文件 它是从外部源实时提供给我的 字节流使用 Android 的媒体编解码器进行编码 当将流写入扩展名为 H264的文件时 VLC能够正