我需要用Java简单的视频播放.
这是我的要求:
生产质量
打开并解码视频文件,我可以选择其视频和音频编解码器.IE我可以选择性能良好的编解码器.
能够播放,暂停,搜索ToFrame或seekToTime并停止播放.基本上我希望能够以非线性方式播放单个视频文件的片段.例如,我可能想播放段20.3秒到25.6秒,暂停10秒然后播放段340.3秒到350.5秒等.
在播放过程中,视频和音频必须同步.
视频必须显示在Swing JComponent中.
必须能够在商业产品中使用而无需开源(IE LGPL或Comercial是好的)
我的研究让我得到了以下解决方案:
我已经实现了一个快速原型,这似乎做了我需要的.我可以使用以下方式播放视频片段:
player.setStopTime(new Time(end));
player.setMediaTime(new Time(start));
player.start();
Run Code Online (Sandbox Code Playgroud)
虽然Fobs4JMF似乎有效,但我觉得代码的质量很差,而且项目不再活跃.有谁知道任何使用Fobs4JMF的产品?
与Java不同,Flash在播放视频方面非常出色.我可以用这些方法编写一个小的Flash应用程序:
open(String videoFile),
play(),
pause(),
seek(int duration),
stop()
Run Code Online (Sandbox Code Playgroud)
然后使用JFlashPlayer将其带入Java,JFlashPlayer可以从Java调用Flash函数.
我喜欢这个解决方案是Flash中的视频播放应该坚如磐石.有人用JFlashPlayer在Java中播放视频吗?
Xuggler是一个用于Java的FFMpeg包装器,它似乎是一个非常活跃和高质量的项目.然而,实现要求中描述的简单视频回放并非易事(特别是寻求),但是一些工作已经在MediaTools MediaViewer中完成,它将成为构建的基础.
我试图让FMJ工作,但到目前为止还没有成功.
我很感激你对我的问题的看法.
我正在使用Mjsip来创建一个软电话.在代码中有三种类型的音频分层选项.
我没有使用RAT.它的价值被我自己弄错了.这是调用JMF的代码:
public JMFAudioLauncher(int local_port, String remote_addr, int remote_port, int direction, Log logger)
{
log=logger;
localport=local_port;
remoteport=remote_port;
remoteaddr=remote_addr;
// Patch for working with JMF with local streams
if (remote_addr.startsWith("127."))
{
printLog("Patch for JMF: replaced local destination address "+remote_addr+" with 255.255.255.255");
remote_addr="255.255.255.255";
}
dir=direction;
if (dir>=0) sender=new JMediaSender("audio",null,remote_addr,remote_port);
if (dir<=0) receiver=new JMediaReceiver("audio",local_port,null);
}
/** Starts media application */
public boolean startMedia()
{
printLog("launching JMF-Audio...");
String err1=null, err2=null;
if (sender!=null) err1=sender.start();
if (err1!=null) printLog("Error trying to send …Run Code Online (Sandbox Code Playgroud) 我需要在Linux环境下使用Java代码播放MP3文件(Ubuntu 11.04).
我试图从http://www.oracle.com/technetwork/java/javase/download-137625.html下载MP3plugin.jar文件,但我在列表中看不到它.
注意:"我下载了sun Java Media Framework"
我需要在我的网络应用程序中添加实时网络摄像头视频流设备,其中多个客户端可以看到实时视频.它几乎就像一个虚拟教室,老师将现场教学,学生将观看.我如何用java播放实时视频.我有决定使用spring框架进行应用.许多人似乎建议使用xuggler或JMF,但我还没有找到任何有用的例子.任何人都可以建议使用哪个库和用于此目的的示例?提前致谢.
我正在研究的视频会议项目使用JMF来捕获视频和音频,并将其传输到另一个端点.问题是我的团队不希望产品的用户必须安装JMF.
我认为分享我们对这个问题的解决方案可能是值得的.有用.它运作良好.我的问题是:有没有人有更好的方法呢?
环境:Windows,XP及以上版本
将其安装在您的机器上
dll在jmf installs之后,在system32文件夹中找到以下内容:
jmacm.dll
jmam.dll
jmcvid.dll
jmdaud.dll
jmdaudc.dll
jmddraw.dll
jmfjawt.dll
jmg723.dll
jmgdi.dll
jmgsm.dll
jmh261.dll
jmh263enc.dll
jmjpeg.dll
jmmci.dll
jmmpa.dll
jmmpegv.dll
jmutil. dll
jmvcm.dll
jmvfw.dll
jmvh263.dll
jsound.dll
将dlls 复制到临时文件夹中
jmf.properties文件(在您的计算机上搜索它)JMFinit.java
JMRPropertiesGen.java
Registry.java
RegistryGen.java
JMFNoInstall
package JMFNoInstall;
// add your imports and whatnot here
public class Main()
{
public Main()
{
JMFinit.main(null);
JMFPropertiesGen.main(null);
Registry.main(null);
RegistryGen.main(new String[] {
new File(".").getAbsolutePath(),
"registrylib"
});
}
}
Run Code Online (Sandbox Code Playgroud)
该jmf.properties文件需要与具有您的 …
我想用Java生成视频的缩略图预览.我主要是JMF和视频操作疏远了.
基本思想是访问.mp3文件并通过RTP流将其发送给其他想要播放该歌曲的客户端.
这是RTPServer.java,我在网上找到并根据自己的喜好进行了修改.
__CODE__在__CODE__窗口上获取整个屏幕的设备上下文,并可以通过调用来跟进__CODE__:
package server;
import java.net.InetAddress;
import javax.media.rtp.*;
import javax.media.rtp.rtcp.*;
import javax.media.*;
import javax.media.protocol.*;
import javax.media.control.*;
public class RTPServer implements ControllerListener, Runnable {
private boolean realized = false;
private boolean configured = false;
private String ipAddress;
Processor p;
MediaLocator src;
public static void main (String[] args) {
RTPServer rtp = new RTPServer("192.168.1.101", "04 - Blue.mp3");
Thread t = new Thread(rtp);
t.start();
}
public RTPServer(String ip, String song) {
ipAddress = ip;
String srcFile = …Run Code Online (Sandbox Code Playgroud) 我创建了一个Maven项目并添加了我需要的依赖项(jar文件); 然而,netbeans说仍然无法找到它.
特别是在我的情况下,我将jmf-2.1.1e.jar文件添加到我的依赖项文件夹中.当我回到我的程序时,它仍然给我编译错误,它无法找到javax.media包.
JMF很旧,并且不能正确支持很多编解码器.这些天我在背景中使用FFMPEG,但是我想切换到本机java解决方案(如果存在),是否有人知道当前具有媒体操作功能的开源Java项目?
我正在考虑创建一个用java控制集成网络摄像头的项目.
我试过搜索,发现我们需要使用JMF来做这种事情.但是我找不到任何从头开始解释JMF的好书或书籍.