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

android - Android 中 Jcodec 0.1.9 中缺少 getFrame 方法

我正在为我的应用程序使用Jcodec ..

我在我的gradle中添加了这个:

但是,当我尝试按照该页面上的示例进行操作时,Android Studio 无法解析 getFrame() 方法。当我试图查看代码时,根本没有这样的方法。取而代之的是 getNativeFrame。

但从我在stackoverflow 的大多数示例中看到的情况来看,他们正在使用getFrame。

可能出了什么问题?我在这里缺少一些组件吗?gradle依赖不正确吗?你如何为 Android 设置 Jcodec?

0 投票
0 回答
126 浏览

java - 从 java 到 android 的视频流

我正在使用 JCodec + 网络摄像头捕获(https://github.com/sarxos/webcam-capture)。我会从网络摄像头获取图像并直接(编码后)发送到 android。问题是,如果我只发送编码的图像,android 中的 VideoView 就会出错。如果我在发送时使用 SequenceEncoder(来自 JCodec)并使用方法 .finish(我正在创建一个文件),则 VideoView 运行良好。我该如何解决?我尝试的另一个解决方案是创建很多小文件并发送到 Android。它可以工作,但是太慢了。

0 投票
2 回答
2010 浏览

java - 如何在 JAVA 中获取帧数(mp4)?

我正在使用 jcodec 从 mp4 文件中提取帧,并从图像中创建一个新的视频文件。

但是,我很难获得 jcodec 中的总帧数。(而且我查看了 jcodec 源,但我找不到它..)

jcodec 提供这个吗?或者我应该使用其他库吗?

0 投票
1 回答
1836 浏览

android - 使用 JCODEC 将图像编码为视频不起作用

例如,我只对一张图像进行编码以获得输出。以下是我所做的。它不工作,也没有崩溃!

0 投票
0 回答
672 浏览

android - 使用 jcodec 库从图像列表生成 mp4 文件

我正在使用 JCodec 库将位图图像列表转换为 mp4 文件。一切正常,但生成的 mp4 文件正确播放第一张图像,其余图像无法正确渲染。

这是我的编码器代码

请帮助我在哪里犯了错误

0 投票
1 回答
921 浏览

java - 从 mp4 文件中提取旋转元数据

我正在编写的一个软件需要从视频中生成缩略图。iPhone 用户可以以纵向模式录制视频并将其发送给我。当您在 VLC 等视频播放器中打开此类视频时 - 一切正常。问题是当您尝试使用xuggler或之类的工具从此类视频生成静止帧时jCodec- 它们似乎忽略了旋转元数据。我做了一些检查和 cli 工具,例如mediainfo或者ffmpeg实际上可以读取该元信息并将其显示给我。我试图遍历 Stream 属性Xuggler以寻找可能看起来像这样的信息的东西 - 没有运气。

是否有可能使用 jCodec、Xuggler 或 Humble-video 来完成此类任务?如果没有 - 是否有另一个库可以报告此类元信息的存在?

0 投票
0 回答
219 浏览

java - 我以编程方式创建的视频 (JCodec) 无法在浏览器中播放(但它可以在 VLC 上播放)

HTML 文件通过双击打开。播放器屏幕是黑色的,如果我点击播放按钮,它会直接跳到最后。但是,如果我拖动视频播放器的手柄,我可以在屏幕上看到视频中的一些镜头。

这是 HTML 文件:

这是视频生成 Java 代码:

0 投票
1 回答
455 浏览

java - 在android中使用JCodec时出现ArrayIndexOutOfBoundsException

我正在从手机外部存储中的静态图像创建视频。该视频将类似于图像的自动幻灯片放映。我已经为此使用了 JCodec。

下面是我的代码。

我收到 ArrayIndexOutOfBoundsException 错误。以下是logcat

谁能建议我哪里出错了?感觉图片的分辨率有问题。

编辑:我已将 JCodec ( sequenceEncoder) 中的一个方法重写为newSequenceEncoder,以控制视频的每秒帧数。

0 投票
1 回答
393 浏览

java - 通过流式传输视频的某个部分来下载视频文件

一个在线链接会在我的浏览器中返回一个视频,然后进行流式传输。在我的浏览器中,我不需要下载整个视频来可视化它——我可以跳到某个部分,可视化该部分,甚至在结束前停止观看。

我怎样才能从同一个链接开始从特定时间开始流式传输直到另一个特定时间,并且每次将我收到的每一帧都保存到视频文件中?

我知道我需要解码我得到的数据。我也知道我需要以某种方式访问​​视频文件的元数据。但是,我不知道如何在实践中处理它。

我尝试了 JCodec,但找不到如何处理互联网流而不是打开文件。如何正确逐帧流式传输在线视频的各个部分,同时还可以访问诸如总视频长度、分辨率和 FPS 等元数据?

0 投票
0 回答
415 浏览

java - 使用 Robot 的 Java 屏幕截图和通过 Sockets 的流式压缩视频 (JCodec)

我需要一个 Java 应用程序(桌面 - Windows 和 Mac),它需要通过套接字(WebSockets,因为客户端使用浏览器)向其他用户发送桌面屏幕视频。

现在我已经设法做到了:

  • Robot.getImageWritersByFormatName使用(不是那么快,但据我所知没有其他跨平台解决方案)获取屏幕截图
  • 我已经设法设置套接字通信java socket client -> screenshare/socket server -> client(browser)
  • 尝试发送 JPEG 压缩图像,然后在浏览器中渲染它们,在本地网络中它是可以接受的,但是当它接近 wan 时它非常慢(3/4fps 并且流已经 >350kbps)
  • 发现我需要视频压缩(不是像 JPEG 那样的静止图像)、关键帧、iframe 等。我对视频编码/解码没有太多经验
  • 找到 JCodec 库(在我看来,非常好的库,带有纯 Java 编解码器,做得很好,但没有文档)
  • 感谢示例代码,我设法将 BufferedImage 图像序列编码为 h264/mp​​4,但仅将其保存到文件中

我如何想象,如果我可以使用ByteBufferSeekableByteChannel而不是FileChannelWrapper(两者都实现 SeekableByteChannel)并使用ByteBuffer将数据存储在内存中,那么我可以调用channel.read(someOtherByteBuffer)循环并通过套接字发送字节数组,但我得到的数组全是零。

有人知道如何使这项工作吗?欢迎任何其他建议或其他想法如何制作这个应用程序。