问题标签 [jcodec]

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 回答
1463 浏览

android - Android:Jcodec 帧率和持续时间

我很难在 Jcodec 中获得正确的持续时间和准确的帧速率。

我的情况是我有一个显示一系列位图的应用程序,其中用户可以更改其帧速率,如 1fps、5fps、32fps,我所做的只是 1000/fps。所以 1fps 将每 1 秒显示 1 个位图,2fps: 2bitmap 等等,简而言之,用户是提供帧速率的人。我找到了这个,但我无法得到正确的公式。

还有一件事,关于持续时间。如果我想要 1fps 并且我有 16 个位图怎么办。JCodec 应该产生一个 16 秒的视频。

我怎样才能做到这一点?可以说位图将是动态的。根据我的理解,Jcodec 依赖于硬编码的持续时间。而不是它已编码并转换为 MP4 的帧数。

提前致谢。

0 投票
1 回答
1805 浏览

java - 无法将 JPEG 图像系列编码为 MPEG 视频

0 投票
4 回答
15384 浏览

java - 在 Android 上录制实时 OpenCV 处理

我的目标是做几件事:

  1. 使用 OpenCV 和 JavaCameraView 处理来自手机摄像头的帧
  2. 启用在发生时记录该处理过的视频

我让他们两个都在工作,但是我必须实现 2 号的方式很荒谬:

  1. 对于每一帧,将处理后的 Mat 写入图像文件。
  2. 当录制停止时,使用 JCodec 的 Android 库将它们拼接成一个视频文件。

这行得通,但它有很多缺点:在录制过程中,帧率下降到无法忍受的低水平,每帧的拼接步骤大约需要半秒,并且超过几秒钟的视频内存不足——这就是之后我降低相机的分辨率以确保图像尽可能小。即便如此,视频的帧率也与现实不符,视频看起来速度异常加快。

由于很多原因,这似乎很荒谬,所以我的问题是:有没有更好的方法来做到这一点?

如果有人想运行它,这里有一个小例子。这需要此处提供的 OpenCV Android 项目和此处提供JCodec Android 项目。

清单.xml:

主要活动:

相机视图:

MatVideoWriter:

编辑:我没有收到任何评论或答案,所以我在这里交叉发布到 OpenCV 论坛。

0 投票
2 回答
558 浏览

java - 如何将库添加到处理中?

我想使用来自http://jcodec.org/的 jar 库和处理。我知道有很多关于库的教程,但没有一个足够清楚让我理解。我已经将jcodec-0.1.5.jar 拖放到我的草图窗口中,它创建了一个以"code"文件jcodec-0.1.5.jar命名的文件夹,但是当我想使用

我仍然得到

“构造函数 FrameGrab(file) 未定义。”

我必须进口一些东西吗?如果是这样,我必须在“导入”之后输入什么?任何帮助表示赞赏。谢谢

0 投票
1 回答
1162 浏览

android - Android使用jcodec转换一系列图片需要很长时间

我正在使用 jcodec 库将一系列图像转换为视频,以及诸如淡入淡出/翻转等过渡/动画...

在此转换过程中,我对每个图像使用 SequenceEncoder 类的以下函数。

每一帧,在这个过程中都需要很长时间(大约一分钟)

特别是,以下语句需要很长时间 -

即使将 4 张图像系列转换为带有过渡/动画的视频也至少需要 7 分钟。

需要建议来加快这一进程。

0 投票
1 回答
2410 浏览

java - jcodec 可以将音频添加到 MP4 文件吗?

对于有使用jcodec经验的任何人,我的理解是该库还不能对音频进行编码(但是它可以对其进行解码)。

但是,jcodec 确实有一个PCMMP4MuxerTrack 类,它允许您在编码 MP4 视频时将原始 PCM 数据的样本(字节缓冲区)添加到音轨。这会产生一个带声音的 MP4 视频文件。

我已经成功地将一些虚拟 PCM 音频添加到我导出的 MP4 文件中,并且 VLC 可以正常播放它,所以它似乎可以工作......


但如果这有效,为什么我一直看到人们说 MP4 不支持 PCM 音频(一个来源)?

我很幸运 VLC 可以准确地播放我的 MP4 文件吗?它可能不适用于其他播放器/操作系统吗?

0 投票
1 回答
1388 浏览

java - 复用 MP4 和 AAC(jcodec、MP4Parser)

我有一个用 jcodec 生成的 MP4 文件。

然后我有一个使用 Android 的 MediaCodec 生成的 AAC 文件。

我想将它们混合到一个文件中,因为我不想将我的 Android API 限制得太高,所以我选择了MP4Parser


这是我当前的代码:


代码在该行崩溃:

以此作为堆栈跟踪:

(在这一行的这个函数中发生了崩溃。)


所以我不太确定这意味着什么?jcodec 是否输出与 MP4Parser 不兼容的 MP4 文件(它适用于所有视频播放器)?

我应该研究什么来解决这个问题?

感谢任何建议。


编辑

以错误的方式进行,这有效

0 投票
2 回答
1844 浏览

java - java:包不存在错误仅在构建后

我正在尝试将 JCodec 库添加到我的 android studio 项目中。我按照此处列出的步骤进行操作。我导入这四行:

在我构建我的项目之前,我没有收到任何错误。当我构建项目时,我收到一个错误,即我尝试导入的每个包都不存在。有谁知道问题是什么?

谢谢!

0 投票
1 回答
854 浏览

android - 解码 H.264 NALU 流

我正在尝试从 Android 上 H.264 格式的 videoStream 中获取帧。我有一个接收 (byte[] video, int size) 的回调函数,其中视频由 NALU 数据包组成,'size' int 似乎是视频的大小(我一直在记录它们以及 video.length 和大小似乎是 1024 的大小)。我正在使用这个 jcodec 来尝试解码一个帧:

但是,视频不是整个视频,它是视频的数据包。我应该如何收集这些数据包以便对其进行解码?我如何需要修改代码才能真正获得完整的当前帧?

0 投票
1 回答
154 浏览

android - NIOUtils.readableFileChannel 的 jcodec 权限被拒绝

我正在尝试使用 JCodec 从我的模拟器上的 MP4 获取所有帧。我的清单中有以下权限:

通过我的 adb shell 的文件如下所示:

我试过做一个 chmod 777 Hummingbird.MP4,但这并没有因为某种原因改变最后一组权限?

以下代码产生以下异常。

我还做了一个返回 true 的 fileMp4.exists()。

例外

看到此代码/配置有任何问题吗?