问题标签 [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 回答
133 浏览

java - 找到 IPCM 宏块

我尝试将视频加载到 Vectorpublish 文档中。

到目前为止,一切正常。但是在第 150 帧,视频(大约 56.2 Gibibyte 的巨大 mp4 文件)解码器中断。

这是代码。

这是日志:

0 投票
0 回答
122 浏览

android - 使用 jcodec 旋转 mp4

有没有办法使用 Jcodec 旋转 mp4 文件?我可以使用 Jcodec 添加/编辑元数据,但找不到更改视频旋转的方法。例如,如果 mp4 文件是纵向的,我想将方向更改为横向。

下面是使用 Jcodec 将专辑封面添加到 MP4 文件的代码。

同样,我希望更改 MP4 文件的旋转。

我尝试使用此链接中的 tagid 更改旋转,但无法做到。

谢谢拉维

0 投票
1 回答
2055 浏览

java - 在 Java 8 中通过序列 PNG 图像生成 MP4 视频文件

在测试了网络上找到的几个适用于 Windows 10 的工具后,我很难找到一个可以依次携带大约 5,000 张 PNG 图像并将其转换为以我想要的速度传输的视频的工具。我在看似简单的事情上浪费了很多时间。

已知的 ffmpeg 将是一个不错的选择,但它在我的 Windows 10 上不起作用(权限被拒绝)。我测试了很多免费软件,但大多数都突然崩溃或关闭。

在其他人可以在这里提出一个好的解决方案(最好是免费的)之前,我将在下面发布我的答案,并使用基于 Java 8 本身构建的解决方案。

0 投票
1 回答
1625 浏览

video - Android Studio:逐帧从 res/raw/ 目录中读取 .mp4

对于我的应用程序,我需要将位于我的 res/raw/ 目录中的视频文件的单个图像加载到图像列表/数组中。从这个图像列表/数组中,我需要选择一些不合适的内容,这些内容将存储到一个新的视频文件中,该文件也位于 res/raw/目录中。

问题是我无法找到我的视频的路径。如果我尝试使用:

文件 f = new Flie("app/res/raw/test.mp4");

我得到错误:找不到文件。

我尝试使用 Uri 像:

字符串视频路径="android.resource://" + getPackageName()+ R.raw.test; 文件 f = new Flie(videopath.toString());

但这也不起作用。

这是我需要的伪代码:

0 投票
0 回答
76 浏览

java - 我需要使用 jcodec 从视频中保存一帧(我使用 Libgdx),但该帧未保存在 android 上

我需要使用 jcodec 从视频中保存一帧(我使用 Libgdx),但该帧未保存在 android 上

0 投票
0 回答
1519 浏览

java - JCodec 简单 H264 编码/解码

好的,所以试图让我了解 jcodec。基本上,我想将屏幕上的内容记录为 BufferedImages,将缓冲图像编码为 H264 帧,然后对其进行解码并将它们转换回缓冲图像。

这是我的代码,ScreenRecorder 类扩展了线程,基本上在一个真正的循环中捕获屏幕。那部分有效。然后,似乎将 ScreenRecorder 中的 BufferedImage 编码为 H264 帧也可以,但是当我尝试对其进行解码时,我得到了 AIOBE

产生:

只是想弄清楚 jcodec 是如何工作的。关于我做错了什么的任何想法?任何帮助,将不胜感激

0 投票
0 回答
383 浏览

java - 如何使用 JCodec 对 Java 视频进行实时编码?

简而言之,我的问题是:用 JCodec 进行编码的最快格式是哪种,同时又不会损失太多质量(例如颜色失真)?

可以在此问题描述中的视频中找到我所说的“损坏的颜色”的示例。

这里的其余部分是我考虑的上下文信息以及我尝试过的内容:

我正在用 Java 创建一个屏幕录像机。我已经解决了 s 超过 10 FPS的问题BufferedImage(至少在 Windows 上。Xorg 不是很合作),但是编码速度不够快,无法跟上。我的解决方案包含一个生产者、广告消费者和一个BlockingQueue用于传输帧的线程。

我需要它能够编码至少 15 FPS 全高清,但越多越好。

我可能需要在第一次编码后重新编码,但现在,我只想存储帧而不损失太多质量,并至少节省一些位。

我正在考虑PRORES,因为其他格式似乎不能很好地发挥作用(大多数只是不写任何东西,而且 h.264 会破坏颜色),但这是一个可行的选择吗?

也欢迎使用其他存储大量BufferedImage对象的方法,但我更喜欢直接编码而不是视频。(我正在考虑将PNGs 或BMPs 枚举到一个 zip 中,但我还没有意识到它。)

0 投票
0 回答
242 浏览

java-8 - 通过 JCodec 或类似方法将 Java 8 BufferedImages 转换为 MP4

这里是 Java 8。当我提到JCodec 时,我愿意接受任何可行的解决方案!


JCodec README中,他们提供了一个不错的示例,说明如何将列表BufferedImages转换为磁盘上的 MP4,如下所示:

/tmp/output.mp4我不想写入磁盘上的文件系统资源(例如“ ”),而是写入(完全符合 MP4 标准的)内存缓冲区,理想情况下是 abyte[]或将转换为byte[].

这可能与 JCodec (可能是内部NIOUtils或类似的东西)有关吗?

0 投票
0 回答
66 浏览

java - 如何避免 JCodec 制作的视频闪烁

我通过 JCodec 应用以下代码创建了一个视频。但它在闪烁。我试图将 fps 从 24 更改为 30 和 60,但仍然有闪烁的副作用。我用不同的源图形格式 png 和 jpg 进行了验证。尤其是当源图像的背景较暗时会出现副作用。

JCodec代码:

0 投票
0 回答
242 浏览

java - 如何将 h264 byte[] 解码为 BufferedImage [Java]

我正在接收byte[]视频流的每一帧,并希望使用 JCodec 库将其解码为 BufferedImage。
这是我的代码:

但这是我调用 decode() 方法时收到的错误消息:

有没有人看到我正在犯的错误或有其他想法来实现我的目标?

帮助表示赞赏。

nvplus