Java 使用vlcj的RTSP音频流播放速度

Java 使用vlcj的RTSP音频流播放速度,java,libvlc,vlcj,Java,Libvlc,Vlcj,是否有任何方法或可能的解决方法来设置vlcj中RTSP音频流的播放速度?我面临的问题是,libvlc只能处理流上2倍、3倍、4倍的速率,我找不到解决方案 我的流提供程序是live555媒体服务器,它通过k8s pod的tcp支持多个客户端。其他媒体播放器(如smplayer)可以在更快和更慢的范围内以不同的速度正确播放我的流。对于播放速度,LibVLC API中唯一可用的选项是: libvlc_media_player_set_rate(mp, rate); 这在vlcj中显示如下: medi

是否有任何方法或可能的解决方法来设置vlcj中RTSP音频流的播放速度?我面临的问题是,libvlc只能处理流上2倍、3倍、4倍的速率,我找不到解决方案


我的流提供程序是live555媒体服务器,它通过k8s pod的tcp支持多个客户端。其他媒体播放器(如smplayer)可以在更快和更慢的范围内以不同的速度正确播放我的流。

对于播放速度,LibVLC API中唯一可用的选项是:

libvlc_media_player_set_rate(mp, rate);
这在vlcj中显示如下:

mediaPlayer.controls().setRate(rate);
你可以使用分数,所以0.5是半速,1.25,1.5等等都可以


这通常适用于媒体播放,但我不知道这是否适用于使用live555的RTSP的特定情况—要么有效,要么无效,没有其他选择。

我发现罪魁祸首实际上是媒体服务器。它似乎只支持整个值速率设置(2x、3x…32x)

“正在工作”的玩家是错误的,因为他们在客户端处理速度,这就是为什么他们可以工作。但正如您可能知道的,这种方法对性能有很大影响

通过使用wireshark,可以清楚地看到vlc试图发送
Scale
标题中的速率值,以请求服务器加快/减慢播放速度,但它会以舍入设置进行响应(如果发送了1,5,则回答为2)。所以我认为libvlc不支持它是错误的

其他玩家不向服务器传送速率设置


谢谢。我说的负片是指播放速度较慢,但我不太清楚,对不起。我知道速率设置,它在基于文件的回放中就像一个符咒。它部分用于流,仅支持2x、3x、4x速率。这就是为什么我拼命寻找一种解决方法,将整个可能的速率范围应用到我的流播放中。很不幸,我不认为你想用vlcj/LibVLC实现什么。也许这是Live555的限制,但我不知道哦,但我看到你提到其他媒体播放器的工作,所以不是这样。