gpt4 book ai didi

java - 在 Java Swing 中渲染高清视频?太慢了?

转载 作者:行者123 更新时间:2023-12-04 06:39:54 24 4
gpt4 key购买 nike

我想为我的 Java Swing 应用程序启用高清视频播放,但我担心可伸缩性和明显缺乏直接屏幕写入访问权限。我有一个本地 C++ 库,它将进行编码和解码 (h.264) 我将通过 JNI 访问这个库,它将返回一个 int[],我将在屏幕上呈现。

到目前为止,通过 JNI 的编码/解码性能非常好。但是,我担心渲染开销。我想同时打开多个视频渲染,所以我想确保我以最有效的方式做事。

这是使用 Java/Swing 呈现视频的最有效方式吗?有什么方法可以直接写到屏幕上而不必通过 Java 绘图系统?

这就是我的代码的样子:
`
公共(public)类 VideoDisplay 扩展 JLabel {

BufferedImage m_bufferedImage = null;


public VideoDisplay(Dimension frameSize) {
// If there is nothing to show, make sure the widget is black.
setBackground(Color.black);

m_bufferedImage = new BufferedImage(frameSize.width, frameSize.height,
BufferedImage.TYPE_INT_ARGB);

ImageIcon frameIcon = new ImageIcon(m_bufferedImage);
setIcon(frameIcon );

}

public void displayNewFrame(int[] newPixels, Dimension imageSize) {
m_bufferedImage.setRGB(0, 0, imageSize.width, imageSize.height,
newPixels, 0, imageSize.width);
repaint();

}

}`

现在我以 24FPS 显示 720p 视频的开销似乎是 Core2 Quad 6600 CPU 上 CPU 的 6% 左右。

有没有更快的方法来做到这一点?

最佳答案

DJ Native Swing 项目有一个可以嵌入到 Swing 中的 win32 媒体播放器和 VLC 播放器:http://djproject.sourceforge.net/ns

关于java - 在 Java Swing 中渲染高清视频?太慢了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com