问题标签 [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 投票
2 回答
2265 浏览

bufferedimage - JCodec 图片转 BufferedImage

我是 JCodec 的新手,但我正在尝试将 JCodec 图片转换为 BufferedImage。不幸的是,在 JCodec 中这样做的方法已被弃用,除了那些将图片转换为 Picture8Bit 的方法。但是,我还没有找到将图片转换为 Picture8Bit 的 JCodec 方法。

0 投票
0 回答
196 浏览

jcodec - JCodec:FrameGrab8Bit.class 未包含在 JAR 下载中 - 如何添加?

我刚刚下载了最新版本的JCodec:JCodec-0.1.9。但是,我注意到清单不包括FrameGrab8Bit.class. 正如Picture已被弃用和取代的Picture8Bit那样,访问FrameGrab8Bit. 由于该文件不包含在 JAR 中,我想知道如何轻松地将丢失的文件添加到 JAR(我使用的是 Windows 10),或者是否有另一种方法可以将文件添加到项目中。

0 投票
0 回答
937 浏览

java - 使用 Jcodec 在内存中录制和播放 h.264 视频

我正在做一个需要将 h.264 视频写入内存然后从内存中读取的项目。换句话说,使用字节数组而不是文件。我能找到的唯一 java 编码器库是 JCodec。
      我正在使用 JCodec 的 SequenceEncoder8Bit 和 FrameGrab8Bit 类的 0.2.0 版来读取和写入字节数组。我目前得到的错误是

我的代码示例如下:

我查看了代码库,并且对 SequenceEncoder8Bit.finish() 的调用确实将标头写入缓冲区。不知道为什么我无法获取元数据。有谁熟悉这个东西吗?

0 投票
4 回答
3960 浏览

java - 从 Android 中的视频中获取准确的帧

所以我有一个应用程序,用户可以在其中拍摄视频,我想从文件中抓取特定的帧。当我使用该方法MediaMetaDataRetriever.getFrameAtTime()时,它每秒只能提取一帧,但我也想在秒之间抓取帧。我还尝试在我的项目中实现 Jcodec 以获取正确的帧:

FrameGrab.getFrame(new File(videoFileToRetreive.getVideoFile()), currentFrame);,

但是,无论我在 currentFrame 中输入什么数字,图像总是返回视频的第一帧。有没有办法在不使用 ffmpeg 的情况下执行类似的操作?如果有人知道答案,将不胜感激。

0 投票
0 回答
512 浏览

java - 位图 ListArray 到 MP4 使用 JCODEC 真的很慢

我正在使用名为 JCODEC 的库来从位图的 ArrayList 创建 MP4 文件。目前,我正在转换 15 个位图,处理速度非常慢(每个位图 15 秒)。有没有办法让这个过程更有效率?这是代码:

0 投票
1 回答
696 浏览

java - JCODEC 是否支持 MPEG-TS 或 MPEG-PS

我试图能够从 MPEG、MPEG-TS 和 MPEG-PS 文件和实时流(网络/UDP/RTP 流)中挑选出帧(视频和元数据)。我正在考虑使用 JCODEC 来执行此操作,我首先尝试使用 FrameGrab / FrameGrab8Bit 类,但遇到了一个错误,即这些格式“暂时不受支持”。我研究了一些提交,看看我是否可以只使用旧代码,但看起来这两个文件自 2013 / 2015 年以来分别具有“暂时不受支持”的格式。

然后我尝试通过输入以下代码将内容重新插入 FrameGrab8Bit 类......

但我在 parsePacket 函数的 MTSDemuxer.java 类中遇到了包头断言失败:

我发现当我重置可搜索字节通道的位置(即:)时in.setPosition(0),代码使其通过断言,但随后失败videoTrack = (SeekableDemuxerTrack)tstracks.get(0)tstracks.get(0)无法转换为 SeekableDemuxerTrack)

我在浪费时间吗?库中的某个地方是否支持这些格式,而我只是找不到它们?

此外,在查看代码并制作快速测试应用程序之后,您从解复用器中得到的似乎都是视频帧。有没有办法获取与视频帧关联的元数据帧?

作为参考,我使用的测试文件来自:http ://samples.ffmpeg.org/MPEG2/mpegts-klv/

0 投票
2 回答
1310 浏览

android - 如何将音频添加到使用 jcodec 从一组图像创建的视频中

我可以使用 jcodec 从具有以下内容的图像集创建视频,但无法添加音频。

并在 build.gradle

我试过的

使用上述代码创建输出文件,但未添加音轨。帮我为视频添加背景音频。所有建议将不胜感激。

0 投票
1 回答
1873 浏览

java - 我试图使用 jcodec 将图像转换为视频

我试图使用 Jcodec 将一组图像转换为视频,在 youtube 上看到一个运行正常的视频。我做了他们展示的一切。但是代码不起作用。请帮忙。我正在发布视频、我的代码和错误的链接。

视频链接:https ://www.youtube.com/watch?v=NYhnqE3E4CI

爪哇代码:

错误:运行:

线程“主”java.lang.NoSuchMethodError 中的异常:org.jcodec.api.SequenceEncoder.(Lorg/jcodec/common/io/SeekableByteChannel;)V at org.jcodec.api.awt.AWTSequenceEncoder.(AWTSequenceEncoder.java:27 ) 在 org.jcodec.api.awt.AWTSequenceEncoder.createSequenceEncoder(AWTSequenceEncoder.java:23) 在 imagetovideoencoder.ImagetoVideoEncoder.main(ImagetoVideoEncoder.java:30) C:\Users\dell\AppData\Local\NetBeans\Cache\8.2\ executor-snippets\run.xml:53:Java 返回:1 BUILD FAILED(总时间:9 秒)

0 投票
1 回答
572 浏览

android - JCodec 位图到 mp4 - 结果视频中的失真

当我尝试使用 JCodec 将单个位图转换为 10 秒长的视频时 - 有时我会得到一个奇怪的结果,通常是颜色失真 - 或者在结果视频上绘制黑色对角线。这是我使用的代码(我对其进行了调试,并且出现了问题):

这是两个问题的示例(用红色箭头标记):

原图: 在此处输入图像描述

渲染后: 在此处输入图像描述

0 投票
0 回答
320 浏览

android - Android 将 mp3 添加到 mp4 视频或将 mp3 转换为 acc 或 m4a

我有 MP4 (H264) 视频。由jcodec创建。jcodec 不支持不编码 mp3 音频。我想将 mp3 音频添加到我的 mp4 视频中。MP4parser是这种合并的好解决方案,但不支持 mp3 格式。FFmpeg( javacv ) 是一个非常大的原生库,复杂且难以使用。

那么将mp3音频添加到mp4视频的简单方法是什么? (这个问题是重复的,但是遮阳篷很旧并且无法正常工作)