avtransmit2.java,运行libjitsi示例需要帮助

我试图用LijiTSI流一些音频,但我不能让它工作。我在10号窗口。以下是我所做的:

作为maven项目导入eclipse。一切都很好。

我最终意识到(通过查看ant构建文件)我需要一些本地lib,所以我在

/lib/native

java.library.path

.

我在跑步

AVTransmit2

具有

--local-port-base=5100 --remote-host=localhost --remote-port-base=5200

AVReceive2

具有

--local-port-base=5200 --remote-host=localhost --remote-port-base=5100

.

当我运行任何一个文件时,都会出现类似的错误。我首先看到

WARNING: Failed to initialize org.jitsi.impl.neomedia.device.DirectShowSystem

java.lang.reflect.UndeclaredThrowableException

at org.jitsi.impl.neomedia.device.DeviceSystem.invokeDeviceSystemInitialize(DeviceSystem.java:441)

...

at org.jitsi.service.libjitsi.LibJitsi.getMediaService(LibJitsi.java:124)

at org.jitsi.examples.AVTransmit2.start(AVTransmit2.java:104)

at org.jitsi.examples.AVTransmit2.main(AVTransmit2.java:359)

Caused by: java.lang.UnsatisfiedLinkError: org.jitsi.impl.neomedia.codec.FFmpeg.av_get_pix_fmt(Ljava/lang/String;)I

at org.jitsi.impl.neomedia.codec.FFmpeg.av_get_pix_fmt(Native Method)

...

后来在日志里我看到

WARNING: Failed to initialize org.jitsi.impl.neomedia.device.DirectShowSystem

java.lang.reflect.UndeclaredThrowableException

at org.jitsi.impl.neomedia.device.DeviceSystem.invokeDeviceSystemInitialize(DeviceSystem.java:441)

at org.jitsi.impl.neomedia.device.DeviceSystem.invokeDeviceSystemInitialize(DeviceSystem.java:348)

at org.jitsi.impl.neomedia.device.DeviceSystem.(DeviceSystem.java:493)

at org.jitsi.impl.neomedia.device.DeviceSystem.(DeviceSystem.java:475)

at org.jitsi.impl.neomedia.device.DirectShowSystem.(DirectShowSystem.java:61)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at java.lang.Class.newInstance(Class.java:442)

at org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSystem.java:288)

at org.jitsi.impl.neomedia.device.DeviceSystem.initializeDeviceSystems(DeviceSystem.java:230)

at org.jitsi.impl.neomedia.MediaServiceImpl.getDevices(MediaServiceImpl.java:577)

at org.jitsi.impl.neomedia.MediaServiceImpl.getDefaultDevice(MediaServiceImpl.java:500)

at org.jitsi.examples.AVTransmit2.start(AVTransmit2.java:119)

at org.jitsi.examples.AVTransmit2.main(AVTransmit2.java:359)

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.jitsi.impl.neomedia.jmfext.media.protocol.directshow.DataSource

at org.jitsi.impl.neomedia.device.DirectShowSystem.doInitialize(DirectShowSystem.java:97)

at org.jitsi.impl.neomedia.device.DeviceSystem.initialize(DeviceSystem.java:642)

at org.jitsi.impl.neomedia.device.DeviceSystem$1.run(DeviceSystem.java:393)

Exception in thread "main" java.lang.IllegalArgumentException: direction

at org.jitsi.service.neomedia.AbstractMediaStream.assertDirection(AbstractMediaStream.java:105)

at org.jitsi.impl.neomedia.MediaStreamImpl.setDirection(MediaStreamImpl.java:2831)

at org.jitsi.examples.AVTransmit2.start(AVTransmit2.java:128)

at org.jitsi.examples.AVTransmit2.main(AVTransmit2.java:359)

因为在未满足的链接错误中看到了“ffmpeg”,所以我尝试从

https://ffmpeg.zeranoe.com/builds/win64/shared/ffmpeg-4.1-win64-shared.zip

. 我之所以选择共享的,是因为它有链接jni接口所需的dll。我将ffmpeg安装的bin文件夹添加到java.library.path中,但没有joy-same错误。似乎他们的安装程序并没有“安装”任何东西——他们只是将文件解压缩到磁盘上。

从错误堆栈中,我猜我不知何故丢失了DirectShow所需的一些本机库,但我无法确定它们应该是什么。

有人能让这些例子运行吗?我需要安装什么东西才能让它工作吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值