VLCJ JPanel播放视频流预览

时间:2013-10-02 22:06:47

标签: linux libav vlcj

这是我第三次也是最后一次尝试在StackOverflow上提问,我的问题方式非常具体。

我有一个Java应用程序,它将使用libx264对桌面进行编码,然后使用RTMP将其流式传输到twitch.tv。我的问题是我想预览流,我发现这样做的最好方法是将vlcj视频播放器添加到jpanel。这已经完成了。

但是我不能做的是:将流发送到Twitch,然后发送到屏幕。然后让屏幕选择该流,然后显示它。

流光器是avconv,用于libav。 (FFmpeg但是对于ubuntu) 用于加载它的Bash代码:

`#! /bin/bash
clear

INRES="$1"
OUTRES="$2"
FPS="$3"
QUAL="$4"

STREAM="$5"

avconv \
-f x11grab -s $INRES -r $FPS -i :0.0 -qcomp 1.0 \
-f alsa -ac 2 -i pulse \
-vcodec libx264 -s $OUTRES -preset $QUAL -g 2 \
-acodec libmp3lame -ar 44100 -threads 6 -q:a 3 -b:a 712000 -bufsize 512k \
-f flv $STREAM`

vlcj面板甚至可以观看youtube视频或抽搐视频,但我希望它具有低延迟。

感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

vlcj测试中的这个示例源流RTP并同时在JFrame中显示视频。

https://github.com/caprica/vlcj/blob/vlcj-2.0/src/test/java/uk/co/caprica/vlcj/test/streaming/StreamRtpDuplicate.java

您应该能够根据自己的特定需求调整该示例,例如:如果您使用不同的协议流式传输。

关键是在播放媒体时设置正确的vlc“sout”流输出选项,特别是将输出“复制”到“显示”:

:sout=#duplicate{dst=display,dst=rtp{dst=230.0.0.1,port=5555,mux=ts}}